From gerrit-no-reply at lists.osmocom.org Sat Jun 1 09:46:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 09:46:18 +0000 Subject: Change in ...libosmocore[master]: lapdm: Don't truncate L3 payload at 200 bytes length Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14317 Change subject: lapdm: Don't truncate L3 payload at 200 bytes length ...................................................................... lapdm: Don't truncate L3 payload at 200 bytes length 3GPP TS 04.06 is quite clear that the [segmented] L3 payload can be as long as 251 bytes. Our libosmocore lapdm implementation truncated already at 200 bytes :( Change-Id: I6769986f27dda1d429ed7b2e32c36d34663acba9 Closes: OS#4035 --- M src/gsm/lapdm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/17/14317/1 diff --git a/src/gsm/lapdm.c b/src/gsm/lapdm.c index d76175b..f1651d6 100644 --- a/src/gsm/lapdm.c +++ b/src/gsm/lapdm.c @@ -136,7 +136,7 @@ { memset(dl, 0, sizeof(*dl)); dl->entity = entity; - lapd_dl_init(&dl->dl, 1, 8, 200); + lapd_dl_init(&dl->dl, 1, 8, 251); /* Section 5.8.5 of TS 04.06 */ dl->dl.reestablish = 0; /* GSM uses no reestablish */ dl->dl.send_ph_data_req = lapdm_send_ph_data_req; dl->dl.send_dlsap = send_rslms_dlsap; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6769986f27dda1d429ed7b2e32c36d34663acba9 Gerrit-Change-Number: 14317 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 12:00:17 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 12:00:17 +0000 Subject: Change in ...libosmocore[master]: lapdm: Don't truncate L3 payload at 200 bytes length In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14317 ) Change subject: lapdm: Don't truncate L3 payload at 200 bytes length ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6769986f27dda1d429ed7b2e32c36d34663acba9 Gerrit-Change-Number: 14317 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sat, 01 Jun 2019 12:00:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 12:04:40 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 12:04:40 +0000 Subject: Change in ...libosmocore[master]: socket.c: fix Doxygen doc for osmo_sock_unix_init_ofd() Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14318 Change subject: socket.c: fix Doxygen doc for osmo_sock_unix_init_ofd() ...................................................................... socket.c: fix Doxygen doc for osmo_sock_unix_init_ofd() One typo s/optionall/optionally/, and a few incorrect references. Change-Id: Iab42aa376b5cf4cf36413fede46e001c6b2d1525 --- M src/socket.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/18/14318/1 diff --git a/src/socket.c b/src/socket.c index 614ad36..37976e2 100644 --- a/src/socket.c +++ b/src/socket.c @@ -688,8 +688,8 @@ * \param[in] flags flags like \ref OSMO_SOCK_F_CONNECT * \returns socket fd on success; negative on error * - * This function creates (and optionall binds/connects) a socket using - * \ref osmo_sock_unix_init, but also fills the \a ofd structure. + * This function creates (and optionally binds/connects) a socket + * using osmo_sock_unix_init, but also fills the ofd structure. */ int osmo_sock_unix_init_ofd(struct osmo_fd *ofd, uint16_t type, uint8_t proto, const char *socket_path, unsigned int flags) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iab42aa376b5cf4cf36413fede46e001c6b2d1525 Gerrit-Change-Number: 14318 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 12:31:15 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 12:31:15 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: vty: Require ggsn param in cmd In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14298 ) Change subject: ggsn: vty: Require ggsn param in cmd ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/14298/2/ggsn/ggsn_vty.c File ggsn/ggsn_vty.c: https://gerrit.osmocom.org/#/c/14298/2/ggsn/ggsn_vty.c at 767 PS2, Line 767: ggsn NAME I think we should add a hidden / deprecated alias, because this change breaks backward compatibility. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I8357e20076348c8ded5e9f5b8e7252566b0fbfea Gerrit-Change-Number: 14298 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sat, 01 Jun 2019 12:31:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 12:33:39 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 12:33:39 +0000 Subject: Change in ...osmo-ggsn[master]: sgsnemu: Replace old API pdp_newpdp with new one provided by libgtp In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14299 ) Change subject: sgsnemu: Replace old API pdp_newpdp with new one provided by libgtp ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I9742b82c382ae2e63f8aff4c5c32e2450059082b Gerrit-Change-Number: 14299 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sat, 01 Jun 2019 12:33: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 1 12:34:25 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 12:34:25 +0000 Subject: Change in ...osmo-ggsn[master]: cosmetic: gtp.h: Remove trailing whitespaces In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14295 ) Change subject: cosmetic: gtp.h: Remove trailing whitespaces ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I60f8cf5e36bcef767f90b150a488a800445bf744 Gerrit-Change-Number: 14295 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sat, 01 Jun 2019 12:34:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 14:06:30 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 14:06:30 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: introduce TC_ho_rach() for handover RACH In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14291 ) Change subject: BTS_Tests.ttcn: introduce TC_ho_rach() for handover RACH ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/14291/1/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/#/c/14291/1/bts/BTS_Tests.ttcn at 1521 PS1, Line 1521: tr_RSL_CHAN_RQD Oh, I guess we need to expect HANDover DETect here. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If2e8d9c9947823df62f4bcc9a7fcd20734ff7858 Gerrit-Change-Number: 14291 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sat, 01 Jun 2019 14:06:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 16:28:39 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 16:28:39 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: dropping Tx bursts is a noticeable event Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14319 Change subject: osmo-bts-trx/trx_if.c: dropping Tx bursts is a noticeable event ...................................................................... osmo-bts-trx/trx_if.c: dropping Tx bursts is a noticeable event Change-Id: Ia954b797a9bb90660b6548ec0ffb218a1dcff37a --- M src/osmo-bts-trx/trx_if.c 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/19/14319/1 diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 8914557..ec879c7 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -688,8 +688,7 @@ if (transceiver_available && llist_empty(&l1h->trx_ctrl_list)) { send(l1h->trx_ofd_data.fd, buf, nbits + 6, 0); } else - LOGP(DTRX, LOGL_DEBUG, "Ignoring TX data, transceiver " - "offline.\n"); + LOGP(DTRX, LOGL_ERROR, "Ignoring TX data, transceiver offline.\n"); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia954b797a9bb90660b6548ec0ffb218a1dcff37a Gerrit-Change-Number: 14319 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 16:28:40 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 16:28:40 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/l1_if.h: drop unused ho_rach_detect from trx_l1h Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14320 Change subject: osmo-bts-trx/l1_if.h: drop unused ho_rach_detect from trx_l1h ...................................................................... osmo-bts-trx/l1_if.h: drop unused ho_rach_detect from trx_l1h Change-Id: I90b6d7fb1bb7ba2f8b1f500043635b0ae5cb4495 --- M src/osmo-bts-trx/l1_if.h 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/20/14320/1 diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index 165f9d8..9c95c53 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -59,7 +59,6 @@ /* transceiver config */ struct trx_config config; - uint8_t ho_rach_detect[TRX_NR_TS][TS_MAX_LCHAN]; struct l1sched_trx l1s; }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I90b6d7fb1bb7ba2f8b1f500043635b0ae5cb4495 Gerrit-Change-Number: 14320 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 16:28:40 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 16:28:40 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts/scheduler.h: cosmetic: use bool for ho_rach_detect Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14321 Change subject: osmo-bts/scheduler.h: cosmetic: use bool for ho_rach_detect ...................................................................... osmo-bts/scheduler.h: cosmetic: use bool for ho_rach_detect Change-Id: Id357e4ed38cbdca2082322da12b93d556056e916 --- M include/osmo-bts/scheduler.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/21/14321/1 diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index f9d9962..2906c6e 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -122,7 +122,7 @@ } meas; /* handover */ - uint8_t ho_rach_detect; /* if rach detection is on */ + bool ho_rach_detect; /* if rach detection is on */ }; struct l1sched_ts { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id357e4ed38cbdca2082322da12b93d556056e916 Gerrit-Change-Number: 14321 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 16:28:40 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 16:28:40 +0000 Subject: Change in ...osmo-bts[master]: common/scheduler.c: refactor description of TRXC_* lchans Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14322 Change subject: common/scheduler.c: refactor description of TRXC_* lchans ...................................................................... common/scheduler.c: refactor description of TRXC_* lchans Let's avoid fancy alignment in the description of logical channels for the benefits of having better readability, the ability to add more comments and fields without making it look ugly. Get rid of value-string array 'trx_chan_type_names', since each logical channel has its name defined in 'trx_chan_desc'. Get rid of field 'chan' of 'trx_lchan_desc' structure since it's not used anywhere, and not actually needed because the position of each lchan description is defined by its TRXC_* type. Replace both 'pdch' and 'auto_active' fields with more generic bitmask field called 'flags', and define the following flags: - TRX_CHAN_FLAG_AUTO_ACTIVE, - TRX_CHAN_FLAG_PDCH. Use RSL channel mode #defines from libosmogsm instead of having hard-coded numbers. This increases readability. As a bonus, let's add a human readable description to each lchan definition, so it can be printed in the VTY some day. Change-Id: I9d5d49ec569f133d37b8164b22607d4700474315 Backported from: I2fc61e1cdca4690a34e2861b9ee3b7c64ea64843 I7ab4958801b3422973b67ff0452b90afa8a3f501 --- M include/osmo-bts/scheduler.h M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c 3 files changed, 466 insertions(+), 107 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/22/14322/1 diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 2906c6e..c862307 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -5,6 +5,15 @@ #include +/* Whether a logical channel must be activated automatically */ +#define TRX_CHAN_FLAG_AUTO_ACTIVE (1 << 0) +/* Whether a logical channel belongs to PDCH (packet switched data) */ +#define TRX_CHAN_FLAG_PDCH (1 << 1) + +/* FIXME: we should actually activate 'auto-active' channels */ +#define TRX_CHAN_IS_ACTIVE(state, chan) \ + (trx_chan_desc[chan].flags & TRX_CHAN_FLAG_AUTO_ACTIVE || (state)->active) + /* These types define the different channels on a multiframe. * Each channel has queues and can be activated individually. */ @@ -51,8 +60,6 @@ _TRX_CHAN_MAX }; -extern const struct value_string trx_chan_type_names[]; - #define GSM_BURST_LEN 148 #define GPRS_BURST_LEN GSM_BURST_LEN #define EGPRS_BURST_LEN 444 diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index dbd9319..505f4d7 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -19,24 +19,22 @@ int8_t rssi, int16_t toa256); struct trx_chan_desc { - /*! \brief Is this on a PDCH (PS) ? */ - int pdch; - /*! \brief TRX Channel Type */ - enum trx_chan_type chan; + /*! \brief Human-readable name */ + const char *name; + /*! \brief Human-readable description */ + const char *desc; /*! \brief Channel Number (like in RSL) */ uint8_t chan_nr; /*! \brief Link ID (like in RSL) */ uint8_t link_id; - /*! \brief Human-readable name */ - const char *name; /*! \brief function to call when we want to generate RTS.req to L2 */ trx_sched_rts_func *rts_fn; /*! \brief function to call when DATA.req received from L2 */ trx_sched_dl_func *dl_fn; /*! \brief function to call when burst received from PHY */ trx_sched_ul_func *ul_fn; - /*! \brief is this channel automatically active at start? */ - int auto_active; + /*! \brief channel flags, see TRX_CHAN_FLAG_* */ + uint8_t flags; }; extern const struct trx_chan_desc trx_chan_desc[_TRX_CHAN_MAX]; diff --git a/src/common/scheduler.c b/src/common/scheduler.c index f705ddf..6ad2e1f 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -29,6 +29,8 @@ #include #include #include + +#include #include #include @@ -111,95 +113,448 @@ 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, }; -/* - * subchannel description structure - */ - +/* Logical channel (TRXC_*) description */ const struct trx_chan_desc trx_chan_desc[_TRX_CHAN_MAX] = { - /* is_pdch chan_type chan_nr link_id name rts_fn dl_fn ul_fn auto_active */ - { 0, TRXC_IDLE, 0, LID_DEDIC, "IDLE", NULL, tx_idle_fn, NULL, 1 }, - { 0, TRXC_FCCH, 0, LID_DEDIC, "FCCH", NULL, tx_fcch_fn, NULL, 1 }, - { 0, TRXC_SCH, 0, LID_DEDIC, "SCH", NULL, tx_sch_fn, NULL, 1 }, - { 0, TRXC_BCCH, 0x80, LID_DEDIC, "BCCH", rts_data_fn, tx_data_fn, NULL, 1 }, - { 0, TRXC_RACH, 0x88, LID_DEDIC, "RACH", NULL, NULL, rx_rach_fn, 1 }, - { 0, TRXC_CCCH, 0x90, LID_DEDIC, "CCCH", rts_data_fn, tx_data_fn, NULL, 1 }, - { 0, TRXC_TCHF, 0x08, LID_DEDIC, "TCH/F", rts_tchf_fn, tx_tchf_fn, rx_tchf_fn, 0 }, - { 0, TRXC_TCHH_0, 0x10, LID_DEDIC, "TCH/H(0)", rts_tchh_fn, tx_tchh_fn, rx_tchh_fn, 0 }, - { 0, TRXC_TCHH_1, 0x18, LID_DEDIC, "TCH/H(1)", rts_tchh_fn, tx_tchh_fn, rx_tchh_fn, 0 }, - { 0, TRXC_SDCCH4_0, 0x20, LID_DEDIC, "SDCCH/4(0)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SDCCH4_1, 0x28, LID_DEDIC, "SDCCH/4(1)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SDCCH4_2, 0x30, LID_DEDIC, "SDCCH/4(2)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SDCCH4_3, 0x38, LID_DEDIC, "SDCCH/4(3)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SDCCH8_0, 0x40, LID_DEDIC, "SDCCH/8(0)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SDCCH8_1, 0x48, LID_DEDIC, "SDCCH/8(1)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SDCCH8_2, 0x50, LID_DEDIC, "SDCCH/8(2)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SDCCH8_3, 0x58, LID_DEDIC, "SDCCH/8(3)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SDCCH8_4, 0x60, LID_DEDIC, "SDCCH/8(4)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SDCCH8_5, 0x68, LID_DEDIC, "SDCCH/8(5)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SDCCH8_6, 0x70, LID_DEDIC, "SDCCH/8(6)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SDCCH8_7, 0x78, LID_DEDIC, "SDCCH/8(7)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SACCHTF, 0x08, LID_SACCH, "SACCH/TF", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SACCHTH_0, 0x10, LID_SACCH, "SACCH/TH(0)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SACCHTH_1, 0x18, LID_SACCH, "SACCH/TH(1)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SACCH4_0, 0x20, LID_SACCH, "SACCH/4(0)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SACCH4_1, 0x28, LID_SACCH, "SACCH/4(1)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SACCH4_2, 0x30, LID_SACCH, "SACCH/4(2)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SACCH4_3, 0x38, LID_SACCH, "SACCH/4(3)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SACCH8_0, 0x40, LID_SACCH, "SACCH/8(0)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SACCH8_1, 0x48, LID_SACCH, "SACCH/8(1)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SACCH8_2, 0x50, LID_SACCH, "SACCH/8(2)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SACCH8_3, 0x58, LID_SACCH, "SACCH/8(3)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SACCH8_4, 0x60, LID_SACCH, "SACCH/8(4)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SACCH8_5, 0x68, LID_SACCH, "SACCH/8(5)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SACCH8_6, 0x70, LID_SACCH, "SACCH/8(6)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_SACCH8_7, 0x78, LID_SACCH, "SACCH/8(7)", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 1, TRXC_PDTCH, 0xc0, LID_DEDIC, "PDTCH", rts_data_fn, tx_pdtch_fn, rx_pdtch_fn, 0 }, - { 1, TRXC_PTCCH, 0xc0, LID_DEDIC, "PTCCH", rts_data_fn, tx_data_fn, rx_data_fn, 0 }, - { 0, TRXC_CBCH, 0xc8, LID_DEDIC, "CBCH", rts_data_fn, tx_data_fn, NULL, 1 }, -}; + [TRXC_IDLE] = { + .name = "IDLE", + .desc = "Idle channel", -const struct value_string trx_chan_type_names[] = { - OSMO_VALUE_STRING(TRXC_IDLE), - OSMO_VALUE_STRING(TRXC_FCCH), - OSMO_VALUE_STRING(TRXC_SCH), - OSMO_VALUE_STRING(TRXC_BCCH), - OSMO_VALUE_STRING(TRXC_RACH), - OSMO_VALUE_STRING(TRXC_CCCH), - OSMO_VALUE_STRING(TRXC_TCHF), - OSMO_VALUE_STRING(TRXC_TCHH_0), - OSMO_VALUE_STRING(TRXC_TCHH_1), - OSMO_VALUE_STRING(TRXC_SDCCH4_0), - OSMO_VALUE_STRING(TRXC_SDCCH4_1), - OSMO_VALUE_STRING(TRXC_SDCCH4_2), - OSMO_VALUE_STRING(TRXC_SDCCH4_3), - OSMO_VALUE_STRING(TRXC_SDCCH8_0), - OSMO_VALUE_STRING(TRXC_SDCCH8_1), - OSMO_VALUE_STRING(TRXC_SDCCH8_2), - OSMO_VALUE_STRING(TRXC_SDCCH8_3), - OSMO_VALUE_STRING(TRXC_SDCCH8_4), - OSMO_VALUE_STRING(TRXC_SDCCH8_5), - OSMO_VALUE_STRING(TRXC_SDCCH8_6), - OSMO_VALUE_STRING(TRXC_SDCCH8_7), - OSMO_VALUE_STRING(TRXC_SACCHTF), - OSMO_VALUE_STRING(TRXC_SACCHTH_0), - OSMO_VALUE_STRING(TRXC_SACCHTH_1), - OSMO_VALUE_STRING(TRXC_SACCH4_0), - OSMO_VALUE_STRING(TRXC_SACCH4_1), - OSMO_VALUE_STRING(TRXC_SACCH4_2), - OSMO_VALUE_STRING(TRXC_SACCH4_3), - OSMO_VALUE_STRING(TRXC_SACCH8_0), - OSMO_VALUE_STRING(TRXC_SACCH8_1), - OSMO_VALUE_STRING(TRXC_SACCH8_2), - OSMO_VALUE_STRING(TRXC_SACCH8_3), - OSMO_VALUE_STRING(TRXC_SACCH8_4), - OSMO_VALUE_STRING(TRXC_SACCH8_5), - OSMO_VALUE_STRING(TRXC_SACCH8_6), - OSMO_VALUE_STRING(TRXC_SACCH8_7), - OSMO_VALUE_STRING(TRXC_PDTCH), - OSMO_VALUE_STRING(TRXC_PTCCH), - OSMO_VALUE_STRING(TRXC_CBCH), - OSMO_VALUE_STRING(_TRX_CHAN_MAX), - { 0, NULL } + /* 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 */ + .desc = "Frequency correction channel", + + /* Tx only, frequency correction bursts */ + .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, + .dl_fn = tx_fcch_fn, + }, + [TRXC_SCH] = { + .name = "SCH", /* 3GPP TS 05.02, section 3.3.2.2 */ + .desc = "Synchronization channel", + + /* Tx only, synchronization bursts */ + .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, + .dl_fn = tx_sch_fn, + }, + [TRXC_BCCH] = { + .name = "BCCH", /* 3GPP TS 05.02, section 3.3.2.3 */ + .desc = "Broadcast control channel", + .chan_nr = RSL_CHAN_BCCH, + + /* Tx only, xCCH convolutional coding (3GPP TS 05.03, section 4.4), + * regular interleaving (3GPP TS 05.02, clause 7, table 3): + * a L2 frame is interleaved over 4 consecutive bursts. */ + .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + }, + [TRXC_RACH] = { + .name = "RACH", /* 3GPP TS 05.02, section 3.3.3.1 */ + .desc = "Random access channel", + .chan_nr = RSL_CHAN_RACH, + + /* Rx only, RACH convolutional coding (3GPP TS 05.03, section 4.6). */ + .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, + .ul_fn = rx_rach_fn, + }, + [TRXC_CCCH] = { + .name = "CCCH", /* 3GPP TS 05.02, section 3.3.3.1 */ + .desc = "Common control channel", + .chan_nr = RSL_CHAN_PCH_AGCH, + + /* Tx only, xCCH convolutional coding (3GPP TS 05.03, section 4.4), + * regular interleaving (3GPP TS 05.02, clause 7, table 3): + * a L2 frame is interleaved over 4 consecutive bursts. */ + .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + }, + [TRXC_TCHF] = { + .name = "TCH/F", /* 3GPP TS 05.02, section 3.2 */ + .desc = "Full Rate traffic channel", + .chan_nr = RSL_CHAN_Bm_ACCHs, + .link_id = LID_DEDIC, + + /* Rx and Tx, multiple convolutional coding types (3GPP TS 05.03, + * chapter 3), block diagonal interleaving (3GPP TS 05.02, clause 7): + * + * - a traffic frame is interleaved over 8 consecutive bursts + * using the even numbered bits of the first 4 bursts + * and odd numbered bits of the last 4 bursts; + * - a FACCH/F frame 'steals' (replaces) one traffic frame, + * interleaving is done in the same way. */ + .rts_fn = rts_tchf_fn, + .dl_fn = tx_tchf_fn, + .ul_fn = rx_tchf_fn, + }, + [TRXC_TCHH_0] = { + .name = "TCH/H(0)", /* 3GPP TS 05.02, section 3.2 */ + .desc = "Half Rate traffic channel (sub-channel 0)", + .chan_nr = RSL_CHAN_Lm_ACCHs + (0 << 3), + .link_id = LID_DEDIC, + + /* Rx and Tx, multiple convolutional coding types (3GPP TS 05.03, + * chapter 3), block diagonal interleaving (3GPP TS 05.02, clause 7): + * + * - a traffic frame is interleaved over 6 consecutive bursts + * using the even numbered bits of the first 2 bursts, + * all bits of the middle two 2 bursts, + * and odd numbered bits of the last 2 bursts; + * - a FACCH/H frame 'steals' (replaces) two traffic frames, + * interleaving is done over 4 consecutive bursts, + * the same as given for a TCH/FS. */ + .rts_fn = rts_tchh_fn, + .dl_fn = tx_tchh_fn, + .ul_fn = rx_tchh_fn, + }, + [TRXC_TCHH_1] = { + .name = "TCH/H(1)", /* 3GPP TS 05.02, section 3.2 */ + .desc = "Half Rate traffic channel (sub-channel 1)", + .chan_nr = RSL_CHAN_Lm_ACCHs + (1 << 3), + .link_id = LID_DEDIC, + + /* Same as for TRXC_TCHH_0, see above. */ + .rts_fn = rts_tchh_fn, + .dl_fn = tx_tchh_fn, + .ul_fn = rx_tchh_fn, + }, + [TRXC_SDCCH4_0] = { + .name = "SDCCH/4(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Stand-alone dedicated control channel (sub-channel 0)", + .chan_nr = RSL_CHAN_SDCCH4_ACCH + (0 << 3), + .link_id = LID_DEDIC, + + /* Same as for TRXC_BCCH (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SDCCH4_1] = { + .name = "SDCCH/4(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Stand-alone dedicated control channel (sub-channel 1)", + .chan_nr = RSL_CHAN_SDCCH4_ACCH + (1 << 3), + .link_id = LID_DEDIC, + + /* Same as for TRXC_BCCH (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SDCCH4_2] = { + .name = "SDCCH/4(2)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Stand-alone dedicated control channel (sub-channel 2)", + .chan_nr = RSL_CHAN_SDCCH4_ACCH + (2 << 3), + .link_id = LID_DEDIC, + + /* Same as for TRXC_BCCH (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SDCCH4_3] = { + .name = "SDCCH/4(3)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Stand-alone dedicated control channel (sub-channel 3)", + .chan_nr = RSL_CHAN_SDCCH4_ACCH + (3 << 3), + .link_id = LID_DEDIC, + + /* Same as for TRXC_BCCH (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SDCCH8_0] = { + .name = "SDCCH/8(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Stand-alone dedicated control channel (sub-channel 0)", + .chan_nr = RSL_CHAN_SDCCH8_ACCH + (0 << 3), + .link_id = LID_DEDIC, + + /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SDCCH8_1] = { + .name = "SDCCH/8(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Stand-alone dedicated control channel (sub-channel 1)", + .chan_nr = RSL_CHAN_SDCCH8_ACCH + (1 << 3), + .link_id = LID_DEDIC, + + /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SDCCH8_2] = { + .name = "SDCCH/8(2)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Stand-alone dedicated control channel (sub-channel 2)", + .chan_nr = RSL_CHAN_SDCCH8_ACCH + (2 << 3), + .link_id = LID_DEDIC, + + /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SDCCH8_3] = { + .name = "SDCCH/8(3)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Stand-alone dedicated control channel (sub-channel 3)", + .chan_nr = RSL_CHAN_SDCCH8_ACCH + (3 << 3), + .link_id = LID_DEDIC, + + /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SDCCH8_4] = { + .name = "SDCCH/8(4)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Stand-alone dedicated control channel (sub-channel 4)", + .chan_nr = RSL_CHAN_SDCCH8_ACCH + (4 << 3), + .link_id = LID_DEDIC, + + /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SDCCH8_5] = { + .name = "SDCCH/8(5)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Stand-alone dedicated control channel (sub-channel 5)", + .chan_nr = RSL_CHAN_SDCCH8_ACCH + (5 << 3), + .link_id = LID_DEDIC, + + /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SDCCH8_6] = { + .name = "SDCCH/8(6)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Stand-alone dedicated control channel (sub-channel 6)", + .chan_nr = RSL_CHAN_SDCCH8_ACCH + (6 << 3), + .link_id = LID_DEDIC, + + /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SDCCH8_7] = { + .name = "SDCCH/8(7)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Stand-alone dedicated control channel (sub-channel 7)", + .chan_nr = RSL_CHAN_SDCCH8_ACCH + (7 << 3), + .link_id = LID_DEDIC, + + /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SACCHTF] = { + .name = "SACCH/TF", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Slow TCH/F associated control channel", + .chan_nr = RSL_CHAN_Bm_ACCHs, + .link_id = LID_SACCH, + + /* Same as for TRXC_BCCH (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SACCHTH_0] = { + .name = "SACCH/TH(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Slow TCH/H associated control channel (sub-channel 0)", + .chan_nr = RSL_CHAN_Bm_ACCHs + (0 << 3), + .link_id = LID_SACCH, + + /* Same as for TRXC_BCCH (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SACCHTH_1] = { + .name = "SACCH/TH(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Slow TCH/H associated control channel (sub-channel 1)", + .chan_nr = RSL_CHAN_Bm_ACCHs + (1 << 3), + .link_id = LID_SACCH, + + /* Same as for TRXC_BCCH (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SACCH4_0] = { + .name = "SACCH/4(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Slow SDCCH/4 associated control channel (sub-channel 0)", + .chan_nr = RSL_CHAN_SDCCH4_ACCH + (0 << 3), + .link_id = LID_SACCH, + + /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SACCH4_1] = { + .name = "SACCH/4(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Slow SDCCH/4 associated control channel (sub-channel 1)", + .chan_nr = RSL_CHAN_SDCCH4_ACCH + (1 << 3), + .link_id = LID_SACCH, + + /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SACCH4_2] = { + .name = "SACCH/4(2)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Slow SDCCH/4 associated control channel (sub-channel 2)", + .chan_nr = RSL_CHAN_SDCCH4_ACCH + (2 << 3), + .link_id = LID_SACCH, + + /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SACCH4_3] = { + .name = "SACCH/4(3)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Slow SDCCH/4 associated control channel (sub-channel 3)", + .chan_nr = RSL_CHAN_SDCCH4_ACCH + (3 << 3), + .link_id = LID_SACCH, + + /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SACCH8_0] = { + .name = "SACCH/8(0)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Slow SDCCH/8 associated control channel (sub-channel 0)", + .chan_nr = RSL_CHAN_SDCCH8_ACCH + (0 << 3), + .link_id = LID_SACCH, + + /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SACCH8_1] = { + .name = "SACCH/8(1)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Slow SDCCH/8 associated control channel (sub-channel 1)", + .chan_nr = RSL_CHAN_SDCCH8_ACCH + (1 << 3), + .link_id = LID_SACCH, + + /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SACCH8_2] = { + .name = "SACCH/8(2)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Slow SDCCH/8 associated control channel (sub-channel 2)", + .chan_nr = RSL_CHAN_SDCCH8_ACCH + (2 << 3), + .link_id = LID_SACCH, + + /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SACCH8_3] = { + .name = "SACCH/8(3)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Slow SDCCH/8 associated control channel (sub-channel 3)", + .chan_nr = RSL_CHAN_SDCCH8_ACCH + (3 << 3), + .link_id = LID_SACCH, + + /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SACCH8_4] = { + .name = "SACCH/8(4)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Slow SDCCH/8 associated control channel (sub-channel 4)", + .chan_nr = RSL_CHAN_SDCCH8_ACCH + (4 << 3), + .link_id = LID_SACCH, + + /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SACCH8_5] = { + .name = "SACCH/8(5)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Slow SDCCH/8 associated control channel (sub-channel 5)", + .chan_nr = RSL_CHAN_SDCCH8_ACCH + (5 << 3), + .link_id = LID_SACCH, + + /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SACCH8_6] = { + .name = "SACCH/8(6)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Slow SDCCH/8 associated control channel (sub-channel 6)", + .chan_nr = RSL_CHAN_SDCCH8_ACCH + (6 << 3), + .link_id = LID_SACCH, + + /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_SACCH8_7] = { + .name = "SACCH/8(7)", /* 3GPP TS 05.02, section 3.3.4.1 */ + .desc = "Slow SDCCH/8 associated control channel (sub-channel 7)", + .chan_nr = RSL_CHAN_SDCCH8_ACCH + (7 << 3), + .link_id = LID_SACCH, + + /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_PDTCH] = { + .name = "PDTCH", /* 3GPP TS 05.02, sections 3.2.4, 3.3.2.4 */ + .desc = "Packet data traffic & control channel", + .chan_nr = RSL_CHAN_OSMO_PDCH, + + /* Rx and Tx, multiple coding schemes: CS-2..4 and MCS-1..9 (3GPP TS + * 05.03, chapter 5), regular interleaving as specified for xCCH. + * NOTE: the burst buffer is three times bigger because the + * payload of EDGE bursts is three times longer. */ + .flags = TRX_CHAN_FLAG_PDCH, + .rts_fn = rts_data_fn, + .dl_fn = tx_pdtch_fn, + .ul_fn = rx_pdtch_fn, + }, + [TRXC_PTCCH] = { + .name = "PTCCH", /* 3GPP TS 05.02, section 3.3.4.2 */ + .desc = "Packet Timing advance control channel", + .chan_nr = RSL_CHAN_OSMO_PDCH, + + /* Same as for TRXC_BCCH (xCCH), see above. */ + .flags = TRX_CHAN_FLAG_PDCH, + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + .ul_fn = rx_data_fn, + }, + [TRXC_CBCH] = { + /* TODO: distinguish CBCH on SDCCH/4 and SDCCH/8 */ + .name = "CBCH", /* 3GPP TS 05.02, section 3.3.5 */ + .desc = "Cell Broadcast channel", + .chan_nr = RSL_CHAN_OSMO_CBCH4, + + /* Tx only, same as for TRXC_BCCH (xCCH), see above. */ + .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, + .rts_fn = rts_data_fn, + .dl_fn = tx_data_fn, + }, }; /* @@ -311,7 +666,7 @@ "type %s is already disabled. If this happens in " "conjunction with PCU, increase 'rts-advance' by 5.\n", prim_fn, get_lchan_by_chan_nr(l1t->trx, chan_nr)->name, - get_value_string(trx_chan_type_names, chan)); + trx_chan_desc[chan].name); /* unlink and free message */ llist_del(&msg->list); msgb_free(msg); @@ -608,10 +963,10 @@ for (i = 0; i < _TRX_CHAN_MAX; i++) { struct l1sched_chan_state *chan_state; chan_state = &l1ts->chan_state[i]; - /* skip if pchan type does not match pdch flag */ - if ((trx_sched_multiframes[l1ts->mf_index].pchan - == GSM_PCHAN_PDCH) - != trx_chan_desc[i].pdch) + /* Skip if pchan type does not match pdch flag. + * FIXME: Is it possible at all? Clarify if so. */ + if ((trx_sched_multiframes[l1ts->mf_index].pchan == GSM_PCHAN_PDCH) + && !(trx_chan_desc[i].flags & TRX_CHAN_FLAG_PDCH)) continue; if (trx_chan_desc[i].chan_nr == (chan_nr & 0xf8) && trx_chan_desc[i].link_id == link_id) { @@ -727,7 +1082,7 @@ /* look for all matching chan_nr */ for (i = 0; i < _TRX_CHAN_MAX; i++) { /* skip if pchan type */ - if (trx_chan_desc[i].pdch) + if (trx_chan_desc[i].flags & TRX_CHAN_FLAG_PDCH) continue; if (trx_chan_desc[i].chan_nr == (chan_nr & 0xf8)) { chan_state = &l1ts->chan_state[i]; @@ -782,8 +1137,7 @@ return 0; /* check if channel is active */ - if (!trx_chan_desc[chan].auto_active - && !l1ts->chan_state[chan].active) + if (!TRX_CHAN_IS_ACTIVE(&l1ts->chan_state[chan], chan)) return -EINVAL; return func(l1t, tn, fn, frame->dl_chan); @@ -816,7 +1170,7 @@ l1cs = &l1ts->chan_state[chan]; /* check if channel is active */ - if (!trx_chan_desc[chan].auto_active && !l1cs->active) { + if (!TRX_CHAN_IS_ACTIVE(l1cs, chan)) { if (nbits) *nbits = GSM_BURST_LEN; goto no_data; @@ -984,7 +1338,7 @@ func = trx_chan_desc[chan].ul_fn; /* check if channel is active */ - if (!trx_chan_desc[chan].auto_active && !l1cs->active) + if (!TRX_CHAN_IS_ACTIVE(l1cs, chan)) return -EINVAL; /* omit bursts which have no handler, like IDLE bursts */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9d5d49ec569f133d37b8164b22607d4700474315 Gerrit-Change-Number: 14322 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 16:28:41 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 16:28:41 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: fix handover RACH handling Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14323 Change subject: osmo-bts-trx/scheduler: fix handover RACH handling ...................................................................... osmo-bts-trx/scheduler: fix handover RACH handling Change-Id: I78fa77799f5184cc96a28856eead8b296529c5d8 --- M src/common/scheduler.c M src/osmo-bts-trx/scheduler_trx.c 2 files changed, 12 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/23/14323/1 diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 6ad2e1f..caccda2 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1338,8 +1338,17 @@ func = trx_chan_desc[chan].ul_fn; /* check if channel is active */ - if (!TRX_CHAN_IS_ACTIVE(l1cs, chan)) - return -EINVAL; + if (!TRX_CHAN_IS_ACTIVE(l1cs, chan)) { + /* do we expect handover RACH? */ + if (!l1cs->ho_rach_detect) + return -EINVAL; + + /* Handover RACH can be initiated on any multi-frame slot (excluding TRXC_IDLE) + * regardless of the current logical channel type and the associated handler. + * TODO: it would be good to know whether it's an Access Burst or not. */ + func = trx_chan_desc[TRXC_RACH].ul_fn; + goto proc_burst; + } /* omit bursts which have no handler, like IDLE bursts */ if (!func) @@ -1366,6 +1375,7 @@ } } +proc_burst: /* put burst to function */ func(l1t, tn, fn, chan, bid, bits, nbits, rssi, toa256); diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index ade3cff..95292a5 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -881,10 +881,6 @@ uint16_t ber10k; int rc; - /* handle RACH, if handover RACH detection is turned on */ - if (chan_state->ho_rach_detect == 1) - return rx_rach_fn(l1t, tn, fn, chan, bid, bits, GSM_BURST_LEN, rssi, toa256); - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, "Received Data, bid=%u\n", bid); /* allocate burst memory, if not already */ @@ -1079,10 +1075,6 @@ struct gsm_lchan *lchan = get_lchan_by_chan_nr(l1t->trx, trx_chan_desc[chan].chan_nr | tn); - /* handle rach, if handover rach detection is turned on */ - if (chan_state->ho_rach_detect == 1) - return rx_rach_fn(l1t, tn, fn, chan, bid, bits, GSM_BURST_LEN, rssi, toa256); - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, "Received TCH/F, bid=%u\n", bid); /* allocate burst memory, if not already */ @@ -1260,10 +1252,6 @@ */ int fn_is_odd = (((fn + 26 - 10) % 26) >> 2) & 1; - /* handle RACH, if handover RACH detection is turned on */ - if (chan_state->ho_rach_detect == 1) - return rx_rach_fn(l1t, tn, fn, chan, bid, bits, GSM_BURST_LEN, rssi, toa256); - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, "Received TCH/H, bid=%u\n", bid); /* allocate burst memory, if not already */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I78fa77799f5184cc96a28856eead8b296529c5d8 Gerrit-Change-Number: 14323 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 16:54:09 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 16:54:09 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: fix handover RACH handling In-Reply-To: References: Message-ID: Vadim Yanitskiy has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14323 ) Change subject: osmo-bts-trx/scheduler: fix handover RACH handling ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I78fa77799f5184cc96a28856eead8b296529c5d8 Gerrit-Change-Number: 14323 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 18:49:05 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 18:49:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: introduce TC_ho_rach() for handover RACH In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14291 ) Change subject: BTS_Tests.ttcn: introduce TC_ho_rach() for handover RACH ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If2e8d9c9947823df62f4bcc9a7fcd20734ff7858 Gerrit-Change-Number: 14291 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sat, 01 Jun 2019 18:49:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 18:49:31 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 18:49:31 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: introduce TC_ho_rach() for handover RACH In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14291 ) Change subject: BTS_Tests.ttcn: introduce TC_ho_rach() for handover RACH ...................................................................... Patch Set 2: Verified+1 It works now! -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If2e8d9c9947823df62f4bcc9a7fcd20734ff7858 Gerrit-Change-Number: 14291 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sat, 01 Jun 2019 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 Sat Jun 1 19:03:23 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 19:03:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: introduce TC_ho_rach() for handover RACH In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14291 to look at the new patch set (#3). Change subject: BTS_Tests.ttcn: introduce TC_ho_rach() for handover RACH ...................................................................... BTS_Tests.ttcn: introduce TC_ho_rach() for handover RACH The idea of this test case (as can bee seen from its name) is to verify handover RACH detection. What we basically do is: 1. Activate a logical channel on the BTS side (HO_SYNC for now); 2. Switch the MS (e.g. trxcon) to that channel without waiting for Immediate Assignment and sending Access Burst; 3. Send an Access Burst on that channel using RA = HO_REF; 4. Wait for RSL HANDOver DETected from the BTS; 5. Release a dedicated connection. There is no way to verify if the Handover Reference received from the MS matches the one that was sent to the BTS. We can introduce a separate test case that would just send an Access Burst with RA != HO_REF. Change-Id: If2e8d9c9947823df62f4bcc9a7fcd20734ff7858 Depends on: (trxcon) Ia967820a536c99966ba2c60b63d2ea9edb093f46 --- M bts/BTS_Tests.ttcn M library/RSL_Types.ttcn 2 files changed, 79 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/91/14291/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If2e8d9c9947823df62f4bcc9a7fcd20734ff7858 Gerrit-Change-Number: 14291 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 19:09:47 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 19:09:47 +0000 Subject: Change in ...osmo-bts[master]: common/rsl.c: RSL_IE_HANDO_REF is mandatory for handover CHAN ACT Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14324 Change subject: common/rsl.c: RSL_IE_HANDO_REF is mandatory for handover CHAN ACT ...................................................................... common/rsl.c: RSL_IE_HANDO_REF is mandatory for handover CHAN ACT According to 3GPP TS 48.058, section 8.4.1, the Handover Reference element must be included if channel activation type is 'handover'. Let's properly reject CHANnel ACTivation messages with missing RSL_IE_HANDO_REF. Otherwise such requests are misinterpreted as regular (non-handover) channel requests. Found using TC_ho_rach() TTCN-3 test case. Change-Id: I9c50e1dbeb54c5470560adcdfb2bdf5abbe47993 --- M src/common/rsl.c 1 file changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/24/14324/1 diff --git a/src/common/rsl.c b/src/common/rsl.c index b96182f..410b38a 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -1090,9 +1090,13 @@ memset(&lchan->encr, 0, sizeof(lchan->encr)); /* 9.3.9 Handover Reference */ - if ((type == RSL_ACT_INTER_ASYNC || - type == RSL_ACT_INTER_SYNC) && - TLVP_PRES_LEN(&tp, RSL_IE_HANDO_REF, 1)) { + if ((type == RSL_ACT_INTER_ASYNC || type == RSL_ACT_INTER_SYNC)) { + /* According to 8.4.1, the Handover Reference element is included + * if activation type is handover. Assuming it's mandatory. */ + if (!TLVP_PRES_LEN(&tp, RSL_IE_HANDO_REF, 1)) { + LOGPLCHAN(lchan, DRSL, LOGL_NOTICE, "Missing Handover Reference IE\n"); + return rsl_tx_chan_act_nack(lchan, RSL_ERR_MAND_IE_ERROR); + } lchan->ho.active = HANDOVER_ENABLED; lchan->ho.ref = *TLVP_VAL(&tp, RSL_IE_HANDO_REF); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9c50e1dbeb54c5470560adcdfb2bdf5abbe47993 Gerrit-Change-Number: 14324 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 19:16:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:16:49 +0000 Subject: Change in ...osmo-bts[master]: common/rsl.c: RSL_IE_HANDO_REF is mandatory for handover CHAN ACT In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14324 ) Change subject: common/rsl.c: RSL_IE_HANDO_REF is mandatory for handover CHAN ACT ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9c50e1dbeb54c5470560adcdfb2bdf5abbe47993 Gerrit-Change-Number: 14324 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sat, 01 Jun 2019 19:16:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 19:17:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:17:01 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: dropping Tx bursts is a noticeable event In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14319 ) Change subject: osmo-bts-trx/trx_if.c: dropping Tx bursts is a noticeable event ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia954b797a9bb90660b6548ec0ffb218a1dcff37a Gerrit-Change-Number: 14319 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sat, 01 Jun 2019 19:17:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 19:18:42 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:18:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: L1CTL_Types.ttcn: accept SacchL1Header in ts_L1CTL_DATA_REQ_SACCH In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14231 ) Change subject: L1CTL_Types.ttcn: accept SacchL1Header in ts_L1CTL_DATA_REQ_SACCH ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1ae948bd0314cdf15c21ce4b6346d5e32f1fcf95 Gerrit-Change-Number: 14231 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sat, 01 Jun 2019 19: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 Sat Jun 1 19:18:44 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:18:44 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: L1CTL_Types.ttcn: accept SacchL1Header in ts_L1CTL_DATA_REQ_SACCH In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14231 ) Change subject: L1CTL_Types.ttcn: accept SacchL1Header in ts_L1CTL_DATA_REQ_SACCH ...................................................................... L1CTL_Types.ttcn: accept SacchL1Header in ts_L1CTL_DATA_REQ_SACCH In BTS_Tests.ttcn we used to compose L1ctlDataReq manually. This can be done by ts_L1CTL_DATA_REQ_SACCH() template itself, so let's abstract BTS_Tests.ttcn from doing that. Change-Id: I1ae948bd0314cdf15c21ce4b6346d5e32f1fcf95 --- M bts/BTS_Tests.ttcn M library/L1CTL_Types.ttcn 2 files changed, 26 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 37a5e3c..7aa74d2 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -1523,12 +1523,15 @@ var LapdmFrameAB lb := valueof(ts_LAPDm_AB(0, false, false, enc_GsmRrL3Message(meas_rep))); log("LAPDm: ", lb); - var L1ctlDataReq data_req := { - l1header := valueof(ts_SacchL1Header(g_pars.l1_pars.ms_power_level, false, g_pars.l1_pars.ms_actual_ta)), - l2_payload := f_pad_oct(enc_LapdmFrameAB(lb), 21, '2B'O) - } - log("Sending Measurement Report: ", data_req); - L1CTL.send(ts_L1CTL_DATA_REQ_SACCH(g_chan_nr, ts_RslLinkID_SACCH(0), data_req)); + var template (value) SacchL1Header l1h := ts_SacchL1Header( + g_pars.l1_pars.ms_power_level, false, + g_pars.l1_pars.ms_actual_ta); + + /* TODO: we can use an extension of TTCN-3 for that, i.e. PADDING('2B'O) */ + var octetstring l2 := f_pad_oct(enc_LapdmFrameAB(lb), 21, '2B'O); + + log("Sending Measurement Report: ", l1h, l2); + L1CTL.send(ts_L1CTL_DATA_REQ_SACCH(g_chan_nr, ts_RslLinkID_SACCH(0), l1h, l2)); repeat; } } @@ -4522,19 +4525,16 @@ private function f_tx_lapdm(template (value) LapdmFrame l, template (value) RslLinkId link_id) runs on ConnHdlr { var octetstring l2 := enc_LapdmFrame(valueof(l)); + var template (value) SacchL1Header l1h; + + /* TODO: we can use an extension of TTCN-3 for padding, i.e. PADDING('2B'O) */ if (valueof(link_id.c) == SACCH) { - /* prepend dummy L1 header */ - var L1ctlDataReq l1hl2 := { - l1header := valueof(ts_SacchL1Header(g_pars.l1_pars.ms_power_level, false, g_pars.l1_pars.ms_actual_ta)), - l2_payload := f_pad_oct(l2, 21, '2B'O) - } - L1CTL.send(ts_L1CTL_DATA_REQ_SACCH(g_chan_nr, link_id, l1hl2)); + /* Compose dummy L1 header */ + l1h := ts_SacchL1Header(g_pars.l1_pars.ms_power_level, false, g_pars.l1_pars.ms_actual_ta); + L1CTL.send(ts_L1CTL_DATA_REQ_SACCH(g_chan_nr, link_id, l1h, f_pad_oct(l2, 21, '2B'O))); } else { /* If required, pad L2 frame with constant 0x2b filling */ - l2 := f_pad_oct(l2, 23, '2B'O); - - log("encoding ", l, " to ", l2); - L1CTL.send(ts_L1CTL_DATA_REQ(g_chan_nr, link_id, l2)); + L1CTL.send(ts_L1CTL_DATA_REQ(g_chan_nr, link_id, f_pad_oct(l2, 23, '2B'O))); } } diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn index f59d194..2a97099 100644 --- a/library/L1CTL_Types.ttcn +++ b/library/L1CTL_Types.ttcn @@ -594,13 +594,17 @@ ul_info_tbf := omit, ul_info_abs := omit, payload := { - other := l2_data + data_req := { + l1header := omit, + l2_payload := l2_data + } } } template (value) L1ctlUlMessage ts_L1CTL_DATA_REQ_SACCH(template (value) RslChannelNr chan_nr, template (value) RslLinkId link_id, - L1ctlDataReq data_req) := { + template (value) SacchL1Header l1h, + octetstring l2_data) := { header := ts_L1ctlHeader(L1CTL_DATA_REQ), ul_info := { chan_nr := chan_nr, @@ -610,7 +614,10 @@ ul_info_tbf := omit, ul_info_abs := omit, payload := { - data_req := data_req + data_req := { + l1header := l1h, + l2_payload := l2_data + } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1ae948bd0314cdf15c21ce4b6346d5e32f1fcf95 Gerrit-Change-Number: 14231 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 19:19:18 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:19:18 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RSL_Types.ttcn: t(r|)s_RSL_CHAN_RQD: make chan_nr configurable In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14290 ) Change subject: library/RSL_Types.ttcn: t(r|)s_RSL_CHAN_RQD: make chan_nr configurable ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I89e9286e86b09ed54eb7749d107f5d8d57b93644 Gerrit-Change-Number: 14290 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sat, 01 Jun 2019 19:19:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 19:19:43 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:19:43 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: L1CTL_RACH_REQ: make both chan_nr and link_id configurable In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14289 ) Change subject: L1CTL_RACH_REQ: make both chan_nr and link_id configurable ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ica6b9551b11c20fa0b8f4a8dcdc91ca07601642c Gerrit-Change-Number: 14289 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sat, 01 Jun 2019 19: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 Sat Jun 1 19:20:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:20:01 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: L1CTL_RACH_REQ: make both chan_nr and link_id configurable In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14289 ) Change subject: L1CTL_RACH_REQ: make both chan_nr and link_id configurable ...................................................................... L1CTL_RACH_REQ: make both chan_nr and link_id configurable Change-Id: Ica6b9551b11c20fa0b8f4a8dcdc91ca07601642c --- M library/L1CTL_PortType.ttcn M library/L1CTL_Types.ttcn 2 files changed, 10 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/library/L1CTL_PortType.ttcn b/library/L1CTL_PortType.ttcn index bdcf024..7af680c 100644 --- a/library/L1CTL_PortType.ttcn +++ b/library/L1CTL_PortType.ttcn @@ -80,12 +80,15 @@ } } - function f_L1CTL_RACH(L1CTL_PT pt, uint8_t ra, uint8_t combined := 1, uint16_t offset := 0) return GsmFrameNumber { + function f_L1CTL_RACH(L1CTL_PT pt, uint8_t ra, uint8_t combined := 1, uint16_t offset := 0, + template (value) RslChannelNr chan_nr := ts_RslChanNr_RACH(0), + template (value) RslLinkId link_id := ts_RslLinkID_DCCH(0)) + return GsmFrameNumber { var L1ctlDlMessage rc; var GsmFrameNumber fn; timer T := 2.0; T.start - pt.send(ts_L1CTL_RACH_REQ(ra, combined, offset)) + pt.send(ts_L1CTL_RACH_REQ(ra, combined, offset, chan_nr, link_id)) alt { [] pt.receive(tr_L1CTL_RACH_CONF) -> value rc { fn := rc.dl_info.frame_nr }; [] pt.receive { repeat; }; diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn index 2a97099..01214b2 100644 --- a/library/L1CTL_Types.ttcn +++ b/library/L1CTL_Types.ttcn @@ -487,12 +487,13 @@ template L1ctlDlMessage tr_L1CTL_CCCH_MODE_CONF := tr_L1CTL_MsgType(L1CTL_CCCH_MODE_CONF); - template L1ctlUlMessage ts_L1CTL_RACH_REQ(uint8_t ra, uint8_t combined, uint16_t offset) := { + template L1ctlUlMessage ts_L1CTL_RACH_REQ(uint8_t ra, uint8_t combined, uint16_t offset, + template (value) RslChannelNr chan_nr := ts_RslChanNr_RACH(0), + template (value) RslLinkId link_id := ts_RslLinkID_DCCH(0)) := { header := ts_L1ctlHeader(L1CTL_RACH_REQ), ul_info := { - /* FIXME: both RSL chan_nr and link_id should be configurable */ - chan_nr := t_RslChanNr_RACH(0), - link_id := ts_RslLinkID_DCCH(0), + chan_nr := chan_nr, + link_id := link_id, padding := '0000'O }, ul_info_tbf := omit, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ica6b9551b11c20fa0b8f4a8dcdc91ca07601642c Gerrit-Change-Number: 14289 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 19:20:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:20:01 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RSL_Types.ttcn: t(r|)s_RSL_CHAN_RQD: make chan_nr configurable In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14290 ) Change subject: library/RSL_Types.ttcn: t(r|)s_RSL_CHAN_RQD: make chan_nr configurable ...................................................................... library/RSL_Types.ttcn: t(r|)s_RSL_CHAN_RQD: make chan_nr configurable Change-Id: I89e9286e86b09ed54eb7749d107f5d8d57b93644 --- M bts/BTS_Tests.ttcn M library/RSL_Types.ttcn 2 files changed, 11 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 7aa74d2..edf056a 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -1245,10 +1245,10 @@ timer T := 5.0; T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(ra, fn, ?))) { + [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(ra, fn, t_RslChanNr_RACH(0)))) { T.stop; } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(?, ?, ?))) { + [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(?, ?, ?, ?))) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected CHAN RQD"); } [] RSL_CCHAN.receive { repeat; } diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index ef3f45b..7f37720 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -1532,21 +1532,26 @@ /* 8.5.3 BTS -> BSC */ - template (value) RSL_Message ts_RSL_CHAN_RQD(OCT1 ra, GsmFrameNumber fn, uint8_t acc_del := 0) := { + template (value) RSL_Message ts_RSL_CHAN_RQD(OCT1 ra, GsmFrameNumber fn, + template (value) RslChannelNr chan_nr := ts_RslChanNr_RACH(0), + uint8_t acc_del := 0) := { msg_disc := ts_RSL_MsgDisc(RSL_MDISC_CCHAN, false), msg_type := RSL_MT_CHAN_RQD, ies := { - t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := ts_RslChanNr_RACH(0)}), + t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}), + /* TODO: we may need to have optional RSL_IE_LINK_IDENT IE here */ t_RSL_IE(RSL_IE_REQ_REFERENCE, RSL_IE_Body:{req_ref := ts_RSL_IE_ReqRef(ra, fn)}), t_RSL_IE(RSL_IE_ACCESS_DELAY, RSL_IE_Body:{access_delay := acc_del}) } } template RSL_Message tr_RSL_CHAN_RQD(template OCT1 ra, template GsmFrameNumber fn := ?, - template uint8_t acc_del := ?) := { + template RslChannelNr chan_nr := ts_RslChanNr_RACH(0), + template uint8_t acc_del := ?) := { msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false), msg_type := RSL_MT_CHAN_RQD, ies := { - tr_RSL_IE(RSL_IE_Body:{chan_nr := t_RslChanNr_RACH(0)}), + tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}), + /* TODO: we may need to have optional RSL_IE_LINK_IDENT IE here */ tr_RSL_IE(RSL_IE_Body:{req_ref := tr_RSL_IE_ReqRef(ra, fn)}), tr_RSL_IE(RSL_IE_Body:{access_delay := acc_del}) } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I89e9286e86b09ed54eb7749d107f5d8d57b93644 Gerrit-Change-Number: 14290 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 19:22:33 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:22:33 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: introduce TC_ho_rach() for handover RACH In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14291 ) Change subject: BTS_Tests.ttcn: introduce TC_ho_rach() for handover RACH ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If2e8d9c9947823df62f4bcc9a7fcd20734ff7858 Gerrit-Change-Number: 14291 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sat, 01 Jun 2019 19:22: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 1 19:22:34 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:22:34 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: introduce TC_ho_rach() for handover RACH In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14291 ) Change subject: BTS_Tests.ttcn: introduce TC_ho_rach() for handover RACH ...................................................................... BTS_Tests.ttcn: introduce TC_ho_rach() for handover RACH The idea of this test case (as can bee seen from its name) is to verify handover RACH detection. What we basically do is: 1. Activate a logical channel on the BTS side (HO_SYNC for now); 2. Switch the MS (e.g. trxcon) to that channel without waiting for Immediate Assignment and sending Access Burst; 3. Send an Access Burst on that channel using RA = HO_REF; 4. Wait for RSL HANDOver DETected from the BTS; 5. Release a dedicated connection. There is no way to verify if the Handover Reference received from the MS matches the one that was sent to the BTS. We can introduce a separate test case that would just send an Access Burst with RA != HO_REF. Change-Id: If2e8d9c9947823df62f4bcc9a7fcd20734ff7858 Depends on: (trxcon) Ia967820a536c99966ba2c60b63d2ea9edb093f46 --- M bts/BTS_Tests.ttcn M library/RSL_Types.ttcn 2 files changed, 79 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index edf056a..ed1d8e1 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -1493,6 +1493,75 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } +function f_TC_ho_rach(charstring id) runs on ConnHdlr { + var GsmFrameNumber fn; + var RSL_Message rm; + + f_l1_tune(L1CTL); + RSL.clear; + + /* Generate a random Handover Reference */ + var integer ho_ref := oct2int(f_rnd_octstring(1)); + + /* Handover Reference IE (see 3GPP TS 48.058, 9.3.9) */ + var RSL_IE ho_ref_ie := valueof(t_RSL_IE(RSL_IE_HANDO_REF, + RSL_IE_Body:{ handover_ref := ho_ref })); + + /* Activate a channel on the BTS side (no encryption) */ + f_rsl_chan_act(g_pars.chan_mode, more_ies := { ho_ref_ie }, + act_type := t_RSL_IE_ActType_HO_SYNC); + + /* Switch the MS side (e.g. trxcon) to a dedicated channel without + * waiting for Immediate Assignment and sending Access Burst */ + f_L1CTL_DM_EST_REQ(L1CTL, { false, mp_trx0_arfcn }, g_pars.chan_nr, 7); + + /* Send handover Access Burst */ + fn := f_L1CTL_RACH(L1CTL, ho_ref, chan_nr := g_pars.chan_nr); + + /* TODO: test mismatching Handover Reference, and missing IE */ + + /* Wait for handover detection */ + timer T := 3.0; + T.start; + alt { + [] RSL.receive(tr_RSL_HANDO_DET(g_pars.chan_nr)) -> value rm { + log("Handover RACH has been detected: ", rm); + setverdict(pass); + } + [] RSL.receive(tr_RSL_CHAN_RQD(?, ?, ?, ?)) -> value rm { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("RSL_CHAN_RQD was not expected: ", rm)); + } + [] RSL.receive { repeat; } + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("Timeout waiting for handover RACH: FN=", fn, " RA=", ho_ref)); + } + } + + /* Release the channel */ + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); +} + +/* Test handover RACH detection */ +testcase TC_ho_rach() runs on test_CT { + var ConnHdlrPars pars; + var ConnHdlr vc_conn; + + f_init(); + + for (var integer i := 0; i < sizeof(g_AllChannels); i := i + 1) { + pars := valueof(t_Pars(g_AllChannels[i], ts_RSL_ChanMode_SIGN)); + log(testcasename(), ": Starting for ", g_AllChannels[i]); + vc_conn := f_start_handler(refers(f_TC_ho_rach), pars); + vc_conn.done; + } + + /* TODO: do the above in parallel, rather than sequentially? */ + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + /*********************************************************************** * Measurement Processing / Reporting ***********************************************************************/ @@ -5458,6 +5527,7 @@ execute( TC_rach_content() ); execute( TC_rach_count() ); execute( TC_rach_max_ta() ); + execute( TC_ho_rach() ); execute( TC_rach_load_idle_thresh0() ); execute( TC_rach_load_idle_below_thresh() ); execute( TC_rach_load_count() ); diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 7f37720..588dc4b 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -1476,6 +1476,15 @@ t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}) } } + template RSL_Message tr_RSL_HANDO_DET(template RslChannelNr chan_nr, + template uint8_t acc_delay := ?) := { + msg_disc := tr_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_HANDO_DET, + ies := { + tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}), + tr_RSL_IE(RSL_IE_Body:{access_delay := acc_delay}) + } + } /* COMMON CHANNEL MANAGEMENT MESSAGES */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If2e8d9c9947823df62f4bcc9a7fcd20734ff7858 Gerrit-Change-Number: 14291 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 19:22:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:22:49 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts/scheduler.h: cosmetic: use bool for ho_rach_detect In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14321 ) Change subject: osmo-bts/scheduler.h: cosmetic: use bool for ho_rach_detect ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id357e4ed38cbdca2082322da12b93d556056e916 Gerrit-Change-Number: 14321 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sat, 01 Jun 2019 19:22:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 19:23:05 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:23:05 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/l1_if.h: drop unused ho_rach_detect from trx_l1h In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14320 ) Change subject: osmo-bts-trx/l1_if.h: drop unused ho_rach_detect from trx_l1h ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I90b6d7fb1bb7ba2f8b1f500043635b0ae5cb4495 Gerrit-Change-Number: 14320 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sat, 01 Jun 2019 19:23:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 19:23:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:23:09 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: dropping Tx bursts is a noticeable event In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14319 ) Change subject: osmo-bts-trx/trx_if.c: dropping Tx bursts is a noticeable event ...................................................................... osmo-bts-trx/trx_if.c: dropping Tx bursts is a noticeable event Change-Id: Ia954b797a9bb90660b6548ec0ffb218a1dcff37a --- M src/osmo-bts-trx/trx_if.c 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 8914557..ec879c7 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -688,8 +688,7 @@ if (transceiver_available && llist_empty(&l1h->trx_ctrl_list)) { send(l1h->trx_ofd_data.fd, buf, nbits + 6, 0); } else - LOGP(DTRX, LOGL_DEBUG, "Ignoring TX data, transceiver " - "offline.\n"); + LOGP(DTRX, LOGL_ERROR, "Ignoring TX data, transceiver offline.\n"); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia954b797a9bb90660b6548ec0ffb218a1dcff37a Gerrit-Change-Number: 14319 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 19:23:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:23:10 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/l1_if.h: drop unused ho_rach_detect from trx_l1h In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14320 ) Change subject: osmo-bts-trx/l1_if.h: drop unused ho_rach_detect from trx_l1h ...................................................................... osmo-bts-trx/l1_if.h: drop unused ho_rach_detect from trx_l1h Change-Id: I90b6d7fb1bb7ba2f8b1f500043635b0ae5cb4495 --- M src/osmo-bts-trx/l1_if.h 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index 165f9d8..9c95c53 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -59,7 +59,6 @@ /* transceiver config */ struct trx_config config; - uint8_t ho_rach_detect[TRX_NR_TS][TS_MAX_LCHAN]; struct l1sched_trx l1s; }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I90b6d7fb1bb7ba2f8b1f500043635b0ae5cb4495 Gerrit-Change-Number: 14320 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 19:23:13 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:23:13 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts/scheduler.h: cosmetic: use bool for ho_rach_detect In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14321 ) Change subject: osmo-bts/scheduler.h: cosmetic: use bool for ho_rach_detect ...................................................................... osmo-bts/scheduler.h: cosmetic: use bool for ho_rach_detect Change-Id: Id357e4ed38cbdca2082322da12b93d556056e916 --- M include/osmo-bts/scheduler.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index f9d9962..2906c6e 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -122,7 +122,7 @@ } meas; /* handover */ - uint8_t ho_rach_detect; /* if rach detection is on */ + bool ho_rach_detect; /* if rach detection is on */ }; struct l1sched_ts { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id357e4ed38cbdca2082322da12b93d556056e916 Gerrit-Change-Number: 14321 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 19:23:42 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:23:42 +0000 Subject: Change in ...osmo-bts[master]: common/rsl.c: RSL_IE_HANDO_REF is mandatory for handover CHAN ACT In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14324 ) Change subject: common/rsl.c: RSL_IE_HANDO_REF is mandatory for handover CHAN ACT ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9c50e1dbeb54c5470560adcdfb2bdf5abbe47993 Gerrit-Change-Number: 14324 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sat, 01 Jun 2019 19:23:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 19:23:43 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:23:43 +0000 Subject: Change in ...osmo-bts[master]: common/rsl.c: RSL_IE_HANDO_REF is mandatory for handover CHAN ACT In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14324 ) Change subject: common/rsl.c: RSL_IE_HANDO_REF is mandatory for handover CHAN ACT ...................................................................... common/rsl.c: RSL_IE_HANDO_REF is mandatory for handover CHAN ACT According to 3GPP TS 48.058, section 8.4.1, the Handover Reference element must be included if channel activation type is 'handover'. Let's properly reject CHANnel ACTivation messages with missing RSL_IE_HANDO_REF. Otherwise such requests are misinterpreted as regular (non-handover) channel requests. Found using TC_ho_rach() TTCN-3 test case. Change-Id: I9c50e1dbeb54c5470560adcdfb2bdf5abbe47993 --- M src/common/rsl.c 1 file changed, 7 insertions(+), 3 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/rsl.c b/src/common/rsl.c index b96182f..410b38a 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -1090,9 +1090,13 @@ memset(&lchan->encr, 0, sizeof(lchan->encr)); /* 9.3.9 Handover Reference */ - if ((type == RSL_ACT_INTER_ASYNC || - type == RSL_ACT_INTER_SYNC) && - TLVP_PRES_LEN(&tp, RSL_IE_HANDO_REF, 1)) { + if ((type == RSL_ACT_INTER_ASYNC || type == RSL_ACT_INTER_SYNC)) { + /* According to 8.4.1, the Handover Reference element is included + * if activation type is handover. Assuming it's mandatory. */ + if (!TLVP_PRES_LEN(&tp, RSL_IE_HANDO_REF, 1)) { + LOGPLCHAN(lchan, DRSL, LOGL_NOTICE, "Missing Handover Reference IE\n"); + return rsl_tx_chan_act_nack(lchan, RSL_ERR_MAND_IE_ERROR); + } lchan->ho.active = HANDOVER_ENABLED; lchan->ho.ref = *TLVP_VAL(&tp, RSL_IE_HANDO_REF); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9c50e1dbeb54c5470560adcdfb2bdf5abbe47993 Gerrit-Change-Number: 14324 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 19:24:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:24:12 +0000 Subject: Change in ...libosmocore[master]: socket.c: fix Doxygen doc for osmo_sock_unix_init_ofd() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14318 ) Change subject: socket.c: fix Doxygen doc for osmo_sock_unix_init_ofd() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iab42aa376b5cf4cf36413fede46e001c6b2d1525 Gerrit-Change-Number: 14318 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sat, 01 Jun 2019 19:24:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 19:24:13 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 19:24:13 +0000 Subject: Change in ...libosmocore[master]: socket.c: fix Doxygen doc for osmo_sock_unix_init_ofd() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14318 ) Change subject: socket.c: fix Doxygen doc for osmo_sock_unix_init_ofd() ...................................................................... socket.c: fix Doxygen doc for osmo_sock_unix_init_ofd() One typo s/optionall/optionally/, and a few incorrect references. Change-Id: Iab42aa376b5cf4cf36413fede46e001c6b2d1525 --- M src/socket.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/socket.c b/src/socket.c index 614ad36..37976e2 100644 --- a/src/socket.c +++ b/src/socket.c @@ -688,8 +688,8 @@ * \param[in] flags flags like \ref OSMO_SOCK_F_CONNECT * \returns socket fd on success; negative on error * - * This function creates (and optionall binds/connects) a socket using - * \ref osmo_sock_unix_init, but also fills the \a ofd structure. + * This function creates (and optionally binds/connects) a socket + * using osmo_sock_unix_init, but also fills the ofd structure. */ int osmo_sock_unix_init_ofd(struct osmo_fd *ofd, uint16_t type, uint8_t proto, const char *socket_path, unsigned int flags) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iab42aa376b5cf4cf36413fede46e001c6b2d1525 Gerrit-Change-Number: 14318 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 20:55:58 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 20:55:58 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduler: fix: do not ignore SACCH prims with odd length Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14325 Change subject: trxcon/scheduler: fix: do not ignore SACCH prims with odd length ...................................................................... trxcon/scheduler: fix: do not ignore SACCH prims with odd length Before this patch, prim_dequeue_sacch() used to ignore SACCH primitives with odd length (e.g. 21, when sender forgot to push 2 octets of L1 SACCH header), so neither they were transmitted, nor rejected. As a result, they would stay in the Tx queue until a dedicated connection is released. The only way to notice such problem was looking at the constantly growing talloc's report. Instead of ignoring the primitives with odd length and keeping them in the queue, let's pass them to a logical channel handler, so they would be dequeued and rejected with a proper logging event. Also, to simplify further debugging, let's print the final decision of SACCH prioritization: whether it's a Measurement Report or not. Change-Id: I3149fa518439470b397953306209eb859c83450a --- M src/host/trxcon/sched_prim.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/25/14325/1 diff --git a/src/host/trxcon/sched_prim.c b/src/host/trxcon/sched_prim.c index 275a050..50dfd6e 100644 --- a/src/host/trxcon/sched_prim.c +++ b/src/host/trxcon/sched_prim.c @@ -253,10 +253,6 @@ if (prim->chan != lchan->type) continue; - /* Just to be sure... */ - if (prim->payload_len != GSM_MACBLOCK_LEN) - continue; - /* Look for a Measurement Report */ if (!prim_mr && PRIM_IS_MR(prim)) prim_mr = prim; @@ -307,6 +303,10 @@ /* Update the MR transmission state */ lchan->sacch.mr_tx_last = PRIM_IS_MR(prim); + LOGP(DSCHD, LOGL_DEBUG, "SACCH decision on lchan=%s: %s\n", + trx_lchan_desc[lchan->type].name, PRIM_IS_MR(prim) ? + "Measurement Report" : "data frame"); + return prim; } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3149fa518439470b397953306209eb859c83450a Gerrit-Change-Number: 14325 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 21:07:16 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 21:07:16 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduler: fix: do not ignore SACCH prims with odd length In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14325 ) Change subject: trxcon/scheduler: fix: do not ignore SACCH prims with odd length ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3149fa518439470b397953306209eb859c83450a Gerrit-Change-Number: 14325 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sat, 01 Jun 2019 21: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 Sat Jun 1 21:07:22 2019 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 1 Jun 2019 21:07:22 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduler: fix: do not ignore SACCH prims with odd length In-Reply-To: References: Message-ID: Vadim Yanitskiy has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14325 ) Change subject: trxcon/scheduler: fix: do not ignore SACCH prims with odd length ...................................................................... trxcon/scheduler: fix: do not ignore SACCH prims with odd length Before this patch, prim_dequeue_sacch() used to ignore SACCH primitives with odd length (e.g. 21, when sender forgot to push 2 octets of L1 SACCH header), so neither they were transmitted, nor rejected. As a result, they would stay in the Tx queue until a dedicated connection is released. The only way to notice such problem was looking at the constantly growing talloc's report. Instead of ignoring the primitives with odd length and keeping them in the queue, let's pass them to a logical channel handler, so they would be dequeued and rejected with a proper logging event. Also, to simplify further debugging, let's print the final decision of SACCH prioritization: whether it's a Measurement Report or not. Change-Id: I3149fa518439470b397953306209eb859c83450a --- M src/host/trxcon/sched_prim.c 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified Vadim Yanitskiy: Looks good to me, approved diff --git a/src/host/trxcon/sched_prim.c b/src/host/trxcon/sched_prim.c index 275a050..50dfd6e 100644 --- a/src/host/trxcon/sched_prim.c +++ b/src/host/trxcon/sched_prim.c @@ -253,10 +253,6 @@ if (prim->chan != lchan->type) continue; - /* Just to be sure... */ - if (prim->payload_len != GSM_MACBLOCK_LEN) - continue; - /* Look for a Measurement Report */ if (!prim_mr && PRIM_IS_MR(prim)) prim_mr = prim; @@ -307,6 +303,10 @@ /* Update the MR transmission state */ lchan->sacch.mr_tx_last = PRIM_IS_MR(prim); + LOGP(DSCHD, LOGL_DEBUG, "SACCH decision on lchan=%s: %s\n", + trx_lchan_desc[lchan->type].name, PRIM_IS_MR(prim) ? + "Measurement Report" : "data frame"); + return prim; } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3149fa518439470b397953306209eb859c83450a Gerrit-Change-Number: 14325 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 21:15:44 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 21:15:44 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lapdm: Rename 'dummy_CT' to more reasonable 'lapdm_test_CT' Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14326 Change subject: lapdm: Rename 'dummy_CT' to more reasonable 'lapdm_test_CT' ...................................................................... lapdm: Rename 'dummy_CT' to more reasonable 'lapdm_test_CT' Change-Id: If72542f665a814bcda7c41120675a57ccf3407f4 --- M lapdm/L1CTL_Test.ttcn 1 file changed, 12 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/14326/1 diff --git a/lapdm/L1CTL_Test.ttcn b/lapdm/L1CTL_Test.ttcn index 28bf25c..1922f70 100644 --- a/lapdm/L1CTL_Test.ttcn +++ b/lapdm/L1CTL_Test.ttcn @@ -4,12 +4,12 @@ import from LAPDm_RAW_PT all; import from LAPDm_Types all; - type component dummy_CT { + type component lapdm_test_CT { port LAPDm_PT LAPDM; var lapdm_CT lapdm_component; }; - function f_init() runs on dummy_CT { + function f_init() runs on lapdm_test_CT { /* create the LAPDm component */ lapdm_component := lapdm_CT.create; /* connect our own LAPDM port to the LAPDM Service Provider of the LAPDm component */ @@ -23,7 +23,7 @@ } /* master function establishing a dedicated radio channel (takes care of RACH/IMM.ASS handling) */ - function f_establish_dcch() runs on dummy_CT { + function f_establish_dcch() runs on lapdm_test_CT { var BCCH_tune_req tune_req := { arfcn := { false, 871 }, combined_ccch := true }; var DCCH_establish_req est_req := { ra := 23 }; @@ -33,7 +33,7 @@ } /* helper function releasing dedicated radio channel physically (no Um signaling!) */ - function f_release_dcch() runs on dummy_CT { + function f_release_dcch() runs on lapdm_test_CT { var DCCH_release_req rel_req := {}; LAPDM.send(rel_req); } @@ -115,7 +115,7 @@ } - function f_test_sabm_results_in_ua(uint8_t sapi, boolean use_sacch, octetstring payload) runs on dummy_CT return boolean { + function f_test_sabm_results_in_ua(uint8_t sapi, boolean use_sacch, octetstring payload) runs on lapdm_test_CT return boolean { var LAPDm_ph_data phd; var boolean result := false; timer T := 5.0; @@ -135,7 +135,7 @@ return result; } - testcase TC_sabm_ua_dcch_sapi0() runs on dummy_CT { + testcase TC_sabm_ua_dcch_sapi0() runs on lapdm_test_CT { f_init(); if (not f_test_sabm_results_in_ua(0, false, 'FEFE'O)) { setverdict(fail); @@ -143,7 +143,7 @@ setverdict(pass); } - testcase TC_sabm_ua_dcch_sapi0_nopayload() runs on dummy_CT { + testcase TC_sabm_ua_dcch_sapi0_nopayload() runs on lapdm_test_CT { f_init(); if (f_test_sabm_results_in_ua(0, false, ''O)) { setverdict(fail, "Initial SABM/UA must contain L3 payload but BTS accepts without"); @@ -151,7 +151,7 @@ setverdict(pass); } - testcase TC_sabm_ua_dcch_sapi3() runs on dummy_CT { + testcase TC_sabm_ua_dcch_sapi3() runs on lapdm_test_CT { f_init(); if (f_test_sabm_results_in_ua(3, false, 'FEFE'O)) { setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=3"); @@ -159,7 +159,7 @@ setverdict(pass); } - testcase TC_sabm_ua_dcch_sapi4() runs on dummy_CT { + testcase TC_sabm_ua_dcch_sapi4() runs on lapdm_test_CT { f_init(); if (f_test_sabm_results_in_ua(4, false, 'FEFE'O)) { setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=4"); @@ -167,7 +167,7 @@ setverdict(pass); } - testcase TC_sabm_contention() runs on dummy_CT { + testcase TC_sabm_contention() runs on lapdm_test_CT { var LAPDm_ph_data phd; const octetstring payload := '0102030405'O; const GsmSapi sapi := 0; @@ -196,7 +196,7 @@ /* we test that a re-transmitted SABM with identical payload will result in the retransmission of a * UA. This is required during the contention resolution procedure as specified in 8.4.1.4 */ - testcase TC_sabm_retransmit() runs on dummy_CT { + testcase TC_sabm_retransmit() runs on lapdm_test_CT { const octetstring payload := '00FEFEDEADBEEF'O; f_init(); if (not f_test_sabm_results_in_ua(0, false, payload)) { @@ -208,7 +208,7 @@ setverdict(pass); } - testcase TC_foo() runs on dummy_CT { + testcase TC_foo() runs on lapdm_test_CT { var LapdmFrame lf; /* var LapdmFrame lf := valueof(LAPDm_B_UA(0, ''O)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If72542f665a814bcda7c41120675a57ccf3407f4 Gerrit-Change-Number: 14326 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 21:15:45 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 21:15:45 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: move lapdm/L1CTL_Test.ttcn to bts/BTS_Tests_LAPDm.ttcn Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14327 Change subject: move lapdm/L1CTL_Test.ttcn to bts/BTS_Tests_LAPDm.ttcn ...................................................................... move lapdm/L1CTL_Test.ttcn to bts/BTS_Tests_LAPDm.ttcn Change-Id: Ibbc967f0bd9a19ab4bbd17f612654d72cb32d571 --- R bts/BTS_Tests_LAPDm.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/14327/1 diff --git a/lapdm/L1CTL_Test.ttcn b/bts/BTS_Tests_LAPDm.ttcn similarity index 98% rename from lapdm/L1CTL_Test.ttcn rename to bts/BTS_Tests_LAPDm.ttcn index 1922f70..d6c605d 100644 --- a/lapdm/L1CTL_Test.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -1,4 +1,4 @@ -module L1CTL_Test { +module BTS_Tests_LAPDm { import from GSM_Types all; import from Osmocom_Types all; import from LAPDm_RAW_PT all; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibbc967f0bd9a19ab4bbd17f612654d72cb32d571 Gerrit-Change-Number: 14327 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 21:15:45 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 21:15:45 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Derive test component that talks RSL and LAPDm Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14328 Change subject: bts: Derive test component that talks RSL and LAPDm ...................................................................... bts: Derive test component that talks RSL and LAPDm Change-Id: I6e24c6f6a904c4c051780c35af82c3bd53c970ce --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/28/14328/1 diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index d6c605d..a5bcc56 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -3,12 +3,19 @@ import from Osmocom_Types all; import from LAPDm_RAW_PT all; import from LAPDm_Types all; + import from BTS_Tests all; + /* test that use exclusively only LAPDm over L1CTL */ type component lapdm_test_CT { port LAPDm_PT LAPDM; var lapdm_CT lapdm_component; }; + /* contrary to BTS_Tests.ttcn, we use LAPDm_PT here, a convenience wrapper + * around L1CTL to perform encode/decode of abstract LAPDm frames */ + type component lapdm_bts_CT extends lapdm_test_CT, test_CT { + } + function f_init() runs on lapdm_test_CT { /* create the LAPDm component */ lapdm_component := lapdm_CT.create; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6e24c6f6a904c4c051780c35af82c3bd53c970ce Gerrit-Change-Number: 14328 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 21:15:45 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 21:15:45 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Remove one indent lvel from BTS_Tests_LAPDm.ttcn Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14329 Change subject: bts: Remove one indent lvel from BTS_Tests_LAPDm.ttcn ...................................................................... bts: Remove one indent lvel from BTS_Tests_LAPDm.ttcn Change-Id: I4637393df9989a97a4d70f08bd334d0f8cfd2284 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 233 insertions(+), 231 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/29/14329/1 diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index a5bcc56..0792863 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -1,259 +1,261 @@ module BTS_Tests_LAPDm { - import from GSM_Types all; - import from Osmocom_Types all; - import from LAPDm_RAW_PT all; - import from LAPDm_Types all; - import from BTS_Tests all; - /* test that use exclusively only LAPDm over L1CTL */ - type component lapdm_test_CT { - port LAPDm_PT LAPDM; - var lapdm_CT lapdm_component; - }; +import from GSM_Types all; +import from Osmocom_Types all; +import from LAPDm_RAW_PT all; +import from LAPDm_Types all; +import from BTS_Tests all; - /* contrary to BTS_Tests.ttcn, we use LAPDm_PT here, a convenience wrapper - * around L1CTL to perform encode/decode of abstract LAPDm frames */ - type component lapdm_bts_CT extends lapdm_test_CT, test_CT { +/* test that use exclusively only LAPDm over L1CTL */ +type component lapdm_test_CT { + port LAPDm_PT LAPDM; + var lapdm_CT lapdm_component; +}; + +/* contrary to BTS_Tests.ttcn, we use LAPDm_PT here, a convenience wrapper + * around L1CTL to perform encode/decode of abstract LAPDm frames */ +type component lapdm_bts_CT extends lapdm_test_CT, test_CT { +} + +function f_init() runs on lapdm_test_CT { + /* create the LAPDm component */ + lapdm_component := lapdm_CT.create; + /* connect our own LAPDM port to the LAPDM Service Provider of the LAPDm component */ + connect(self:LAPDM, lapdm_component:LAPDM_SP); + /* connect the LAPDm compoent's lower-side port to the system L1CTL port (which is internally + * connected to the Unix Domain Socket test port */ + map(lapdm_component:L1CTL, system:L1CTL); + + /* start the LAPDm parallel component calling it's local function LAPDmStart */ + lapdm_component.start(LAPDmStart()); +} + +/* master function establishing a dedicated radio channel (takes care of RACH/IMM.ASS handling) */ +function f_establish_dcch() runs on lapdm_test_CT { + var BCCH_tune_req tune_req := { arfcn := { false, 871 }, combined_ccch := true }; + var DCCH_establish_req est_req := { ra := 23 }; + + LAPDM.send(tune_req); + LAPDM.send(est_req); + LAPDM.receive(DCCH_establish_res:?); +} + +/* helper function releasing dedicated radio channel physically (no Um signaling!) */ +function f_release_dcch() runs on lapdm_test_CT { + var DCCH_release_req rel_req := {}; + LAPDM.send(rel_req); +} + +template LAPDm_ph_data t_PH_DATA(template GsmSapi sapi, template boolean sacch, template LapdmFrame frame) := { + sacch := sacch, + sapi := sapi, + lapdm := frame +} +/* template for a valid SABM frame */ +template LapdmFrame LAPDm_B_SABM(template GsmSapi sapi, octetstring payload) := { + ab := { + addr := tr_LapdmAddr(sapi, false), + ctrl := tr_LapdmCtrlSABM(true), + len := lengthof(payload), + m := false, + el := 1, + payload := payload } +} - function f_init() runs on lapdm_test_CT { - /* create the LAPDm component */ - lapdm_component := lapdm_CT.create; - /* connect our own LAPDM port to the LAPDM Service Provider of the LAPDm component */ - connect(self:LAPDM, lapdm_component:LAPDM_SP); - /* connect the LAPDm compoent's lower-side port to the system L1CTL port (which is internally - * connected to the Unix Domain Socket test port */ - map(lapdm_component:L1CTL, system:L1CTL); - - /* start the LAPDm parallel component calling it's local function LAPDmStart */ - lapdm_component.start(LAPDmStart()); +/* template for a valid UA frame */ +template LapdmFrame tr_LAPDm_B_UA(template GsmSapi sapi, template octetstring payload) := { + ab := { + addr := tr_LapdmAddr(sapi, false), + ctrl := tr_LapdmCtrlUA(true), + len := ?, + m := false, + el := 1, + payload := payload } +} - /* master function establishing a dedicated radio channel (takes care of RACH/IMM.ASS handling) */ - function f_establish_dcch() runs on lapdm_test_CT { - var BCCH_tune_req tune_req := { arfcn := { false, 871 }, combined_ccch := true }; - var DCCH_establish_req est_req := { ra := 23 }; - - LAPDM.send(tune_req); - LAPDM.send(est_req); - LAPDM.receive(DCCH_establish_res:?); +/* template for a valid UA frame */ +template LapdmFrame LAPDm_B_UA(template GsmSapi sapi, octetstring payload) := { + ab := { + addr := tr_LapdmAddr(sapi, false), + ctrl := tr_LapdmCtrlUA(true), + len := lengthof(payload), + m := false, + el := 1, + payload := payload } +} - /* helper function releasing dedicated radio channel physically (no Um signaling!) */ - function f_release_dcch() runs on lapdm_test_CT { - var DCCH_release_req rel_req := {}; - LAPDM.send(rel_req); +/* template for a valid UI frame */ +template LapdmFrame LAPDm_B_UI(template GsmSapi sapi, octetstring payload) := { + ab := { + addr := tr_LapdmAddr(sapi, true), + ctrl := tr_LapdmCtrlUI(false), + len := lengthof(payload), + m := false, + el := 1, + payload := payload } +} - template LAPDm_ph_data t_PH_DATA(template GsmSapi sapi, template boolean sacch, template LapdmFrame frame) := { - sacch := sacch, - sapi := sapi, - lapdm := frame +template LapdmFrame t_nopayload(template GsmSapi sapi) := { + ab := { + addr := tr_LapdmAddr(sapi, true), + ctrl := ?, + len := 0, + m := false, + el := 1, + payload := ''O } - /* template for a valid SABM frame */ - template LapdmFrame LAPDm_B_SABM(template GsmSapi sapi, octetstring payload) := { - ab := { - addr := tr_LapdmAddr(sapi, false), - ctrl := tr_LapdmCtrlSABM(true), - len := lengthof(payload), - m := false, - el := 1, - payload := payload +} + +template LapdmFrame LAPDm_B_DISC(template GsmSapi sapi) modifies t_nopayload := { + ab := { + ctrl := tr_LapdmCtrlDISC(true) + } +} + +template LapdmFrame LAPDm_B_RR(template GsmSapi sapi, template uint3_t nr) modifies t_nopayload := { + ab := { + ctrl := tr_LapdmCtrlRR(nr, false) + } +} + + +function f_test_sabm_results_in_ua(uint8_t sapi, boolean use_sacch, octetstring payload) runs on lapdm_test_CT return boolean { + var LAPDm_ph_data phd; + var boolean result := false; + timer T := 5.0; + + f_establish_dcch(); + LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_SABM(sapi, payload))); + log("====> expecting ", t_PH_DATA(sapi, use_sacch, LAPDm_B_UA(sapi, payload))); + T.start + alt { + [] LAPDM.receive(t_PH_DATA(?, use_sacch, LAPDm_B_UA(sapi, payload))) { result := true; } + [] LAPDM.receive(t_PH_DATA(?, use_sacch, ?)) -> value phd { log("Other msg on DCH: ", phd); repeat; } + [] LAPDM.receive(t_PH_DATA(?, ?, ?)) -> value phd { log("Other PH-DATA: ", phd); repeat; } + [] T.timeout { } + } + LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_RR(sapi, 0))); + f_release_dcch(); + return result; +} + +testcase TC_sabm_ua_dcch_sapi0() runs on lapdm_test_CT { + f_init(); + if (not f_test_sabm_results_in_ua(0, false, 'FEFE'O)) { + setverdict(fail); + } + setverdict(pass); +} + +testcase TC_sabm_ua_dcch_sapi0_nopayload() runs on lapdm_test_CT { + f_init(); + if (f_test_sabm_results_in_ua(0, false, ''O)) { + setverdict(fail, "Initial SABM/UA must contain L3 payload but BTS accepts without"); + } + setverdict(pass); +} + +testcase TC_sabm_ua_dcch_sapi3() runs on lapdm_test_CT { + f_init(); + if (f_test_sabm_results_in_ua(3, false, 'FEFE'O)) { + setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=3"); + } + setverdict(pass); +} + +testcase TC_sabm_ua_dcch_sapi4() runs on lapdm_test_CT { + f_init(); + if (f_test_sabm_results_in_ua(4, false, 'FEFE'O)) { + setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=4"); + } + setverdict(pass); +} + +testcase TC_sabm_contention() runs on lapdm_test_CT { + var LAPDm_ph_data phd; + const octetstring payload := '0102030405'O; + const GsmSapi sapi := 0; + const boolean use_sacch := false; + timer T := 5.0; + + f_init(); + + f_establish_dcch(); + /* first frame is our real SABM */ + LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_SABM(sapi, payload))); + /* second frame is a SABM with different payload, which BTS has to ignore according to 8.4.1.4 */ + LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_SABM(sapi, 'ABCDEF'O))); + log("====> expecting ", t_PH_DATA(sapi, use_sacch, LAPDm_B_UA(sapi, payload))); + T.start + alt { + [] LAPDM.receive(t_PH_DATA(?, use_sacch, LAPDm_B_UA(sapi, payload))) { setverdict(pass); repeat; } + [] LAPDM.receive(t_PH_DATA(?, use_sacch, tr_LAPDm_B_UA(sapi, ?))) { + setverdict(fail, "Second SABM was responded to during contention resolution"); } + [] LAPDM.receive { repeat }; + [] T.timeout { } } + f_release_dcch(); +} - /* template for a valid UA frame */ - template LapdmFrame tr_LAPDm_B_UA(template GsmSapi sapi, template octetstring payload) := { - ab := { - addr := tr_LapdmAddr(sapi, false), - ctrl := tr_LapdmCtrlUA(true), - len := ?, - m := false, - el := 1, - payload := payload - } +/* we test that a re-transmitted SABM with identical payload will result in the retransmission of a + * UA. This is required during the contention resolution procedure as specified in 8.4.1.4 */ +testcase TC_sabm_retransmit() runs on lapdm_test_CT { + const octetstring payload := '00FEFEDEADBEEF'O; + f_init(); + if (not f_test_sabm_results_in_ua(0, false, payload)) { + setverdict(fail, "UA not received for first SABM"); } - - /* template for a valid UA frame */ - template LapdmFrame LAPDm_B_UA(template GsmSapi sapi, octetstring payload) := { - ab := { - addr := tr_LapdmAddr(sapi, false), - ctrl := tr_LapdmCtrlUA(true), - len := lengthof(payload), - m := false, - el := 1, - payload := payload - } + if (not f_test_sabm_results_in_ua(0, false, payload)) { + setverdict(fail, "UA not received for second SABM"); } + setverdict(pass); +} - /* template for a valid UI frame */ - template LapdmFrame LAPDm_B_UI(template GsmSapi sapi, octetstring payload) := { - ab := { - addr := tr_LapdmAddr(sapi, true), - ctrl := tr_LapdmCtrlUI(false), - len := lengthof(payload), - m := false, - el := 1, - payload := payload - } - } - - template LapdmFrame t_nopayload(template GsmSapi sapi) := { - ab := { - addr := tr_LapdmAddr(sapi, true), - ctrl := ?, - len := 0, - m := false, - el := 1, - payload := ''O - } - } - - template LapdmFrame LAPDm_B_DISC(template GsmSapi sapi) modifies t_nopayload := { - ab := { - ctrl := tr_LapdmCtrlDISC(true) - } - } - - template LapdmFrame LAPDm_B_RR(template GsmSapi sapi, template uint3_t nr) modifies t_nopayload := { - ab := { - ctrl := tr_LapdmCtrlRR(nr, false) - } - } - - - function f_test_sabm_results_in_ua(uint8_t sapi, boolean use_sacch, octetstring payload) runs on lapdm_test_CT return boolean { - var LAPDm_ph_data phd; - var boolean result := false; - timer T := 5.0; - - f_establish_dcch(); - LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_SABM(sapi, payload))); - log("====> expecting ", t_PH_DATA(sapi, use_sacch, LAPDm_B_UA(sapi, payload))); - T.start - alt { - [] LAPDM.receive(t_PH_DATA(?, use_sacch, LAPDm_B_UA(sapi, payload))) { result := true; } - [] LAPDM.receive(t_PH_DATA(?, use_sacch, ?)) -> value phd { log("Other msg on DCH: ", phd); repeat; } - [] LAPDM.receive(t_PH_DATA(?, ?, ?)) -> value phd { log("Other PH-DATA: ", phd); repeat; } - [] T.timeout { } - } - LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_RR(sapi, 0))); - f_release_dcch(); - return result; - } - - testcase TC_sabm_ua_dcch_sapi0() runs on lapdm_test_CT { - f_init(); - if (not f_test_sabm_results_in_ua(0, false, 'FEFE'O)) { - setverdict(fail); - } - setverdict(pass); - } - - testcase TC_sabm_ua_dcch_sapi0_nopayload() runs on lapdm_test_CT { - f_init(); - if (f_test_sabm_results_in_ua(0, false, ''O)) { - setverdict(fail, "Initial SABM/UA must contain L3 payload but BTS accepts without"); - } - setverdict(pass); - } - - testcase TC_sabm_ua_dcch_sapi3() runs on lapdm_test_CT { - f_init(); - if (f_test_sabm_results_in_ua(3, false, 'FEFE'O)) { - setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=3"); - } - setverdict(pass); - } - - testcase TC_sabm_ua_dcch_sapi4() runs on lapdm_test_CT { - f_init(); - if (f_test_sabm_results_in_ua(4, false, 'FEFE'O)) { - setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=4"); - } - setverdict(pass); - } - - testcase TC_sabm_contention() runs on lapdm_test_CT { - var LAPDm_ph_data phd; - const octetstring payload := '0102030405'O; - const GsmSapi sapi := 0; - const boolean use_sacch := false; - timer T := 5.0; - - f_init(); - - f_establish_dcch(); - /* first frame is our real SABM */ - LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_SABM(sapi, payload))); - /* second frame is a SABM with different payload, which BTS has to ignore according to 8.4.1.4 */ - LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_SABM(sapi, 'ABCDEF'O))); - log("====> expecting ", t_PH_DATA(sapi, use_sacch, LAPDm_B_UA(sapi, payload))); - T.start - alt { - [] LAPDM.receive(t_PH_DATA(?, use_sacch, LAPDm_B_UA(sapi, payload))) { setverdict(pass); repeat; } - [] LAPDM.receive(t_PH_DATA(?, use_sacch, tr_LAPDm_B_UA(sapi, ?))) { - setverdict(fail, "Second SABM was responded to during contention resolution"); - } - [] LAPDM.receive { repeat }; - [] T.timeout { } - } - f_release_dcch(); - } - - /* we test that a re-transmitted SABM with identical payload will result in the retransmission of a - * UA. This is required during the contention resolution procedure as specified in 8.4.1.4 */ - testcase TC_sabm_retransmit() runs on lapdm_test_CT { - const octetstring payload := '00FEFEDEADBEEF'O; - f_init(); - if (not f_test_sabm_results_in_ua(0, false, payload)) { - setverdict(fail, "UA not received for first SABM"); - } - if (not f_test_sabm_results_in_ua(0, false, payload)) { - setverdict(fail, "UA not received for second SABM"); - } - setverdict(pass); - } - - testcase TC_foo() runs on lapdm_test_CT { - var LapdmFrame lf; +testcase TC_foo() runs on lapdm_test_CT { + var LapdmFrame lf; /* - var LapdmFrame lf := valueof(LAPDm_B_UA(0, ''O)); - log("ENC UA: ", enc_LapdmFrame(lf)); - lf := valueof(LAPDm_B_UI(0, ''O)); - log("ENC UI B: ", enc_LapdmFrame(lf)); - log("ENC UI B: ", enc_LapdmFrameB(lf.b)); + var LapdmFrame lf := valueof(LAPDm_B_UA(0, ''O)); + log("ENC UA: ", enc_LapdmFrame(lf)); + lf := valueof(LAPDm_B_UI(0, ''O)); + log("ENC UI B: ", enc_LapdmFrame(lf)); + log("ENC UI B: ", enc_LapdmFrameB(lf.b)); - log("DEC UI AF: ", dec_LapdmAddressField('03'O)); + log("DEC UI AF: ", dec_LapdmAddressField('03'O)); */ - lf := valueof(LAPDm_B_RR(0, 0)); - log("ENC RR: ", enc_LapdmFrame(lf)); + lf := valueof(LAPDm_B_RR(0, 0)); + log("ENC RR: ", enc_LapdmFrame(lf)); - lf := valueof(LAPDm_B_UA(0, ''O)); - log("ENC UA: ", enc_LapdmFrame(lf)); + lf := valueof(LAPDm_B_UA(0, ''O)); + log("ENC UA: ", enc_LapdmFrame(lf)); - lf := valueof(LAPDm_B_UI(0, ''O)); - log("ENC UI: ", enc_LapdmFrame(lf)); + lf := valueof(LAPDm_B_UI(0, ''O)); + log("ENC UI: ", enc_LapdmFrame(lf)); - log("DEC UI CU: ", dec_LapdmCtrlU('03'O)); - log("DEC UI CT: ", dec_LapdmCtrl('03'O)); + log("DEC UI CU: ", dec_LapdmCtrlU('03'O)); + log("DEC UI CT: ", dec_LapdmCtrl('03'O)); - log("DEC UA: ", dec_LapdmFrameAB('017301'O)); - log("DEC UI: ", dec_LapdmFrameAB('030301'O)); - log("DEC I: ", dec_LapdmFrameAB('030001'O)); - log("DEC S: ", dec_LapdmFrameAB('030101'O)); - log("DEC: ", dec_LapdmFrameAB('030301'O)); - log("DEC: ", dec_LapdmFrameAB('0303012B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B'O)); - } + log("DEC UA: ", dec_LapdmFrameAB('017301'O)); + log("DEC UI: ", dec_LapdmFrameAB('030301'O)); + log("DEC I: ", dec_LapdmFrameAB('030001'O)); + log("DEC S: ", dec_LapdmFrameAB('030101'O)); + log("DEC: ", dec_LapdmFrameAB('030301'O)); + log("DEC: ", dec_LapdmFrameAB('0303012B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B'O)); +} - control { - execute(TC_foo()); - execute(TC_sabm_ua_dcch_sapi0()); - execute(TC_sabm_ua_dcch_sapi0_nopayload()); - execute(TC_sabm_ua_dcch_sapi3()); - execute(TC_sabm_ua_dcch_sapi4()); - execute(TC_sabm_contention()); - execute(TC_sabm_retransmit()); - } +control { + execute(TC_foo()); + execute(TC_sabm_ua_dcch_sapi0()); + execute(TC_sabm_ua_dcch_sapi0_nopayload()); + execute(TC_sabm_ua_dcch_sapi3()); + execute(TC_sabm_ua_dcch_sapi4()); + execute(TC_sabm_contention()); + execute(TC_sabm_retransmit()); +} + } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4637393df9989a97a4d70f08bd334d0f8cfd2284 Gerrit-Change-Number: 14329 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 21:15:45 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 21:15:45 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: BTS_Tests_LAPDm.ttcn: rename f_init() to f_lapdm_init() Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14330 Change subject: bts: BTS_Tests_LAPDm.ttcn: rename f_init() to f_lapdm_init() ...................................................................... bts: BTS_Tests_LAPDm.ttcn: rename f_init() to f_lapdm_init() This is to avoid name clashes with f_init() from BTS_Tests.ttcn Change-Id: Ie6272165b1dbda53d2d02af43c8e969da7a54d2e --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 11 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/30/14330/1 diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index 0792863..33aa174 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -17,7 +17,11 @@ type component lapdm_bts_CT extends lapdm_test_CT, test_CT { } -function f_init() runs on lapdm_test_CT { +/********************************************************************************* + * Test using only L1CTL/LAPDm + *********************************************************************************/ + +function f_lapdm_init() runs on lapdm_test_CT { /* create the LAPDm component */ lapdm_component := lapdm_CT.create; /* connect our own LAPDM port to the LAPDM Service Provider of the LAPDm component */ @@ -144,7 +148,7 @@ } testcase TC_sabm_ua_dcch_sapi0() runs on lapdm_test_CT { - f_init(); + f_lapdm_init(); if (not f_test_sabm_results_in_ua(0, false, 'FEFE'O)) { setverdict(fail); } @@ -152,7 +156,7 @@ } testcase TC_sabm_ua_dcch_sapi0_nopayload() runs on lapdm_test_CT { - f_init(); + f_lapdm_init(); if (f_test_sabm_results_in_ua(0, false, ''O)) { setverdict(fail, "Initial SABM/UA must contain L3 payload but BTS accepts without"); } @@ -160,7 +164,7 @@ } testcase TC_sabm_ua_dcch_sapi3() runs on lapdm_test_CT { - f_init(); + f_lapdm_init(); if (f_test_sabm_results_in_ua(3, false, 'FEFE'O)) { setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=3"); } @@ -168,7 +172,7 @@ } testcase TC_sabm_ua_dcch_sapi4() runs on lapdm_test_CT { - f_init(); + f_lapdm_init(); if (f_test_sabm_results_in_ua(4, false, 'FEFE'O)) { setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=4"); } @@ -182,7 +186,7 @@ const boolean use_sacch := false; timer T := 5.0; - f_init(); + f_lapdm_init(); f_establish_dcch(); /* first frame is our real SABM */ @@ -206,7 +210,7 @@ * UA. This is required during the contention resolution procedure as specified in 8.4.1.4 */ testcase TC_sabm_retransmit() runs on lapdm_test_CT { const octetstring payload := '00FEFEDEADBEEF'O; - f_init(); + f_lapdm_init(); if (not f_test_sabm_results_in_ua(0, false, payload)) { setverdict(fail, "UA not received for first SABM"); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie6272165b1dbda53d2d02af43c8e969da7a54d2e Gerrit-Change-Number: 14330 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 21:15:46 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 21:15:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: don't require users to pass test case name to f_init() Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14331 Change subject: bts: don't require users to pass test case name to f_init() ...................................................................... bts: don't require users to pass test case name to f_init() The f_init() function itself can very well derive the identity using the built-in testcasename() function. There's no need asking users to do that - many of them don't do it in the first place :/ Change-Id: I17a61a84fba4df31b8baab1f631c8aa55d894dbd --- M bts/BTS_Tests.ttcn M bts/BTS_Tests_SMSCB.ttcn 2 files changed, 42 insertions(+), 41 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/31/14331/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index ed1d8e1..c43774d 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -332,7 +332,8 @@ } /* global init function */ -function f_init(charstring id := "BTS-Test") runs on test_CT { +function f_init() runs on test_CT { + var charstring id := testcasename(); timer T := mp_ipa_up_timeout; g_AllChannels := { /* TS 1..4: TCH/F */ @@ -593,7 +594,7 @@ testcase TC_chan_act_stress() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); - f_init(testcasename()); + f_init(); vc_conn := f_start_handler(refers(f_TC_chan_act_stress), pars); vc_conn.done; Misc_Helpers.f_shutdown(__BFILE__, __LINE__); @@ -700,7 +701,7 @@ /* execute the same callback function on a variety of logical channels */ private function f_testmatrix_each_chan(ConnHdlrPars pars, void_fn fn) runs on test_CT { var ConnHdlr vc_conn; - f_init(testcasename()); + f_init(); /* test on each of the channels we have */ for (var integer i := 0; i < sizeof(g_AllChanTypes); i := i+1) { @@ -1228,7 +1229,7 @@ /* Send 1000 RACH requests and check their RA+FN on the RSL side */ testcase TC_rach_content() runs on test_CT { - f_init(testcasename()); + f_init(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -1470,7 +1471,7 @@ /* Test if dropping of RACH Based on NM_ATT_MAX_TA works */ testcase TC_rach_max_ta() runs on test_CT { - f_init(testcasename()); + f_init(); f_init_l1ctl(); f_l1_tune(L1CTL); f_sleep(1.0); @@ -1887,7 +1888,7 @@ testcase TC_meas_res_sign_tchf() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; - f_init(testcasename()); + f_init(); for (var integer tn := 1; tn <= 4; tn := tn+1) { pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); @@ -1898,7 +1899,7 @@ testcase TC_meas_res_sign_tchh() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; - f_init(testcasename()); + f_init(); for (var integer ss := 0; ss <= 1; ss := ss+1) { pars := valueof(t_Pars(t_RslChanNr_Lm(5, ss), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); @@ -1909,7 +1910,7 @@ testcase TC_meas_res_sign_sdcch4() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; - f_init(testcasename()); + f_init(); for (var integer ss := 0; ss <= 3; ss := ss+1) { pars := valueof(t_Pars(t_RslChanNr_SDCCH4(0, ss), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); @@ -1920,7 +1921,7 @@ testcase TC_meas_res_sign_sdcch8() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; - f_init(testcasename()); + f_init(); for (var integer ss := 0; ss <= 7; ss := ss+1) { pars := valueof(t_Pars(t_RslChanNr_SDCCH8(6, ss), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); @@ -1931,7 +1932,7 @@ testcase TC_meas_res_sign_tchh_toa256() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; - f_init(testcasename()); + f_init(); f_vty_config(BTSVTY, "bts 0", "supp-meas-info toa256"); for (var integer ss := 0; ss <= 1; ss := ss+1) { pars := valueof(t_Pars(t_RslChanNr_Lm(5, ss), ts_RSL_ChanMode_SIGN)); @@ -2003,7 +2004,7 @@ testcase TC_rsl_ms_pwr_ctrl() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; - f_init(testcasename()); + f_init(); for (var integer tn := 1; tn <= 4; tn := tn+1) { pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); @@ -2055,7 +2056,7 @@ testcase TC_rsl_chan_initial_ta() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; - f_init(testcasename()); + f_init(); pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_tc_rsl_chan_initial_ta), pars); vc_conn.done; @@ -2129,7 +2130,7 @@ testcase TC_conn_fail_crit() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; - f_init(testcasename()); + f_init(); pars := valueof(t_Pars(t_RslChanNr_SDCCH8(6, 3), ts_RSL_ChanMode_SIGN)); pars.t_guard := 60.0; vc_conn := f_start_handler(refers(f_TC_conn_fail_crit), pars); @@ -2273,7 +2274,7 @@ /* Helper function for paging related testing */ private function f_TC_paging(PagingTestCfg cfg) runs on test_CT return PagingTestState { - f_init(testcasename()); + f_init(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -2511,7 +2512,7 @@ var charstring res_str; var float rx_ratio; - f_init(testcasename()); + f_init(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -3024,7 +3025,7 @@ testcase TC_bcch_info() runs on test_CT { - f_init(testcasename()); + f_init(); /* FIXME: enable / disable individual BCCH info */ //ts_RSL_BCCH_INFO(si_type, info); /* expect no ERROR REPORT after either of them * @@ -3057,7 +3058,7 @@ /* Provoke a protocol error (message too short) and match on ERROR REPORT */ testcase TC_rsl_protocol_error() runs on test_CT { - f_init(testcasename()); + f_init(); var RSL_Message rsl := valueof(ts_RSL_BCCH_INFO(RSL_SYSTEM_INFO_1, ''O)); rsl.ies := omit; RSL_CCHAN.send(ts_RSL_UD(rsl)); @@ -3067,7 +3068,7 @@ /* Provoke a mandatory IE error and match on ERROR REPORT */ testcase TC_rsl_mand_ie_error() runs on test_CT { - f_init(testcasename()); + f_init(); var RSL_Message rsl := valueof(ts_RSL_BCCH_INFO(RSL_SYSTEM_INFO_1, ''O)); rsl.ies := { rsl.ies[0] }; @@ -3078,7 +3079,7 @@ /* Provoke an IE content error and match on ERROR REPORT */ testcase TC_rsl_ie_content_error() runs on test_CT { - f_init(testcasename()); + f_init(); var RSL_Message rsl := valueof(ts_RSL_BCCH_INFO(RSL_SYSTEM_INFO_1, ''O)); rsl.ies[1].body.sysinfo_type := RSL_SYSTEM_INFO_5; RSL_CCHAN.send(ts_RSL_UD(rsl)); @@ -3097,7 +3098,7 @@ var ConnHdlr vc_conn; var ConnHdlrPars pars := valueof(t_Pars(ts_RslChanNr_SDCCH4(0,0), ts_RSL_ChanMode_SIGN)); - f_init(testcasename()); + f_init(); vc_conn := f_start_handler(refers(f_TC_chan_act_wrong_mdisc), pars); vc_conn.done; @@ -3129,7 +3130,7 @@ var ConnHdlrPars pars := valueof(t_Pars(ts_RslChanNr_SDCCH4(0,0), ts_RSL_ChanMode_SIGN)); var template (value) RSL_Message rsl_tx; - f_init(testcasename()); + f_init(); /* Common Channel with wrong message type */ RSL_CCHAN.clear; @@ -3167,7 +3168,7 @@ var ConnHdlr vc_conn; var ConnHdlrPars pars := valueof(t_Pars(ts_RslChanNr_SDCCH4(0,0), ts_RSL_ChanMode_SIGN)); - f_init(testcasename()); + f_init(); RSL_CCHAN.clear; vc_conn := f_start_handler(refers(f_TC_err_rep_wrong_sequence), pars); @@ -3186,7 +3187,7 @@ } testcase TC_ipa_dlcx_not_active() runs on test_CT { var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); - f_init(testcasename()); + f_init(); var ConnHdlr vc_conn := f_start_handler(refers(f_TC_ipa_dlcx_not_active), pars); vc_conn.done; } @@ -3200,7 +3201,7 @@ } testcase TC_ipa_crcx_twice_not_active() runs on test_CT { var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); - f_init(testcasename()); + f_init(); var ConnHdlr vc_conn := f_start_handler(refers(f_TC_ipa_crcx_twice_not_active), pars); vc_conn.done; } @@ -3221,7 +3222,7 @@ } testcase TC_ipa_crcx_mdcx_dlcx_not_active() runs on test_CT { var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); - f_init(testcasename()); + f_init(); var ConnHdlr vc_conn := f_start_handler(refers(f_TC_ipa_crcx_mdcx_dlcx_not_active), pars); vc_conn.done; } @@ -3248,7 +3249,7 @@ } testcase TC_ipa_crcx_mdcx_mdcx_dlcx_not_active() runs on test_CT { var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); - f_init(testcasename()); + f_init(); var ConnHdlr vc_conn := f_start_handler(refers(f_TC_ipa_crcx_mdcx_mdcx_dlcx_not_active), pars); vc_conn.done; } @@ -3261,7 +3262,7 @@ testcase TC_ipa_crcx_sdcch_not_active() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + f_init(); pars := valueof(t_Pars(t_RslChanNr_SDCCH4(0,1), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_TC_ipa_crcx_sdcch_not_active), pars); @@ -4283,7 +4284,7 @@ testcase TC_dyn_osmo_pdch_act_deact() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + 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_act_deact), pars, true); @@ -4305,7 +4306,7 @@ testcase TC_dyn_osmo_pdch_unsol_deact() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + 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_unsol_deact), pars, true); @@ -4331,7 +4332,7 @@ testcase TC_dyn_osmo_pdch_double_act() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + 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_double_act), pars, true); @@ -4359,7 +4360,7 @@ testcase TC_dyn_osmo_pdch_tchf_act() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + 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_tchf_act), pars, true); @@ -4391,7 +4392,7 @@ testcase TC_dyn_osmo_pdch_tchh_act() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + 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_tchh_act), pars, true); @@ -4511,7 +4512,7 @@ testcase TC_dyn_ipa_pdch_tchf_act() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + f_init(); pars := valueof(t_Pars(t_RslChanNr_Bm(3), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_TC_dyn_ipa_pdch_tchf_act), pars, true); @@ -4547,7 +4548,7 @@ testcase TC_dyn_ipa_pdch_tchf_act_pdch_act_nack() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + f_init(); pars := valueof(t_Pars(t_RslChanNr_Bm(3), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_TC_dyn_ipa_pdch_tchf_act_pdch_act_nack), pars, true); @@ -4579,7 +4580,7 @@ testcase TC_dyn_ipa_pdch_act_tchf_act_nack() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + f_init(); pars := valueof(t_Pars(t_RslChanNr_Bm(3), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_TC_dyn_ipa_pdch_act_tchf_act_nack), pars, true); @@ -4626,7 +4627,7 @@ private function f_rll_testmatrix(RllTestCases tcs, void_fn fn) runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + f_init(); /* test on each of the channels we have */ for (var integer i := 0; i < sizeof(g_AllChanTypes); i := i+1) { @@ -5446,7 +5447,7 @@ var ConnHdlr vc_conn; var ConnHdlrPars pars; pars.t_guard := 60.0; - f_init(testcasename()); + f_init(); for (var integer i := 0; i < sizeof(g_AllChannels); i := i + 1) { pars := valueof(t_Pars(g_AllChannels[i], ts_RSL_ChanMode_SIGN(dtxd))); if (dtxd) { diff --git a/bts/BTS_Tests_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn index 4d357ba..962b516 100644 --- a/bts/BTS_Tests_SMSCB.ttcn +++ b/bts/BTS_Tests_SMSCB.ttcn @@ -213,7 +213,7 @@ f_init_vty_bsc(); /* ensure that a CBCH is present in channel combination */ f_vty_cbch_setup(pars.use_sdcch4); - f_init(testcasename()); + f_init(); f_init_l1ctl(); f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH); @@ -710,7 +710,7 @@ var ASP_RSL_Unitdata rx_ud; timer T := 10.0; - f_init(testcasename()); + f_init(); f_init_vty_bsc(); T.start; @@ -738,7 +738,7 @@ var ASP_RSL_Unitdata rx_ud; timer T := 10.0; - f_init(testcasename()); + f_init(); RSL_CCHAN.clear; T.start; @@ -794,7 +794,7 @@ timer T_initial_guard := 2.0; var integer i; - f_init(testcasename()); + f_init(); /* send tons of SMSCB Command */ for (i := 0; i < 30; i := i+1) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I17a61a84fba4df31b8baab1f631c8aa55d894dbd Gerrit-Change-Number: 14331 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 21:15:46 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 21:15:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: LAPDm_RAW_PT: Switch to dedicated channel without RACH+IMM.ASS Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14332 Change subject: LAPDm_RAW_PT: Switch to dedicated channel without RACH+IMM.ASS ...................................................................... LAPDm_RAW_PT: Switch to dedicated channel without RACH+IMM.ASS Change-Id: I07dd9191ca441bfd1e43e3521e98f88ad2d0489a --- M library/LAPDm_RAW_PT.ttcn 1 file changed, 36 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/32/14332/1 diff --git a/library/LAPDm_RAW_PT.ttcn b/library/LAPDm_RAW_PT.ttcn index fe2d321..222c1aa 100644 --- a/library/LAPDm_RAW_PT.ttcn +++ b/library/LAPDm_RAW_PT.ttcn @@ -36,6 +36,17 @@ charstring err optional } + /* directly switch to a dedicated channel (without RACH/IMM.ASS */ + type record DCCH_switch_req { + Arfcn arfcn, + RslChannelNr chan_nr, + GsmTsc tsc + } + + type record DCCH_switch_res { + charstring err optional + } + type record length(8) of uint8_t TfiList; type record TbfPars { GsmArfcn arfcn optional, @@ -104,12 +115,14 @@ type port LAPDm_SP_PT message { in BCCH_tune_req, DCCH_establish_req, + DCCH_switch_req, DCCH_release_req, TBF_UL_establish_req, TBF_DL_establish_req, RLCMAC_ph_data_req, LAPDm_ph_data; out DCCH_establish_res, + DCCH_switch_res, TBF_UL_establish_res, RLCMAC_ph_data_ind, LAPDm_ph_data; @@ -118,11 +131,13 @@ /* port from user (external) point of view */ type port LAPDm_PT message { in DCCH_establish_res, + DCCH_switch_res, TBF_UL_establish_res, RLCMAC_ph_data_ind, LAPDm_ph_data; out BCCH_tune_req, DCCH_establish_req, + DCCH_switch_req, DCCH_release_req, TBF_UL_establish_req, TBF_DL_establish_req, @@ -222,6 +237,15 @@ set_ph_state(PH_STATE_DCH); } + /* switching directly to a dedicated channel *without RACH/IMM-ASS */ + private function f_switch_dcch(Arfcn arfcn, RslChannelNr chan_nr, GsmTsc tsc) runs on lapdm_CT { + set_ph_state(PH_STATE_TUNING_DCH); + /* store/save channel description */ + chan_desc.chan_nr := chan_nr; + f_L1CTL_DM_EST_REQ(L1CTL,arfcn, chan_nr, tsc); + set_ph_state(PH_STATE_DCH); + } + /* initialize a tfi_usf array with "not used" value 255 for all TN */ function f_TfiUsfArrInit() return TfiUsfArr { var TfiUsfArr tua := { 255, 255, 255, 255, 255, 255, 255, 255 }; @@ -374,6 +398,7 @@ var RLCMAC_ph_data_ind rpdi; var RLCMAC_ph_data_req rpdr; var DCCH_establish_req est_req; + var DCCH_switch_req sw_req; var DCCH_establish_res est_res; f_init_tbf(); @@ -422,6 +447,17 @@ } LAPDM_SP.send(res); } + [] LAPDM_SP.receive(DCCH_switch_req:?) -> value sw_req { + var DCCH_switch_res res; + f_switch_dcch(sw_req.arfcn, sw_req.chan_nr, sw_req.tsc); + if (ph_state == PH_STATE_DCH) { + res := { omit }; + } else { + res := { "Unable to switch to DCCH" }; + } + LAPDM_SP.send(res); + } + [] as_tbf_ul_est(); [] as_tbf_dl_est(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I07dd9191ca441bfd1e43e3521e98f88ad2d0489a Gerrit-Change-Number: 14332 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 1 21:15:46 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sat, 1 Jun 2019 21:15:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: LAPDm_RAW_PT: Fix handling of LAPDm on SACCH (L1 header) Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14333 Change subject: LAPDm_RAW_PT: Fix handling of LAPDm on SACCH (L1 header) ...................................................................... LAPDm_RAW_PT: Fix handling of LAPDm on SACCH (L1 header) The existing implementation dind't account for the two-byte L1 header preset on the SACCH in both uplink and downlink. Change-Id: Iae97ad153e9d1688306b39b5fb43ade323dbe500 --- M library/LAPDm_RAW_PT.ttcn 1 file changed, 20 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/33/14333/1 diff --git a/library/LAPDm_RAW_PT.ttcn b/library/LAPDm_RAW_PT.ttcn index 222c1aa..6166576 100644 --- a/library/LAPDm_RAW_PT.ttcn +++ b/library/LAPDm_RAW_PT.ttcn @@ -173,6 +173,10 @@ /* channel description of the currently active DCH */ var ChannelDescription chan_desc; + /* last SACCH downlink L1 header we received */ + var uint5_t ms_power_lvl := 0; + var uint8_t timing_adv := 0; + var TbfParsPerTs g_tbf_ul; var TbfParsPerTs g_tbf_dl; }; @@ -472,14 +476,21 @@ /* decode any received DATA frames for the dedicated channel and pass them up */ [] L1CTL.receive(tr_L1CTL_DATA_IND(chan_desc.chan_nr)) -> value dl { + var octetstring l2; if (dl.dl_info.link_id.c == SACCH) { lpd.sacch := true; + var octetstring l1 := substr(dl.payload.data_ind.payload, 0, 2); + l2 := substr(dl.payload.data_ind.payload, 2, + lengthof(dl.payload.data_ind.payload)-2); + ms_power_lvl := oct2int(l1[0] and4b '1F'O); + timing_adv := oct2int(l1[1]); /* FIXME: how to deal with UI frames in B4 format (lo length!) */ } else { lpd.sacch := false; + l2 := dl.payload.data_ind.payload; } lpd.sapi := dl.dl_info.link_id.sapi; - lpd.lapdm.ab := dec_LapdmFrameAB(dl.payload.data_ind.payload); + lpd.lapdm.ab := dec_LapdmFrameAB(l2); LAPDM_SP.send(lpd); } @@ -490,11 +501,18 @@ if (lpd.sacch) { link_id := valueof(ts_RslLinkID_SACCH(lpd.sapi)); buf := f_pad_oct(enc_LapdmFrame(lpd.lapdm), 21, '2B'O); + var L1ctlDataReq l1hl2 := { + l1header := valueof(ts_SacchL1Header(ms_power_lvl, false, + timing_adv)), + l2_payload := buf + }; + L1CTL.send(ts_L1CTL_DATA_REQ_SACCH(chan_desc.chan_nr, link_id, + l1hl2)); } else { link_id := valueof(ts_RslLinkID_DCCH(lpd.sapi)); buf := f_pad_oct(enc_LapdmFrame(lpd.lapdm), 23, '2B'O); + L1CTL.send(ts_L1CTL_DATA_REQ(chan_desc.chan_nr, link_id, buf)); } - L1CTL.send(ts_L1CTL_DATA_REQ(chan_desc.chan_nr, link_id, buf)); } /* Release dedicated channel */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iae97ad153e9d1688306b39b5fb43ade323dbe500 Gerrit-Change-Number: 14333 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 08:17:57 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 08:17:57 +0000 Subject: Change in ...libosmocore[master]: lapdm: Don't truncate L3 payload at 200 bytes length In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14317 ) Change subject: lapdm: Don't truncate L3 payload at 200 bytes length ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6769986f27dda1d429ed7b2e32c36d34663acba9 Gerrit-Change-Number: 14317 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sun, 02 Jun 2019 08:17:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 08:17:59 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 08:17:59 +0000 Subject: Change in ...libosmocore[master]: lapdm: Don't truncate L3 payload at 200 bytes length In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14317 ) Change subject: lapdm: Don't truncate L3 payload at 200 bytes length ...................................................................... lapdm: Don't truncate L3 payload at 200 bytes length 3GPP TS 04.06 is quite clear that the [segmented] L3 payload can be as long as 251 bytes. Our libosmocore lapdm implementation truncated already at 200 bytes :( Change-Id: I6769986f27dda1d429ed7b2e32c36d34663acba9 Closes: OS#4035 --- M src/gsm/lapdm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Vadim Yanitskiy: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gsm/lapdm.c b/src/gsm/lapdm.c index d76175b..f1651d6 100644 --- a/src/gsm/lapdm.c +++ b/src/gsm/lapdm.c @@ -136,7 +136,7 @@ { memset(dl, 0, sizeof(*dl)); dl->entity = entity; - lapd_dl_init(&dl->dl, 1, 8, 200); + lapd_dl_init(&dl->dl, 1, 8, 251); /* Section 5.8.5 of TS 04.06 */ dl->dl.reestablish = 0; /* GSM uses no reestablish */ dl->dl.send_ph_data_req = lapdm_send_ph_data_req; dl->dl.send_dlsap = send_rslms_dlsap; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6769986f27dda1d429ed7b2e32c36d34663acba9 Gerrit-Change-Number: 14317 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 10:55:50 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Jun 2019 10:55:50 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lapdm: Rename 'dummy_CT' to more reasonable 'lapdm_test_CT' In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14326 ) Change subject: lapdm: Rename 'dummy_CT' to more reasonable 'lapdm_test_CT' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If72542f665a814bcda7c41120675a57ccf3407f4 Gerrit-Change-Number: 14326 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 02 Jun 2019 10:55:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 11:16:19 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Jun 2019 11:16:19 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/l1ctl.c: properly handle handover RACH request In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14274 ) Change subject: trxcon/l1ctl.c: properly handle handover RACH request ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia967820a536c99966ba2c60b63d2ea9edb093f46 Gerrit-Change-Number: 14274 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 02 Jun 2019 11:16:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 12:44:12 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Jun 2019 12:44:12 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/l1ctl.c: properly handle handover RACH request In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14274 ) Change subject: trxcon/l1ctl.c: properly handle handover RACH request ...................................................................... trxcon/l1ctl.c: properly handle handover RACH request During the handover the MS needs to release the existing dedicated channel(s), establish the new one(s) as indicated by the network, and then, depending on the synchronisation state, send one or more HANDOVER ACCESS messages carried by Access Bursts. In order to implement this, trxcon needs to be able to transmit Access Bursts on any TDMA timeslot regardless of the logical channel type and the associated handler, i.e. != TRXC_RACH. The controlling side on L1CTL (layer23 or TTCN-3) needs to send one or more L1CTL_RACH_REQ message(s) with properly populated UL info header. Otherwise a regular RACH on TS0 is assumed. Change-Id: Ia967820a536c99966ba2c60b63d2ea9edb093f46 --- M src/host/trxcon/l1ctl.c M src/host/trxcon/sched_lchan_rach.c M src/host/trxcon/sched_trx.c 3 files changed, 20 insertions(+), 15 deletions(-) Approvals: fixeria: Looks good to me, approved; Verified Jenkins Builder: Verified diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c index 30f43d0..e722624 100644 --- a/src/host/trxcon/l1ctl.c +++ b/src/host/trxcon/l1ctl.c @@ -512,7 +512,6 @@ struct l1ctl_rach_req *req; struct l1ctl_info_ul *ul; struct trx_ts_prim *prim; - uint8_t chan_nr, link_id; size_t len; int rc; @@ -537,25 +536,24 @@ "(offset=%u, ra=0x%02x)\n", req->offset, req->ra); } - /** - * FIXME: l1ctl_info_ul doesn't provide channel description - * FIXME: Can we use other than TS0? - */ - chan_nr = RSL_CHAN_RACH; - link_id = 0x00; + /* The controlling L1CTL side always does include the UL info header, + * but may leave it empty. We assume RACH is on TS0 in this case. */ + if (ul->chan_nr == 0x00) { + LOGP(DL1C, LOGL_NOTICE, "The UL info header is empty, " + "assuming RACH is on TS0\n"); + ul->chan_nr = RSL_CHAN_RACH; + } /* Init a new primitive */ - rc = sched_prim_init(l1l->trx, &prim, len, chan_nr, link_id); + rc = sched_prim_init(l1l->trx, &prim, len, ul->chan_nr, ul->link_id); if (rc) goto exit; /** - * Push this primitive to transmit queue - * - * FIXME: what if requested TS is not configured? - * Or what if one (such as TCH) has no TRXC_RACH slots? + * Push this primitive to the transmit queue. + * Indicated timeslot needs to be configured. */ - rc = sched_prim_push(l1l->trx, prim, chan_nr); + rc = sched_prim_push(l1l->trx, prim, ul->chan_nr); if (rc) { talloc_free(prim); goto exit; diff --git a/src/host/trxcon/sched_lchan_rach.c b/src/host/trxcon/sched_lchan_rach.c index 7d202b8..e96a0e6 100644 --- a/src/host/trxcon/sched_lchan_rach.c +++ b/src/host/trxcon/sched_lchan_rach.c @@ -155,9 +155,10 @@ /* BN85-156: tail bits & extended guard period */ memset(burst_ptr, 0, burst + GSM_BURST_LEN - burst_ptr); - LOGP(DSCHD, LOGL_DEBUG, "Transmitting %s RACH (%s) fn=%u\n", + LOGP(DSCHD, LOGL_NOTICE, "Transmitting %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), fn, + ts->index, trx_lchan_desc[lchan->type].name); /* Forward burst to scheduler */ rc = sched_trx_handle_tx_burst(trx, ts, lchan, fn, burst); diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index 62fe870..37d1acf 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -35,6 +35,7 @@ #include #include +#include "l1ctl_proto.h" #include "scheduler.h" #include "sched_trx.h" #include "trx_if.h" @@ -116,6 +117,11 @@ if (lchan->prim == NULL) continue; + /* Handover RACH needs to be handled regardless of the + * current channel type and the associated handler. */ + if (PRIM_IS_RACH(lchan->prim) && lchan->prim->chan != TRXC_RACH) + handler = trx_lchan_desc[TRXC_RACH].tx_fn; + /* Poke lchan handler */ handler(trx, ts, lchan, fn, bid); } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia967820a536c99966ba2c60b63d2ea9edb093f46 Gerrit-Change-Number: 14274 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 14:48:44 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 14:48:44 +0000 Subject: Change in ...osmo-bts[master]: trx: Update documentation for fn-advance and rts-advance Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14334 Change subject: trx: Update documentation for fn-advance and rts-advance ...................................................................... trx: Update documentation for fn-advance and rts-advance Change-Id: I83eff296bfb7acff9d8560b5346bd9791fe6e7d9 Related: OS#4036 --- M doc/manuals/chapters/bts-models.adoc 1 file changed, 45 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/34/14334/1 diff --git a/doc/manuals/chapters/bts-models.adoc b/doc/manuals/chapters/bts-models.adoc index 4ae73c0..74f4683 100644 --- a/doc/manuals/chapters/bts-models.adoc +++ b/doc/manuals/chapters/bts-models.adoc @@ -245,10 +245,53 @@ Set the number of frames to be transmitted to transceiver in advance of current GSM frame number. +GSM is a TDMA (time division multiple access) system on the radio +interface. OsmoTRX is the "clock master" of that in the Osmocom +implementation. It informs OsmoBTS of the current GSM frame +number. However, as there is non-zero delays (UDP packet trnsmission +delay, operating system scheduler delay on both OsmoTRX and OsmoBTS +side, ...), OsmoBTS must compensate for that delay by "advancing" +the clock a certain amount of time. + +In other words, if OsmoTRX informs us thatJ the current frame number is N, +we advance it by `fn-advance` and transmit burst data for +`N + fn-advance` towards OsmoTRX. + +The fn-advance should be kept as low as possible to avoid additional +delays to the user voice plane as well as to improve the performance +of the control plane (LAPDm) as well as GPRS. + +However, fn-advance must be kept sufficiently high to ensure no +underruns on the OsmoTRX side. + +The detailed value will depend on your underlying computer systems, +operating system and related tuning parameters. Running OsmoTRX +on a remote host will inevitably require a higher fn-advance then +running it on the same machine, where the UDP packetes are just passed +over the loopback device. + +The default value for `fn-advance` is 20 (corresponding to 92 +milliseconds). + ===== `osmotrx rts-advance <0-30>` -Set the number of frames to be requested from PCU in advance of current -frame number. Do not change this unless you have a good reason! +Set the number of frames to be requested from L1SAP in advance of current +frame number and fn-advance. + +The value specified as `rts-advance` is added to the current GSM frame +number as reported by OsmoTRX *and* the `osmotrx fn-advance` in order +to generate the PH-RTS.ind (ready to send indications) across the L1SAP +interface inside osmo-bts. This will trigger the Layer 2 (LAPDm for +the ocntrol plane, RTP for the voice plane, and OsmoPCU for GPRS) to +generate a MAC block and input it into the osmo-bts-trx TDMA scheduler. + +If OsmoTRX reported N as the current frame number, the actual frame number +reported on L1SAP to higher layes will be computed as follows: + + N + fn-advance + rts-advance + +The default value of `rts-advance` is 5 (corresponding to 23 milliseconds). +Do not change this unless you have a good reason! ===== `osmotrx rx-gain <0-50>` -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I83eff296bfb7acff9d8560b5346bd9791fe6e7d9 Gerrit-Change-Number: 14334 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 17:41:12 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Jun 2019 17:41:12 +0000 Subject: Change in ...osmo-bts[master]: common/bts.c: bts_supports_cm(): take care about GSM48_CMODE_SIGN Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14335 Change subject: common/bts.c: bts_supports_cm(): take care about GSM48_CMODE_SIGN ...................................................................... common/bts.c: bts_supports_cm(): take care about GSM48_CMODE_SIGN At the moment, bts_supports_cm() is only called on reception of RSL Channel MODE MODIFY from the BSC. The idea is to check whether the indicated RSL channel mode is supported by a BTS model. RSL Channel MODE MODIFY message may indicate a channel in signalling mode, i.e. GSM48_CMODE_SIGN, which has always been rejected so far. Let's assume that signalling is always supported, as there is no special BTS_FEAT_* definition to check that. This change should make BTS_Tests.TC_rsl_modify_encr pass. Change-Id: I8ea98a3eb9dc15a04f665596ee276883eb824b9a --- M src/common/bts.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/35/14335/1 diff --git a/src/common/bts.c b/src/common/bts.c index 97e7a8b..596e5e0 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -744,6 +744,11 @@ { enum gsm_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) + return 1; + /* Before the requested pchan/cm combination can be checked, we need to * convert it to a feature identifier we can check */ switch (pchan) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8ea98a3eb9dc15a04f665596ee276883eb824b9a Gerrit-Change-Number: 14335 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 2 18:48:50 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 18:48:50 +0000 Subject: Change in ...osmo-bts[master]: l1sap: Compute statistics on FN advance in PH-RTS.ind Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14336 Change subject: l1sap: Compute statistics on FN advance in PH-RTS.ind ...................................................................... l1sap: Compute statistics on FN advance in PH-RTS.ind Let's keep some statistics about the min/max/average frame number advance that we're observing above L1SAP when comparing the time in the PH-RTS.ind and the frame number we observe in PH-DATA.ind of data that was received on the uplink. The statistics are currently only shown in the VTY, but this is a precursor to using them to correctly advance the LAPDm timers in a follow-up patch. Change-Id: I8f739fdb808a614f080afbc4654641ec3df19eb2 Related: OS#2294 Related: OS#3906 --- M include/osmo-bts/bts.h M include/osmo-bts/gsm_data_shared.h M src/common/bts.c M src/common/l1sap.c M src/common/vty.c 5 files changed, 44 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/36/14336/1 diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index 970fb1b..4d13214 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -65,5 +65,7 @@ int bts_supports_cm(struct gsm_bts *bts, enum gsm_phys_chan_config pchan, enum gsm48_chan_mode cm); +int32_t bts_get_avg_fn_advance(struct gsm_bts *bts); + #endif /* _BTS_H */ diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index 90772e2..f972a67 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -738,6 +738,14 @@ uint8_t tc4_ctr; } si; struct gsm_time gsm_time; + /* frame number statistics (FN in PH-RTS.ind vs. PH-DATA.ind */ + struct { + int32_t min; /* minimum observed */ + int32_t max; /* maximum observed */ + int32_t avg256; /* accumulator */ + uint32_t avg_count; /* number of samples accumulated in avg256 */ + uint32_t avg_window; /* number of averages in avg_count */ + } fn_stats; /* Radio Link Timeout counter. -1 disables timeout for * lab/measurement purpose */ int radio_link_timeout; diff --git a/src/common/bts.c b/src/common/bts.c index 97e7a8b..3626b05 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -223,6 +223,11 @@ rc = osmo_fsm_register(&dtx_dl_amr_fsm); OSMO_ASSERT(rc == 0); + bts->fn_stats.min = INT32_MAX; + bts->fn_stats.max = INT32_MIN; + bts->fn_stats.avg_count = 0; + bts->fn_stats.avg_window = 256; + return rc; } diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 59d5b93..0e0b396 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -719,6 +719,31 @@ return l1sap_fn2ccch_block(fn) < num_agch(trx, "PH-RTS-IND"); } +/* return the measured average of frame numbers that the RTS clock is running in advance */ +int32_t bts_get_avg_fn_advance(struct gsm_bts *bts) +{ + return bts->fn_stats.avg256 / bts->fn_stats.avg_count; +} + +static void l1sap_update_fnstats(struct gsm_bts *bts, uint32_t rts_fn) +{ + int32_t delta = (rts_fn + GSM_HYPERFRAME - bts->gsm_time.fn) % GSM_HYPERFRAME; + + if (delta < bts->fn_stats.min) + bts->fn_stats.min = delta; + if (delta > bts->fn_stats.max) + bts->fn_stats.max = delta; + + if (bts->fn_stats.avg_count > bts->fn_stats.avg_window) { + /* reset and start old average and new sample */ + bts->fn_stats.avg256 = (bts->fn_stats.avg256 / bts->fn_stats.avg_count) + delta; + bts->fn_stats.avg_count = 2; + } else { + bts->fn_stats.avg256 += delta; + bts->fn_stats.avg_count++; + } +} + /* PH-RTS-IND prim received from bts model */ static int l1sap_ph_rts_ind(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap, struct ph_data_param *rts_ind) @@ -745,6 +770,8 @@ DEBUGPGT(DL1P, &g_time, "Rx PH-RTS.ind chan_nr=%s link_id=0x%02xd\n", rsl_chan_nr_str(chan_nr), link_id); + l1sap_update_fnstats(trx->bts, fn); + /* reuse PH-RTS.ind for PH-DATA.req */ if (!msg) { LOGPGT(DL1P, LOGL_FATAL, &g_time, "RTS without msg to be reused. Please fix!\n"); diff --git a/src/common/vty.c b/src/common/vty.c index 1d25bfb..f4fc181 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -895,6 +895,8 @@ VTY_NEWLINE); vty_out(vty, " OML Link state: %s.%s", bts->oml_link ? "connected" : "disconnected", VTY_NEWLINE); + vty_out(vty, " PH-RTS.ind FN advance average: %d, min: %d, max: %d%s", + bts_get_avg_fn_advance(bts), bts->fn_stats.min, bts->fn_stats.max, VTY_NEWLINE); llist_for_each_entry(trx, &bts->trx_list, list) { struct phy_instance *pinst = trx_phy_instance(trx); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8f739fdb808a614f080afbc4654641ec3df19eb2 Gerrit-Change-Number: 14336 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 18:48:50 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 18:48:50 +0000 Subject: Change in ...osmo-bts[master]: [correctly] use the LAPDm T200 values received via OML Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14337 Change subject: [correctly] use the LAPDm T200 values received via OML ...................................................................... [correctly] use the LAPDm T200 values received via OML As per GSM TS 12.21, the LAPDm timers (T200) of the LAPDm instances in the BTS are configured via OML from the BSC. While OsmoBSC is sending them and OsmoBTS is parsing them, OsmoBTS stopped to make use of them from commit 3ca59512d2f4eb1f87699e8fada67f33674918b4 (January 2016) onwards. The cause for this has been documented and discovered in May 2017 in https://osmocom.org/issues/2294 and it is quite obvious: LAPDm timers are supposed to start when a given frame is actually transmitted on the radio interface. PH-RTS.ind and PH-DATA.req are suppsed to be used over a synchronous interface in some deeply embedded processor. With OsmoBTS however, we have an asynchronous L1/L2 interface between a DSP (osmo-bts-{sysmo,lc15,oc2g,octphy}) or OsmoTRX (osmo-bts-trx) and we receive PH-RTS.ind quite some time ahead. So if we start T200 at that point, then it will start running way before it has been sent or before the MS has had a chance to receive the message. The "correct" way to handle this is to actually measure the difference between frame numbers in PH-RTS.ind (uplink, advanced) and PH-DATA.ind (downlink) or PH-TIME.ind, and then add that amount to the actual timeout value. This ensures that the timers will time-out the user-specified amount of time after the actual transmit. Change-Id: If8babda9e3e5e219908911ddd9c0756b5ea0bca4 Closes: OS#2294 Closes: OS#3906 --- M src/common/oml.c 1 file changed, 13 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/37/14337/1 diff --git a/src/common/oml.c b/src/common/oml.c index d264a6e..ad58cb9 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -488,8 +488,15 @@ [T200_SACCH_TCH_SAPI3] = 2000, }; -static void dl_set_t200(struct lapdm_datalink *dl, unsigned int t200_msec) +static void dl_set_t200(struct gsm_bts *bts, struct lapdm_datalink *dl, unsigned int t200_msec) { + int32_t fn_advance = bts_get_avg_fn_advance(bts); + int32_t fn_advance_us = fn_advance * 4615; /* 4.615 ms per frame */ + + /* we have to compensate for the "RTS advance" due to the asynchronous interface between + * the BTS (LAPDm) and the PHY/L1 (OsmoTRX or DSP in case of osmo-bts-{sysmo,lc15,oc2g,octphy} */ + t200_msec += fn_advance_us / 1000; + dl->dl.t200_sec = t200_msec / 1000; dl->dl.t200_usec = (t200_msec % 1000) * 1000; } @@ -528,10 +535,10 @@ LOGPLCHAN(lchan, DLLAPD, LOGL_DEBUG, "Setting T200 D0=%u, D3=%u, S0=%u, S3=%u (all in ms)\n", t200_dcch, t200_dcch_sapi3, t200_acch, t200_acch_sapi3); - dl_set_t200(&lc->lapdm_dcch.datalink[DL_SAPI0], t200_dcch); - dl_set_t200(&lc->lapdm_dcch.datalink[DL_SAPI3], t200_dcch_sapi3); - dl_set_t200(&lc->lapdm_acch.datalink[DL_SAPI0], t200_acch); - dl_set_t200(&lc->lapdm_acch.datalink[DL_SAPI3], t200_acch_sapi3); + dl_set_t200(bts, &lc->lapdm_dcch.datalink[DL_SAPI0], t200_dcch); + dl_set_t200(bts, &lc->lapdm_dcch.datalink[DL_SAPI3], t200_dcch_sapi3); + dl_set_t200(bts, &lc->lapdm_acch.datalink[DL_SAPI0], t200_acch); + dl_set_t200(bts, &lc->lapdm_acch.datalink[DL_SAPI3], t200_acch_sapi3); return 0; } @@ -674,20 +681,10 @@ payload = TLVP_VAL(&tp, NM_ATT_T200); for (i = 0; i < ARRAY_SIZE(bts->t200_ms); i++) { uint32_t t200_ms = payload[i] * abis_nm_t200_ms[i]; -#if 0 bts->t200_ms[i] = t200_ms; DEBUGPFOH(DOML, foh, "T200[%u]: OML=%u, mult=%u => %u ms\n", - i, payload[i], abis_nm_t200_mult[i], + i, payload[i], abis_nm_t200_ms[i], bts->t200_ms[i]); -#else - /* we'd rather use the 1s/2s (long) defaults by - * libosmocore, as we appear to have some bug(s) - * related to handling T200 expiration in - * libosmogsm lapd(m) code? */ - LOGPFOH(DOML, LOGL_NOTICE, foh, "Ignoring T200[%u] (%u ms) " - "as sent by BSC due to suspected LAPDm bug!\n", - i, t200_ms); -#endif } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If8babda9e3e5e219908911ddd9c0756b5ea0bca4 Gerrit-Change-Number: 14337 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 18:48:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 18:48:51 +0000 Subject: Change in ...osmo-bts[master]: Update T200 timer default values Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14338 Change subject: Update T200 timer default values ...................................................................... Update T200 timer default values The default values of 1s were *very* long, particularly for fast channels such as FACCH. Let's use much more aggressive values that are more in-line with various recommendations that cold be found online, such as https://pcstelconext.wordpress.com/2011/05/02/2g-timer-explanations/ https://www.erlang.com/forum/erlang/thread.htx?thread=2844 https://www.erlang.com/forum/erlang/thread.htx?thread=7180 https://de.slideshare.net/BisiAdebambo/138078380-gsmtimers-59637131 Change-Id: Ic1268ae2d769b12da6cdd4ac8375e4bc033a9e3e --- M src/common/oml.c 1 file changed, 9 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/38/14338/1 diff --git a/src/common/oml.c b/src/common/oml.c index ad58cb9..7d24509 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -476,16 +476,16 @@ return oml_mo_send_msg(mo, nmsg, NM_MT_SW_ACTIVATED_REP); } -/* The defaults below correspond to the libosmocore default of 1s for - * DCCH and 2s for ACCH. The BSC should override this via OML anyway. */ +/* The defaults below correspond to various sources/recommendations that could be found online. + * The BSC should override this via OML anyway. */ const unsigned int oml_default_t200_ms[7] = { - [T200_SDCCH] = 1000, - [T200_FACCH_F] = 1000, - [T200_FACCH_H] = 1000, - [T200_SACCH_TCH_SAPI0] = 2000, - [T200_SACCH_SDCCH] = 2000, - [T200_SDCCH_SAPI3] = 1000, - [T200_SACCH_TCH_SAPI3] = 2000, + [T200_SDCCH] = 220, + [T200_SDCCH_SAPI3] = 450, + [T200_SACCH_SDCCH] = 900, + [T200_FACCH_F] = 250, + [T200_FACCH_H] = 250, + [T200_SACCH_TCH_SAPI0] = 1500, + [T200_SACCH_TCH_SAPI3] = 1500, }; static void dl_set_t200(struct gsm_bts *bts, struct lapdm_datalink *dl, unsigned int t200_msec) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic1268ae2d769b12da6cdd4ac8375e4bc033a9e3e Gerrit-Change-Number: 14338 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 19:21:44 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Jun 2019 19:21:44 +0000 Subject: Change in ...osmo-bts[master]: trx: Update documentation for fn-advance and rts-advance In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14334 ) Change subject: trx: Update documentation for fn-advance and rts-advance ...................................................................... Patch Set 1: Code-Review-1 (3 comments) https://gerrit.osmocom.org/#/c/14334/1/doc/manuals/chapters/bts-models.adoc File doc/manuals/chapters/bts-models.adoc: https://gerrit.osmocom.org/#/c/14334/1/doc/manuals/chapters/bts-models.adoc at 254 PS1, Line 254: clock Looks a bit confusing. OsmoBTS actually does send DL bursts in advance, that's the purpose of 'fn-advance'. https://gerrit.osmocom.org/#/c/14334/1/doc/manuals/chapters/bts-models.adoc at 256 PS1, Line 256: J typo https://gerrit.osmocom.org/#/c/14334/1/doc/manuals/chapters/bts-models.adoc at 258 PS1, Line 258: `N + fn-advance` That would be too late, 'fn-advance' is actually being subtracted. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I83eff296bfb7acff9d8560b5346bd9791fe6e7d9 Gerrit-Change-Number: 14334 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 02 Jun 2019 19:21:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 19:26:09 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 2 Jun 2019 19:26:09 +0000 Subject: Change in ...osmo-bts[master]: trx: Update documentation for fn-advance and rts-advance In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14334 ) Change subject: trx: Update documentation for fn-advance and rts-advance ...................................................................... Patch Set 1: Code-Review+1 Oh, I am sorry. Nevermind. I was confused. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I83eff296bfb7acff9d8560b5346bd9791fe6e7d9 Gerrit-Change-Number: 14334 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 02 Jun 2019 19:26: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 2 19:38:28 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 19:38:28 +0000 Subject: Change in ...libosmocore[master]: lapdm: Allow user to specify T200 values; Use correct N200 values Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14339 Change subject: lapdm: Allow user to specify T200 values; Use correct N200 values ...................................................................... lapdm: Allow user to specify T200 values; Use correct N200 values TS 04.06 specifies a N200 re-transmission counter that depends on the channel type, which we didn't care about at all so far. Let's have the caller tell us the channel type so we can internally look up the correct N200 value for it. At the same time, permit the user to specify T200 re-transmission timer values for each SAPI on both DCCH and ACCH, which is required at least in the BTS as per GSM TS 12.21. Also, extend the timer resolution of the API from seconds to milli-seconds, which is more applicable as particularly on the FACCH the recommended values are in the 200ms range. Change-Id: I90fdc4dd4720d4e02213197c894eb0a55a39158c Related: OS#3906 Related: OS#2294 --- M include/osmocom/gsm/lapdm.h M src/gsm/lapdm.c M src/gsm/libosmogsm.map 3 files changed, 75 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/39/14339/1 diff --git a/include/osmocom/gsm/lapdm.h b/include/osmocom/gsm/lapdm.h index e01d065..fc51ae5 100644 --- a/include/osmocom/gsm/lapdm.h +++ b/include/osmocom/gsm/lapdm.h @@ -81,9 +81,14 @@ struct lapdm_datalink *lapdm_datalink_for_sapi(struct lapdm_entity *le, uint8_t sapi); /* initialize a LAPDm entity */ -void lapdm_entity_init(struct lapdm_entity *le, enum lapdm_mode mode, int t200); -void lapdm_channel_init(struct lapdm_channel *lc, enum lapdm_mode mode); - +void lapdm_entity_init(struct lapdm_entity *le, enum lapdm_mode mode, int t200) + OSMO_DEPRECATED("Use lapdm_entity_init2() instead"); +void lapdm_entity_init2(struct lapdm_entity *le, enum lapdm_mode mode, + const int *t200_ms, int n200); +void lapdm_channel_init(struct lapdm_channel *lc, enum lapdm_mode mode) + OSMO_DEPRECATED("Use lapdm_channel_init2() instead"); +void lapdm_channel_init2(struct lapdm_channel *lc, enum lapdm_mode mode, + const int *t200_ms_dcch, const int *t200_ms_acch, enum gsm_chan_t chan_t); /* deinitialize a LAPDm entity */ void lapdm_entity_exit(struct lapdm_entity *le); void lapdm_channel_exit(struct lapdm_channel *lc); diff --git a/src/gsm/lapdm.c b/src/gsm/lapdm.c index f1651d6..8fddb65 100644 --- a/src/gsm/lapdm.c +++ b/src/gsm/lapdm.c @@ -132,7 +132,7 @@ static int update_pending_frames(struct lapd_msg_ctx *lctx); static void lapdm_dl_init(struct lapdm_datalink *dl, - struct lapdm_entity *entity, int t200) + struct lapdm_entity *entity, int t200_ms, uint32_t n200) { memset(dl, 0, sizeof(*dl)); dl->entity = entity; @@ -142,38 +142,94 @@ dl->dl.send_dlsap = send_rslms_dlsap; dl->dl.update_pending_frames = update_pending_frames; dl->dl.n200_est_rel = N200_EST_REL; - dl->dl.n200 = N200; + dl->dl.n200 = n200; dl->dl.t203_sec = 0; dl->dl.t203_usec = 0; - dl->dl.t200_sec = t200; dl->dl.t200_usec = 0; + dl->dl.t200_sec = t200_ms / 1000; dl->dl.t200_usec = (t200_ms % 1000) * 1000; } /*! initialize a LAPDm entity and all datalinks inside * \param[in] le LAPDm entity * \param[in] mode \ref lapdm_mode (BTS/MS) + * \param[in] t200 T200 re-transmission timer for all SAPIs in seconds + * + * Don't use this function; It doesn't support different T200 values per API + * and doesn't permit the caller to specify the N200 counter, both of which + * are required by GSM specs and supported by lapdm_entity_init2(). */ void lapdm_entity_init(struct lapdm_entity *le, enum lapdm_mode mode, int t200) { + /* convert from single full-second value to per-SAPI milli-second value */ + int t200_ms_sapi_arr[_NR_DL_SAPI]; + for (int i = 0; i < ARRAY_SIZE(t200_ms_sapi_arr); i++) + t200_ms_sapi_arr[i] = t200 * 1000; + + return lapdm_entity_init2(le, mode, t200_ms_sapi_arr, N200); +} + +/*! initialize a LAPDm entity and all datalinks inside + * \param[in] le LAPDm entity + * \param[in] mode \ref lapdm_mode (BTS/MS) + * \param[in] t200_ms per-SAPI array of T200 re-transmission timer in milli-seconds + * \param[in] n200 N200 re-transmisison count + */ +void lapdm_entity_init2(struct lapdm_entity *le, enum lapdm_mode mode, + const int *t200_ms, int n200) +{ unsigned int i; for (i = 0; i < ARRAY_SIZE(le->datalink); i++) - lapdm_dl_init(&le->datalink[i], le, t200); + lapdm_dl_init(&le->datalink[i], le, t200_ms[i], n200); lapdm_entity_set_mode(le, mode); } +static int get_n200_dcch(enum gsm_chan_t chan_t) +{ + switch (chan_t) { + case GSM_LCHAN_SDCCH: + return N200_TR_SDCCH; + case GSM_LCHAN_TCH_F: + return N200_TR_FACCH_FR; + case GSM_LCHAN_TCH_H: + return N200_TR_FACCH_HR; + default: + return -1; + } +} + /*! initialize a LAPDm channel and all its channels * \param[in] lc \ref lapdm_channel to be initialized * \param[in] mode \ref lapdm_mode (BTS/MS) * - * This really is a convenience wrapper around calling \ref - * lapdm_entity_init twice. + * Don't use this function; It doesn't support different T200 values per API + * and doesn't set the correct N200 counter, both of which + * are required by GSM specs and supported by lapdm_channel_init2(). */ void lapdm_channel_init(struct lapdm_channel *lc, enum lapdm_mode mode) { - lapdm_entity_init(&lc->lapdm_acch, mode, 2); + /* emulate old backwards-compatible behavior with 1s/2s */ + const int t200_ms_dcch[_NR_DL_SAPI] = { 1000, 1000 }; + const int t200_ms_acch[_NR_DL_SAPI] = { 2000, 2000 }; + + lapdm_channel_init2(lc, mode, t200_ms_dcch, t200_ms_acch, GSM_LCHAN_SDCCH); +} + +/*! initialize a LAPDm channel and all its channels + * \param[in] lc \ref lapdm_channel to be initialized + * \param[in] mode \ref lapdm_mode (BTS/MS) + * \param[in] t200_ms_dcch per-SAPI array of T200 in milli-seconds for DCCH + * \param[in] t200_ms_acch per-SAPI array of T200 in milli-seconds for SACCH + * \param[in] chan_t GSM channel type (to correctly set N200) + */ +void lapdm_channel_init2(struct lapdm_channel *lc, enum lapdm_mode mode, + const int *t200_ms_dcch, const int *t200_ms_acch, enum gsm_chan_t chan_t) +{ + int n200_dcch = get_n200_dcch(chan_t); + + lapdm_entity_init2(&lc->lapdm_acch, mode, t200_ms_acch, N200_TR_SACCH); lc->lapdm_acch.lapdm_ch = lc; - /* FIXME: this depends on chan type */ - lapdm_entity_init(&lc->lapdm_dcch, mode, 1); + + lapdm_entity_init2(&lc->lapdm_dcch, mode, t200_ms_dcch, n200_dcch); lc->lapdm_dcch.lapdm_ch = lc; } diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index d49401d..646aec2 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -456,6 +456,7 @@ lapdm_channel_exit; lapdm_channel_init; +lapdm_channel_init2; lapdm_channel_reset; lapdm_channel_set_flags; lapdm_channel_set_l1; @@ -464,6 +465,7 @@ lapdm_datalink_for_sapi; lapdm_entity_exit; lapdm_entity_init; +lapdm_entity_init2; lapdm_entity_reset; lapdm_entity_set_flags; lapdm_entity_set_mode; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I90fdc4dd4720d4e02213197c894eb0a55a39158c Gerrit-Change-Number: 14339 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 20:00:22 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 20:00:22 +0000 Subject: Change in ...libosmocore[master]: lapdm: Allow user to specify T200 values; Use correct N200 values 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/+/14339 to look at the new patch set (#2). Change subject: lapdm: Allow user to specify T200 values; Use correct N200 values ...................................................................... lapdm: Allow user to specify T200 values; Use correct N200 values TS 04.06 specifies a N200 re-transmission counter that depends on the channel type, which we didn't care about at all so far. Let's have the caller tell us the channel type so we can internally look up the correct N200 value for it. At the same time, permit the user to specify T200 re-transmission timer values for each SAPI on both DCCH and ACCH, which is required at least in the BTS as per GSM TS 12.21. Also, extend the timer resolution of the API from seconds to milli-seconds, which is more applicable as particularly on the FACCH the recommended values are in the 200ms range. Change-Id: I90fdc4dd4720d4e02213197c894eb0a55a39158c Related: OS#3906 Related: OS#2294 Related: OS#4037 --- M include/osmocom/gsm/lapdm.h M src/gsm/lapdm.c M src/gsm/libosmogsm.map 3 files changed, 77 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/39/14339/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I90fdc4dd4720d4e02213197c894eb0a55a39158c Gerrit-Change-Number: 14339 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte 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 2 20:03:30 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 20:03:30 +0000 Subject: Change in ...osmo-bts[master]: lapdm: Use new libosmocore API to ensure per-channel-type N200 values Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14340 Change subject: lapdm: Use new libosmocore API to ensure per-channel-type N200 values ...................................................................... lapdm: Use new libosmocore API to ensure per-channel-type N200 values By using new libosmocore LAPDm API we can specify the GSM channel type and hence enable the LAPDm code to use a per-channel-type specific N200 value. At the same time, this new API also allows us to specify T200 values when initializing the LAPDm channel, so we don't have to fiddle with low-level lapdm data structures in what used to be oml_set_lchan_t200(). Change-Id: I0e814fbae13e0feddd148c47255dcc38cb718f48 Depends: libosmocore I90fdc4dd4720d4e02213197c894eb0a55a39158c Closes: OS#4037 --- M include/osmo-bts/oml.h M src/common/bts.c M src/common/oml.c 3 files changed, 40 insertions(+), 59 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/40/14340/1 diff --git a/include/osmo-bts/oml.h b/include/osmo-bts/oml.h index 14da70e..b92a974 100644 --- a/include/osmo-bts/oml.h +++ b/include/osmo-bts/oml.h @@ -40,8 +40,6 @@ int oml_mo_fom_ack_nack(const struct gsm_abis_mo *mo, uint8_t orig_msg_type, uint8_t cause); -/* Configure LAPDm T200 timers for this lchan according to OML */ -int oml_set_lchan_t200(struct gsm_lchan *lchan); extern const unsigned int oml_default_t200_ms[7]; /* Transmit failure event report */ diff --git a/src/common/bts.c b/src/common/bts.c index 3626b05..25717ac 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -377,15 +377,53 @@ return 0; } +/* prepare the per-SAPI T200 arrays for a given lchan */ +static int t200_by_lchan(int *t200_ms_dcch, int *t200_ms_acch, struct gsm_lchan *lchan) +{ + struct gsm_bts *bts = lchan->ts->trx->bts; + + /* we have to compensate for the "RTS advance" due to the asynchronous interface between + * the BTS (LAPDm) and the PHY/L1 (OsmoTRX or DSP in case of osmo-bts-{sysmo,lc15,oc2g,octphy} */ + int32_t fn_advance = bts_get_avg_fn_advance(bts); + int32_t fn_advance_us = fn_advance * 4615; + int fn_advance_ms = fn_advance_us / 1000; + + t200_ms_acch[DL_SAPI0] = bts->t200_ms[T200_SACCH_SDCCH] + fn_advance_ms; + t200_ms_acch[DL_SAPI3] = bts->t200_ms[T200_SACCH_SDCCH] + fn_advance_ms; + + switch (lchan->type) { + case GSM_LCHAN_SDCCH: + t200_ms_dcch[DL_SAPI0] = bts->t200_ms[T200_SDCCH] + fn_advance_ms; + t200_ms_dcch[DL_SAPI3] = bts->t200_ms[T200_SDCCH_SAPI3] + fn_advance_ms; + break; + case GSM_LCHAN_TCH_F: + t200_ms_dcch[DL_SAPI0] = bts->t200_ms[T200_FACCH_F] + fn_advance_ms; + t200_ms_dcch[DL_SAPI3] = bts->t200_ms[T200_FACCH_F] + fn_advance_ms; + break; + case GSM_LCHAN_TCH_H: + t200_ms_dcch[DL_SAPI0] = bts->t200_ms[T200_FACCH_H] + fn_advance_ms; + t200_ms_dcch[DL_SAPI3] = bts->t200_ms[T200_FACCH_H] + fn_advance_ms; + break; + default: + return -1; + } + return 0; +} + int lchan_init_lapdm(struct gsm_lchan *lchan) { struct lapdm_channel *lc = &lchan->lapdm_ch; + int t200_ms_dcch[_NR_DL_SAPI], t200_ms_acch[_NR_DL_SAPI]; - lapdm_channel_init(lc, LAPDM_MODE_BTS); + t200_by_lchan(t200_ms_dcch, t200_ms_acch, lchan); + + LOGPLCHAN(lchan, DLLAPD, LOGL_DEBUG, "Setting T200 D0=%u, D3=%u, S0=%u, S3=%u (all in ms)\n", + t200_ms_dcch[DL_SAPI0], t200_ms_dcch[DL_SAPI3], t200_ms_acch[DL_SAPI0], t200_ms_acch[DL_SAPI3]); + + lapdm_channel_init2(lc, LAPDM_MODE_BTS, t200_ms_dcch, t200_ms_acch, lchan->type); lapdm_channel_set_flags(lc, LAPDM_ENT_F_POLLING_ONLY); lapdm_channel_set_l1(lc, NULL, lchan); lapdm_channel_set_l3(lc, lapdm_rll_tx_cb, lchan); - oml_set_lchan_t200(lchan); return 0; } diff --git a/src/common/oml.c b/src/common/oml.c index 7d24509..8ecafbb 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -488,61 +488,6 @@ [T200_SACCH_TCH_SAPI3] = 1500, }; -static void dl_set_t200(struct gsm_bts *bts, struct lapdm_datalink *dl, unsigned int t200_msec) -{ - int32_t fn_advance = bts_get_avg_fn_advance(bts); - int32_t fn_advance_us = fn_advance * 4615; /* 4.615 ms per frame */ - - /* we have to compensate for the "RTS advance" due to the asynchronous interface between - * the BTS (LAPDm) and the PHY/L1 (OsmoTRX or DSP in case of osmo-bts-{sysmo,lc15,oc2g,octphy} */ - t200_msec += fn_advance_us / 1000; - - dl->dl.t200_sec = t200_msec / 1000; - dl->dl.t200_usec = (t200_msec % 1000) * 1000; -} - -/* Configure LAPDm T200 timers for this lchan according to OML */ -int oml_set_lchan_t200(struct gsm_lchan *lchan) -{ - struct gsm_bts *bts = lchan->ts->trx->bts; - struct lapdm_channel *lc = &lchan->lapdm_ch; - unsigned int t200_dcch, t200_dcch_sapi3, t200_acch, t200_acch_sapi3; - - /* set T200 for main and associated channel */ - switch (lchan->type) { - case GSM_LCHAN_SDCCH: - t200_dcch = bts->t200_ms[T200_SDCCH]; - t200_dcch_sapi3 = bts->t200_ms[T200_SDCCH_SAPI3]; - t200_acch = bts->t200_ms[T200_SACCH_SDCCH]; - t200_acch_sapi3 = bts->t200_ms[T200_SACCH_SDCCH]; - break; - case GSM_LCHAN_TCH_F: - t200_dcch = bts->t200_ms[T200_FACCH_F]; - t200_dcch_sapi3 = bts->t200_ms[T200_FACCH_F]; - t200_acch = bts->t200_ms[T200_SACCH_TCH_SAPI0]; - t200_acch_sapi3 = bts->t200_ms[T200_SACCH_TCH_SAPI3]; - break; - case GSM_LCHAN_TCH_H: - t200_dcch = bts->t200_ms[T200_FACCH_H]; - t200_dcch_sapi3 = bts->t200_ms[T200_FACCH_H]; - t200_acch = bts->t200_ms[T200_SACCH_TCH_SAPI0]; - t200_acch_sapi3 = bts->t200_ms[T200_SACCH_TCH_SAPI3]; - break; - default: - return -1; - } - - LOGPLCHAN(lchan, DLLAPD, LOGL_DEBUG, "Setting T200 D0=%u, D3=%u, S0=%u, S3=%u (all in ms)\n", - t200_dcch, t200_dcch_sapi3, t200_acch, t200_acch_sapi3); - - dl_set_t200(bts, &lc->lapdm_dcch.datalink[DL_SAPI0], t200_dcch); - dl_set_t200(bts, &lc->lapdm_dcch.datalink[DL_SAPI3], t200_dcch_sapi3); - dl_set_t200(bts, &lc->lapdm_acch.datalink[DL_SAPI0], t200_acch); - dl_set_t200(bts, &lc->lapdm_acch.datalink[DL_SAPI3], t200_acch_sapi3); - - return 0; -} - /* 3GPP TS 52.021 ?8.11.1 Get Attributes has been received */ static int oml_rx_get_attr(struct gsm_bts *bts, struct msgb *msg) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0e814fbae13e0feddd148c47255dcc38cb718f48 Gerrit-Change-Number: 14340 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 20:07:22 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 20:07:22 +0000 Subject: Change in ...osmo-bts[master]: trx: Update documentation for fn-advance and rts-advance In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14334 ) Change subject: trx: Update documentation for fn-advance and rts-advance ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/14334/1/doc/manuals/chapters/bts-models.adoc File doc/manuals/chapters/bts-models.adoc: https://gerrit.osmocom.org/#/c/14334/1/doc/manuals/chapters/bts-models.adoc at 254 PS1, Line 254: clock > Looks a bit confusing. [?] which part do you find confusing? Isn't this exactly what I'm explaining? https://gerrit.osmocom.org/#/c/14334/1/doc/manuals/chapters/bts-models.adoc at 258 PS1, Line 258: `N + fn-advance` > That would be too late, 'fn-advance' is actually being subtracted. that wouldn't work. We must generate data for a higher frame number now, so that data for that future (higher) frame number is at OsmoTRX before it is required. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I83eff296bfb7acff9d8560b5346bd9791fe6e7d9 Gerrit-Change-Number: 14334 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 02 Jun 2019 20:07:22 +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 2 20:36:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 20:36:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: move lapdm/L1CTL_Test.ttcn to bts/BTS_Tests_LAPDm.ttcn 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/+/14327 to look at the new patch set (#2). Change subject: move lapdm/L1CTL_Test.ttcn to bts/BTS_Tests_LAPDm.ttcn ...................................................................... move lapdm/L1CTL_Test.ttcn to bts/BTS_Tests_LAPDm.ttcn Change-Id: Ibbc967f0bd9a19ab4bbd17f612654d72cb32d571 --- M Makefile R bts/BTS_Tests_LAPDm.ttcn 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/14327/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibbc967f0bd9a19ab4bbd17f612654d72cb32d571 Gerrit-Change-Number: 14327 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte 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 2 20:36:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 20:36:51 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: WIP: LAPDm tests Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14341 Change subject: WIP: LAPDm tests ...................................................................... WIP: LAPDm tests Change-Id: I4e1136c0c0f10d5bc8d01e826ae5d92f17a0b2aa --- M bts/BTS_Tests.ttcn M bts/BTS_Tests_LAPDm.ttcn M library/LAPDm_Types.ttcn 3 files changed, 513 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/41/14341/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index c43774d..e48c05a 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -61,9 +61,11 @@ import from Osmocom_VTY_Functions all; import from TELNETasp_PortType all; +import from BTS_Tests_LAPDm all; friend module BTS_Tests_SMSCB; friend module BTS_Tests_virtphy; +friend module BTS_Tests_LAPDm; /* The tests assume a BTS with the following timeslot configuration: * TS0 : Combined CCCH + SDCCH/4 @@ -155,7 +157,7 @@ } /* an individual call / channel */ -type component ConnHdlr extends RSL_DchanHdlr { +type component ConnHdlr extends RSL_DchanHdlr, lapdm_test_CT { port L1CTL_PT L1CTL; port TRXC_CODEC_PT BTS_TRXC; @@ -551,7 +553,7 @@ "RF CHAN REL", true); } -private template ConnHdlrPars t_Pars(template RslChannelNr chan_nr, +friend template ConnHdlrPars t_Pars(template RslChannelNr chan_nr, template RSL_IE_ChannelMode chan_mode, float t_guard := 20.0) := { chan_nr := valueof(chan_nr), @@ -699,7 +701,7 @@ } /* execute the same callback function on a variety of logical channels */ -private function f_testmatrix_each_chan(ConnHdlrPars pars, void_fn fn) runs on test_CT { +friend function f_testmatrix_each_chan(ConnHdlrPars pars, void_fn fn) runs on test_CT { var ConnHdlr vc_conn; f_init(); diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index 33aa174..1220eb4 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -4,7 +4,9 @@ import from Osmocom_Types all; import from LAPDm_RAW_PT all; import from LAPDm_Types all; +import from RSL_Types all; import from BTS_Tests all; +import from Misc_Helpers all; /* test that use exclusively only LAPDm over L1CTL */ type component lapdm_test_CT { @@ -14,8 +16,6 @@ /* contrary to BTS_Tests.ttcn, we use LAPDm_PT here, a convenience wrapper * around L1CTL to perform encode/decode of abstract LAPDm frames */ -type component lapdm_bts_CT extends lapdm_test_CT, test_CT { -} /********************************************************************************* * Test using only L1CTL/LAPDm @@ -34,9 +34,17 @@ lapdm_component.start(LAPDmStart()); } +function f_lapdm_exit() runs on lapdm_test_CT { + lapdm_component.stop; + log("YYY stopped"); + lapdm_component.done; + unmap(lapdm_component:L1CTL, system:L1CTL); + log("YYY exit return"); +} + /* master function establishing a dedicated radio channel (takes care of RACH/IMM.ASS handling) */ function f_establish_dcch() runs on lapdm_test_CT { - var BCCH_tune_req tune_req := { arfcn := { false, 871 }, combined_ccch := true }; + var BCCH_tune_req tune_req := { arfcn := { false, mp_trx0_arfcn }, combined_ccch := true }; var DCCH_establish_req est_req := { ra := 23 }; LAPDM.send(tune_req); @@ -44,6 +52,16 @@ LAPDM.receive(DCCH_establish_res:?); } +/* master function switching to a dedicated radio channel */ +function f_switch_dcch(Arfcn arfcn, RslChannelNr chan_nr, GsmTsc tsc) runs on lapdm_test_CT { + var BCCH_tune_req tune_req := { arfcn := arfcn, combined_ccch := true }; + var DCCH_switch_req sw_req := { arfcn, chan_nr, tsc }; + + LAPDM.send(tune_req); + LAPDM.send(sw_req); + LAPDM.receive(DCCH_switch_res:?); +} + /* helper function releasing dedicated radio channel physically (no Um signaling!) */ function f_release_dcch() runs on lapdm_test_CT { var DCCH_release_req rel_req := {}; @@ -252,6 +270,434 @@ log("DEC: ", dec_LapdmFrameAB('0303012B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B'O)); } +/********************************************************************************* + * Test using both L1CTL/LAPDm and RSL + *********************************************************************************/ + +private function fp_common_init() runs on ConnHdlr +{ + /* undo what f_start_handler is doing and pull LAPDm_CT into the loop */ + unmap(self:L1CTL, system:L1CTL); + f_lapdm_init(); + /* activate the channel on the BTS side */ + f_rsl_chan_act(g_pars.chan_mode, false, {}); + /* activate the channel on the MS side */ + f_switch_dcch({false, mp_trx0_arfcn}, g_chan_nr, 7); +} + +private function fp_common_fini() runs on ConnHdlr +{ + f_release_dcch(); + f_rsl_chan_deact(); + f_lapdm_exit(); +} + +/* Verify that the BTS is re-transmitting SABM messages after T200 timeout, inspired + by 3GPP TS 51.010-1 25.2.1.1.2.1 + 25.2.1.2.4 */ +private function f_TC_sabm_retransmit_bts(charstring id) runs on ConnHdlr { + const integer sapi := 3; /* BTS may not establish SAPI=0 outbound */ + fp_common_init(); + + LAPDM.clear; + RSL.send(ts_RSL_EST_REQ(g_chan_nr, ts_RslLinkID_DCCH(sapi))); + + timer T := 8.0; + var integer sabm_received := 0; + T.start; + alt { + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_SABM(sapi, ?, ?, ''O))) { + sabm_received := sabm_received + 1; + repeat; + } + [] LAPDM.receive { repeat; } + [] T.timeout { } + } + if (sabm_received == 0) { + setverdict(fail, "No SABM observed at all!"); + } else if (sabm_received != 6) { + setverdict(fail, "Incorrect number of SABM re-transmissions of observed: ", + sabm_received); + } else { + setverdict(pass, "Received ", sabm_received, " SABM"); + } + + fp_common_fini(); +} +testcase TC_sabm_retransmit_bts() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_retransmit_bts)); +} + + +type record LapdmNamedFrame { + charstring name, + LapdmFrame lapdm +}; + +/* Test that the BTS will ignore receipt of frames other than a UA when + * received in response to the SABM frame, inspired from 3GPP TS 51.010-1 + * Section 25.2.1.1.2.3 */ +private function f_TC_sabm_invalid_resp2(charstring id, LapdmNamedFrame err_frame) runs on ConnHdlr { + var integer sapi := err_frame.lapdm.ab.addr.sapi; + fp_common_init(); + + /* Establish Request via RSL; Expect SABM on LAPDm side */ + LAPDM.clear; + RSL.send(ts_RSL_EST_REQ(g_chan_nr, ts_RslLinkID_DCCH(sapi))); + alt { + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_SABM(sapi, ?, ?, ''O))); + [] LAPDM.receive { repeat; } + } + + /* send erroneous response to SABM */ + LAPDM.send(t_PH_DATA(0, false, err_frame.lapdm)); + + /* expect a SABM retransmission of the BTS */ + timer T := 3.0; + T.start; + alt { + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_SABM(sapi, ?, ?, ''O))) { + setverdict(pass); + } + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UI(0, ?, ''O))) { repeat; } + [] LAPDM.receive(t_PH_DATA(0, false, ?)) { + setverdict(fail, "Received unexpected LAPDm frame instead of SABM after sending ", + err_frame.name); + } + [] LAPDM.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for SABM retransmission after sending ", + err_frame.name); + } + } + + fp_common_fini(); +} +private function f_TC_sabm_invalid_resp(charstring id) runs on ConnHdlr { + const integer sapi := 3; /* BTS may not establish SAPI=0 outbound */ + var LapdmNamedFrame err_frame[3] := { + { "I", valueof(ts_LAPDm_I(sapi, c_r := cr_MO_CMD, p := true, nr := 0, ns := 0, + l3 := '01020304'O)) }, + { "RR", valueof(ts_LAPDm_RR(sapi, c_r := cr_MO_CMD, p := true, nr := 0)) }, + { "REJ" , valueof(ts_LAPDm_REJ(sapi, c_r := cr_MO_CMD, p := true, nr := 0)) } + }; + var integer i; + + for (i := 0; i < lengthof(err_frame); i := i+1) { + f_TC_sabm_invalid_resp2(id, err_frame[i]) + } +} +testcase TC_sabm_invalid_resp() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_invalid_resp)); +} + +/* Test that the BTS will not re-transmit SABM frames after receiving a DM response, + * inspired from 3GPP TS 51.010-1 Section 25.2.1.1.3 */ +private function f_TC_sabm_dm(charstring id) runs on ConnHdlr { + const integer sapi := 3; /* BTS may not establish SAPI=0 outbound */ + fp_common_init(); + + /* Establish Request via RSL; Expect SABM on LAPDm side */ + LAPDM.clear; + RSL.send(ts_RSL_EST_REQ(g_chan_nr, ts_RslLinkID_DCCH(sapi))); + alt { + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_SABM(sapi, ?, ?, ''O))); + [] LAPDM.receive { repeat; } + } + + /* send DM response to SABM */ + RSL.clear; + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_DM(sapi, c_r:=cr_MO_RSP, f:=true))); + alt { + [] RSL.receive(tr_RSL_REL_IND(g_chan_nr, tr_RslLinkID_DCCH(sapi))); + [] RSL.receive { repeat; } + } + + /* expect no SABM retransmission of the BTS */ + timer T := 3.0; + T.start; + alt { + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_SABM(sapi, ?, ?, ''O))) { + setverdict(fail, "Received unexpected SABM retransmission"); + } + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UI(0, ?, ''O))) { repeat; } + [] LAPDM.receive(t_PH_DATA(0, false, ?)) { + setverdict(fail, "Received unexpected LAPDm frame"); + } + [] LAPDM.receive { repeat; } + [] T.timeout { + setverdict(pass); + } + } + + fp_common_fini(); +} +testcase TC_sabm_dm() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_dm)); +} + +/* Test the full LAPDm establishment while simulating the loss of the initial SABM or UA + * frame, requiring the BTS to re-transmit one SABM and then following up all the way to + * dedicated mode; inspired by 3GPP TS 51.010-1 25.2.1.2.2 */ +private function f_TC_establish_ign_first_sabm(charstring id) runs on ConnHdlr { + const integer sapi := 3; /* BTS may not establish SAPI=0 outbound */ + var integer num_sabm := 0; + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(sapi)); + timer T := 3.0; + + fp_common_init(); + + /* Establish Request via RSL */ + LAPDM.clear; + RSL.send(ts_RSL_EST_REQ(g_chan_nr, link_id)); + /* Expect two SABM (retransmit) */ + T.start; + alt { + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_SABM(sapi, ?, ?, ''O))) { + num_sabm := num_sabm + 1; + if (num_sabm < 2) { + repeat; + } + } + [] LAPDM.receive { repeat; } + } + + /* send UA response to SABM */ + RSL.clear; + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_UA(sapi, c_r:=cr_MO_RSP, f:=true, l3:=''O))); + alt { + [] RSL.receive(tr_RSL_EST_CONF(g_chan_nr, link_id)); + [] RSL.receive { repeat; } + } + + /* Send I frame from BTS to MS */ + var octetstring l3 := f_rnd_octstring(10); + RSL.send(ts_RSL_DATA_REQ(g_chan_nr, link_id, l3)); + alt { + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=false, + nr:=0, ns:=0, l3:=l3))); + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UI(0, ?, ''O))) { repeat; } + [] LAPDM.receive(t_PH_DATA(0, true, ?)) { repeat; } + [] LAPDM.receive { setverdict(fail, "Unexpected LAPDm received"); } + } + /* Send RR frame in response */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_RR(sapi, c_r:=cr_MO_RSP, p:=false, nr:=1))); + + /* expect idle UI Frame from BTS */ + alt { + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UI(0, ?, ''O))) { + setverdict(pass); + } + [] LAPDM.receive(t_PH_DATA(0, true, ?)) { repeat; } + [] LAPDM.receive { setverdict(fail, "Unexpected LAPDm received"); } + } + + fp_common_fini(); +} +testcase TC_establish_ign_first_sabm() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_establish_ign_first_sabm)); +} + +/* ignore all SACCH frames */ +private altstep as_lapdm_acch() runs on ConnHdlr { + [] LAPDM.receive(t_PH_DATA(0, true, ?)) { repeat; } +} +/* ignore all LAPDm idle frames (UI) */ +private altstep as_lapdm_idle() runs on ConnHdlr { + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UI(0, ?, ''O))) { repeat; } +} +/* ignore all measurement reports */ +private altstep as_rsl_meas_rep() runs on ConnHdlr { + [] RSL.receive(tr_RSL_MEAS_RES(g_chan_nr)) { repeat; } +} +/* fail if we receive an RSL ERROR IND */ +private altstep as_rsl_fail_err() runs on ConnHdlr { + var RSL_Message rx_rsl; + [] RSL.receive(tr_RSL_ERROR_IND(g_chan_nr, ?, ?)) { + setverdict(fail, "Received RSL ERROR IND ", rx_rsl); + } +} +/* all of the above */ +private altstep as_ignore_background() runs on ConnHdlr { + [] as_lapdm_acch(); + [] as_lapdm_idle(); + [] as_rsl_meas_rep(); + [] as_rsl_fail_err(); +} + +/* Test the operation of Layer 2 sequence numbering. + * dedicated mode; inspired by 3GPP TS 51.010-1 25.2.2.1 */ +private function f_TC_iframe_seq_and_ack(charstring id) runs on ConnHdlr { + const integer sapi := 0; + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(sapi)); + var octetstring l3 := f_rnd_octstring(18); + var default d; + timer T := 3.0; + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background()); + RSL.clear; + LAPDM.clear; + + /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3))); + RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3)); + /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ + LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3))); + + var integer last_ns_rx := 0; + + for (var integer i := 0; i < 10; i := i+1) { + var octetstring l3_mo := f_rnd_octstring(12); + var octetstring l3_mt := f_rnd_octstring(12); + var LAPDm_ph_data pd; + + log("Starting iteration ", i); + /* MT I frame */ + RSL.send(ts_RSL_DATA_REQ(g_chan_nr, link_id, l3_mt)); + alt { + /* SAPI = 0, R = 1, F = 0, M = 0, L = 0. */ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=false, + nr:=i mod 8))) { + log("Ignoring RR in iteration ", i); + repeat; + } + /* SAPI = 0, C = 1, P = 0, M = 0, 0 ? L ? N201. */ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=false, + nr:=i mod 8, ns:=i mod 8, + l3:=l3_mt))) -> value pd { + last_ns_rx := pd.lapdm.ab.ctrl.i.n_s; + } + } + /* respond with MO I-frame: SAPI = 0, C = 0, P = 0, M = 0, 0 <= L <= N201. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=false, + nr:=(last_ns_rx+1)mod 8, + ns:=i mod 8, l3 := l3_mo))); + RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, l3_mo)); + } + log("Completed iteration"); + + deactivate(d); + fp_common_fini(); +} +testcase TC_iframe_seq_and_ack() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_iframe_seq_and_ack)); +} + +/* To test that the BTS is able to respond to I frames whilst in the timer recovery state. + * Inspired by 3GPP TS 51.010-1 25.2.2.2 */ + +/* + 1) The BTS is brought into the multiple frame established state + 2) The MS sends an L3 Request asking for IMEI to the MS. + 3) The BTS shall respond with a RR frame though this may be incorporated with + the L3 Response I frame. The MS does not respond to the I frame. + 4) The BTS shall wait for expiry of timer T200 and then repeat the I frame but + with the P bit set to 1. + 5) The MS then sends a valid L3 Request I frame asking for IMEI which + does not acknowledge receipt of the I frame from the BTS. +On the FACCH the BTS may send an RR frame acknowledging the I frame. + 6) The BTS shall repeat the I frame, this frame will acknowledge receipt of + the second I frame from the MS. + 7) The MS then acknowledges receipt of the MS I frame by sending a RR frame. + 8) The BTS shall send the next I frame. The MS acknowledges this I frame. +*/ +private function f_TC_iframe_timer_recovery(charstring id) runs on ConnHdlr { + const integer sapi := 0; + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(sapi)); + var default d; + timer T := 3.0; + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background()); + RSL.clear; + LAPDM.clear; + + var octetstring l3_mo := f_rnd_octstring(12); + var octetstring l3_mt := f_rnd_octstring(12); + + /* 1) The BTS is brought into the multiple frame established state */ + + /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); + /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ + LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); + + /* 2) The MS sends an L3 Request to the BTS */ + l3_mo := f_rnd_octstring(18); + /* SAPI = 0, C = 1, P = 0, M = 0, 0 ? L ? N201, N(S) = 0, N(R) = 0. * */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=false, + nr:=0, ns:=0, l3:=l3_mo))); + RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, l3_mo)); + /* 3) The BTS shall respond with a RR frame though this may be incorporated with + the L3 Response I frame. The MS does not respond to the I frame. */ + RSL.send(ts_RSL_DATA_REQ(g_chan_nr, link_id, l3_mt)); + alt { + /* SAPI = 0, R = 1, F = 0, M = 0, L = 0, N(R) = 1. */ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=false, nr:=1))) { + repeat; + } + /* SAPI = 0, C = 0, P = 0, M = 0, 0 ? L ? N201, N(R) = 1, N(S) = 0 */ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=false, + nr:=1, ns:=0, l3:=l3_mt))); + } + + /* 4) The BTS shall wait for expiry of timer T200 and then repeat the I frame but + with the P bit set to 1. */ + /* SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201, N(R) = 1, N(S) = 0. * */ + LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=true, + nr:=1, ns:=0, l3:=l3_mt))); + + /* 5) The MS then sends a valid L3 Request I frame asking for IMEI which + does not acknowledge receipt of the I frame from the BTS. */ + /* SAPI = 0, C = 1, P = 0, M = 0, 0 ? L ? N201, N(S) = 1, N(R) = 0. * */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=false, + nr:=0, ns:=1, l3 := l3_mo))); + RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, l3_mo)); + alt { + /* On the FACCH the BTS may send an RR frame acknowledging the I frame. */ + /* SAPI = 0, R = 1, F = 0, M = 0, L = 0, N(R) = 2. */ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=false, nr:=2))) { + repeat; + } + /* 6) The BTS shall repeat the I frame, this frame will acknowledge + receipt of the second I frame from the MS. */ + /* SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201, N(R) = 2, N(S) = 0. * */ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=true, + nr:=2, ns:=0, l3:=l3_mt))); + } + + /* 7) The MS then acknowledges receipt of the BTS I frame by sending a RR * frame. */ + /* SAPI = 0, R = 0, F = 1, 0, M = 0, L = 0, N(R) = 1 */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_RR(sapi, c_r:=cr_MO_RSP, p:=true, nr:=1))); + + /* 8) The BTS shall send the next I frame. The MS acknowledges this I frame. */ + l3_mt := f_rnd_octstring(16); + RSL.send(ts_RSL_DATA_REQ(g_chan_nr, link_id, l3_mt)); + /* SAPI = 0, C = 0, P = 0, M = 0, 0 ? L ? N201, N(R) = 2, N(S) = 1 */ + LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=false, + nr:=2, ns:=1, l3:=l3_mt))); + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_RR(sapi, c_r:=cr_MO_RSP, p:=true, nr:=2))); + + deactivate(d); + fp_common_fini(); +} +testcase TC_iframe_timer_recovery() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_iframe_timer_recovery)); +} + + + control { execute(TC_foo()); execute(TC_sabm_ua_dcch_sapi0()); @@ -260,6 +706,12 @@ execute(TC_sabm_ua_dcch_sapi4()); execute(TC_sabm_contention()); execute(TC_sabm_retransmit()); + execute(TC_sabm_retransmit_bts()); + execute(TC_sabm_invalid_resp()); + execute(TC_sabm_dm()); + execute(TC_establish_ign_first_sabm()); + execute(TC_iframe_seq_and_ack()); + execute(TC_iframe_timer_recovery()); } } diff --git a/library/LAPDm_Types.ttcn b/library/LAPDm_Types.ttcn index a1ca5fe..577c9bd 100644 --- a/library/LAPDm_Types.ttcn +++ b/library/LAPDm_Types.ttcn @@ -105,7 +105,7 @@ s := { n_r := nr, p_f := pf, s := '00'B } }; template (value) LapdmCtrl ts_LapdmCtrlRR(uint3_t nr, boolean pf) := { - s := { n_r := nr, p_f := pf, s := '00'B } + s := { n_r := nr, p_f := pf, s := '00'B, spare := '01'B } }; template LapdmCtrl tr_LapdmCtrlRNR(template uint3_t nr, template boolean pf) modifies tr_LapdmCtrlS := { @@ -115,6 +115,10 @@ template LapdmCtrl tr_LapdmCtrlREJ(template uint3_t nr, template boolean pf) modifies tr_LapdmCtrlS := { s := { n_r := nr, p_f := pf, s := '10'B } }; + template (value) LapdmCtrl ts_LapdmCtrlREJ(uint3_t nr, boolean pf) := { + s := { n_r := nr, p_f := pf, s := '10'B, spare := '01'B } + }; + template LapdmCtrl tr_LapdmCtrlSABM(template boolean p) := { u := { u := '001'B, p_f := p, u2 := '11'B, spare := '11'B } @@ -126,6 +130,9 @@ template LapdmCtrl tr_LapdmCtrlDM(template boolean f) := { u := { u := '000'B, p_f := f, u2 := '11'B, spare := '11'B } }; + template (value) LapdmCtrl ts_LapdmCtrlDM(boolean f) := { + u := { u := '000'B, p_f := f, u2 := '11'B, spare := '11'B } + }; template LapdmCtrl tr_LapdmCtrlUI(template boolean p := false) := { u := { u := '000'B, p_f := p, u2 := '00'B, spare := '11'B } @@ -261,6 +268,28 @@ } } + template (value) LapdmFrame ts_LAPDm_DM(LapdmSapi sapi, boolean c_r, boolean f) := { + ab := { + addr := ts_LapdmAddr(sapi, c_r), + ctrl := ts_LapdmCtrlDM(f), + len := 0, /* overwritten in encoder */ + m := false, + el := 1, + payload := ''O + } + } + template LapdmFrame tr_LAPDm_DM(template LapdmSapi sapi, template boolean c_r, + template boolean f) := { + ab := { + addr := tr_LapdmAddr(sapi, c_r), + ctrl := tr_LapdmCtrlDM(f), + len := ?, + m := false, + el := 1, + payload := ''O + } + } + template LapdmFrame ts_LAPDm_DISC(LapdmSapi sapi, boolean c_r, boolean p) := { ab := { addr := ts_LapdmAddr(sapi, c_r), @@ -368,6 +397,29 @@ } } + template LapdmFrame tr_LAPDm_REJ(template LapdmSapi sapi, template boolean c_r, + template boolean p, template uint3_t nr) := { + ab := { + addr := tr_LapdmAddr(sapi, c_r), + ctrl := tr_LapdmCtrlREJ(nr, p), + len := 0, + m := false, + el := 1, + payload := ''O + } + } + template (value) LapdmFrame ts_LAPDm_REJ(LapdmSapi sapi, boolean c_r, + boolean p, uint3_t nr) := { + ab := { + addr := ts_LapdmAddr(sapi, c_r), + ctrl := ts_LapdmCtrlREJ(nr, p), + len := 0, + m := false, + el := 1, + payload := ''O + } + } + } with { encode "RAW"; /*variant "FIELDORDER(msb)" */} -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4e1136c0c0f10d5bc8d01e826ae5d92f17a0b2aa Gerrit-Change-Number: 14341 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 20:36:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 20:36:51 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add TC_segm_concat to test segmentation+concatenation Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14342 Change subject: bts: Add TC_segm_concat to test segmentation+concatenation ...................................................................... bts: Add TC_segm_concat to test segmentation+concatenation Change-Id: I6a9ce3e27f4a01412186b3b5d8d2b86573b6f8ac --- M bts/BTS_Tests_LAPDm.ttcn M library/LAPDm_Types.ttcn 2 files changed, 129 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/42/14342/1 diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index 1220eb4..7d63eb4 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -696,6 +696,129 @@ f_testmatrix_each_chan(pars, refers(f_TC_iframe_timer_recovery)); } +type record LapdmDlConfig { + integer n201, + integer t200 +}; + +type record LapdmDlState { + integer v_s, + integer v_a, + integer v_r +}; + +template (value) LapdmDlState t_init_LapdmDlState := { + v_s := 0, + v_a := 0, + v_r := 0 +} + +private function inc_mod8(inout integer v) +{ + v := (v + 1) mod 8; +} + +private function f_lapdm_transceive_mo(inout LapdmDlState dls, RslLinkId link_id, octetstring l3) +runs on ConnHdlr { + var LAPDm_ph_data pd; + var integer offset := 0; + var integer n201 := 20; + var boolean is_sacch := false; + if (link_id.c == SACCH) { + n201 := 18; + is_sacch := true; + } + + while (offset < lengthof(l3)) { + var integer remain_len := lengthof(l3) - offset; + var integer seg_len := remain_len; + if (remain_len > n201) { + seg_len := n201; + } + var octetstring segment := substr(l3, offset, seg_len); + var boolean more; + if (offset + lengthof(segment) < lengthof(l3)) { + more := true; + } else { + more := false; + } + /* send the next segment */ + LAPDM.send(t_PH_DATA(0, is_sacch, + ts_LAPDm_I(link_id.sapi, c_r:=cr_MO_CMD, p:=false, + nr:=dls.v_a, ns:=dls.v_s, l3:=segment, m:=more))); + inc_mod8(dls.v_s); + offset := offset + lengthof(segment); + + /* wait for it to be acknowledged */ + alt { + [] LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_RR(link_id.sapi, c_r:=cr_MT_RSP, + p:=false, nr:=(dls.v_s) mod 8))); + [] as_ignore_background(); + [] LAPDM.receive(t_PH_DATA(0, is_sacch, ?)) -> value pd { + setverdict(fail, "received unexpected LAPDm ", pd); + repeat; + } + [] LAPDM.receive(t_PH_DATA(0, ?, ?)) { repeat; } + [offset < lengthof(l3)] RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, ?)) { + setverdict(fail, "received RSL DATA IND before message complete"); + } + } + } + + timer T := 1.0; + T.start; + alt { + [] RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, l3)) { + setverdict(pass); + } + [] RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, ?)) { + setverdict(fail, "Received RSL DATA IND with wrong payload"); + } + [] T.timeout { + setverdict(fail, "Timeout waiting for RSL DATA IND of de-segmented message"); + } + } +} + +/* Section 5.8.5 of TS 04.06 */ +const integer c_TS0406_MAX_L3_OCTETS := 251; + +private function f_TC_segm_concat(charstring id) runs on ConnHdlr { + const integer sapi := 0; + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(sapi)); + var default d; + timer T := 3.0; + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background()); + RSL.clear; + LAPDM.clear; + + var octetstring l3_mo := f_rnd_octstring(5); + + /* 1) The BTS is brought into the multiple frame established state */ + + /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); + /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ + LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); + + l3_mo := f_rnd_octstring(c_TS0406_MAX_L3_OCTETS); + + deactivate(d); + + var LapdmDlState dls := valueof(t_init_LapdmDlState); + f_lapdm_transceive_mo(dls, link_id, l3_mo); + + fp_common_fini(); +} +testcase TC_segm_concat() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_segm_concat)); +} control { @@ -712,6 +835,7 @@ execute(TC_establish_ign_first_sabm()); execute(TC_iframe_seq_and_ack()); execute(TC_iframe_timer_recovery()); + execute(TC_segm_concat()); } } diff --git a/library/LAPDm_Types.ttcn b/library/LAPDm_Types.ttcn index 577c9bd..caccc12 100644 --- a/library/LAPDm_Types.ttcn +++ b/library/LAPDm_Types.ttcn @@ -352,23 +352,24 @@ template LapdmFrame tr_LAPDm_I(template LapdmSapi sapi, template boolean c_r, template boolean p, template uint3_t nr, - template uint3_t ns, template octetstring l3) := { + template uint3_t ns, template octetstring l3, + boolean m := false) := { ab := { addr := tr_LapdmAddr(sapi, c_r), ctrl := tr_LapdmCtrlI(nr, ns, p), len := ?, - m := false, + m := m, el := 1, payload := l3 } } template (value) LapdmFrame ts_LAPDm_I(LapdmSapi sapi, boolean c_r, boolean p, uint3_t nr, - uint3_t ns, octetstring l3) := { + uint3_t ns, octetstring l3, boolean m := false) := { ab := { addr := ts_LapdmAddr(sapi, c_r), ctrl := ts_LapdmCtrlI(nr, ns, p), len := 0, - m := false, + m := m, el := 1, payload := l3 } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6a9ce3e27f4a01412186b3b5d8d2b86573b6f8ac Gerrit-Change-Number: 14342 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 20:36:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 20:36:51 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Also test SACCH in TC_segm_concat Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14343 Change subject: bts: Also test SACCH in TC_segm_concat ...................................................................... bts: Also test SACCH in TC_segm_concat Change-Id: If9b51b4d6c357aa015f31e1e6851d4d1bb71a58f --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 46 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/43/14343/1 diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index 7d63eb4..3ee91c4 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -505,9 +505,13 @@ private altstep as_lapdm_acch() runs on ConnHdlr { [] LAPDM.receive(t_PH_DATA(0, true, ?)) { repeat; } } +/* ignore all DCCH frames */ +private altstep as_lapdm_dcch() runs on ConnHdlr { + [] LAPDM.receive(t_PH_DATA(0, false, ?)) { repeat; } +} /* ignore all LAPDm idle frames (UI) */ private altstep as_lapdm_idle() runs on ConnHdlr { - [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UI(0, ?, ''O))) { repeat; } + [] LAPDM.receive(t_PH_DATA(0, ?, tr_LAPDm_UI(?, ?, ''O))) { repeat; } } /* ignore all measurement reports */ private altstep as_rsl_meas_rep() runs on ConnHdlr { @@ -521,8 +525,9 @@ } } /* all of the above */ -private altstep as_ignore_background() runs on ConnHdlr { - [] as_lapdm_acch(); +private altstep as_ignore_background(boolean want_dcch := true) runs on ConnHdlr { + [want_dcch] as_lapdm_acch(); + [not want_dcch] as_lapdm_dcch(); [] as_lapdm_idle(); [] as_rsl_meas_rep(); [] as_rsl_fail_err(); @@ -753,7 +758,7 @@ alt { [] LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_RR(link_id.sapi, c_r:=cr_MT_RSP, p:=false, nr:=(dls.v_s) mod 8))); - [] as_ignore_background(); + [] as_ignore_background(not is_sacch); [] LAPDM.receive(t_PH_DATA(0, is_sacch, ?)) -> value pd { setverdict(fail, "received unexpected LAPDm ", pd); repeat; @@ -783,28 +788,38 @@ /* Section 5.8.5 of TS 04.06 */ const integer c_TS0406_MAX_L3_OCTETS := 251; -private function f_TC_segm_concat(charstring id) runs on ConnHdlr { - const integer sapi := 0; - var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(sapi)); +/* test segmentation and de-segmentation (concatenation) of a large message in uplink + * on specified SAPI/channel */ +private function f_TC_segm_concat(charstring id, RslLinkId link_id) runs on ConnHdlr { + var integer sapi := link_id.sapi; + var boolean is_sacch := false; + if (link_id.c == SACCH) { + is_sacch := true; + } var default d; timer T := 3.0; fp_common_init(); /* some common altstep for meas res and other background noise */ - d := activate(as_ignore_background()); + d := activate(as_ignore_background(not is_sacch)); RSL.clear; LAPDM.clear; var octetstring l3_mo := f_rnd_octstring(5); - /* 1) The BTS is brought into the multiple frame established state */ - /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ - LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); - RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); + if (is_sacch) { + /* no payload permitted, as this is not contention resolution */ + l3_mo := ''O; + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND_NOL3(g_chan_nr, link_id)); + } else { + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); + } /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ - LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); + LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); l3_mo := f_rnd_octstring(c_TS0406_MAX_L3_OCTETS); @@ -815,10 +830,23 @@ fp_common_fini(); } -testcase TC_segm_concat() runs on test_CT { - var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); - f_testmatrix_each_chan(pars, refers(f_TC_segm_concat)); +private function f_TC_segm_concat_dcch(charstring id) runs on ConnHdlr { + f_TC_segm_concat(id, valueof(ts_RslLinkID_DCCH(0))); } +private function f_TC_segm_concat_sacch(charstring id) runs on ConnHdlr { + f_TC_segm_concat(id, link_id :=valueof(ts_RslLinkID_SACCH(0))); +} +/* test mobile-originated segmentation/de-segmentation on DCCH */ +testcase TC_segm_concat_dcch() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_segm_concat_dcch)); +} +/* test mobile-originated segmentation/de-segmentation on SACCH */ +testcase TC_segm_concat_sacch() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_segm_concat_sacch)); +} + control { @@ -835,7 +863,8 @@ execute(TC_establish_ign_first_sabm()); execute(TC_iframe_seq_and_ack()); execute(TC_iframe_timer_recovery()); - execute(TC_segm_concat()); + execute(TC_segm_concat_dcch()); + execute(TC_segm_concat_sacch()); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If9b51b4d6c357aa015f31e1e6851d4d1bb71a58f Gerrit-Change-Number: 14343 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 20:36:52 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 20:36:52 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: fixup l1 sacch Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14344 Change subject: fixup l1 sacch ...................................................................... fixup l1 sacch Change-Id: I43768b77c97868ca4d8fb972b8c2cf8529528272 --- M library/LAPDm_RAW_PT.ttcn 1 file changed, 3 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/44/14344/1 diff --git a/library/LAPDm_RAW_PT.ttcn b/library/LAPDm_RAW_PT.ttcn index 6166576..2ede566 100644 --- a/library/LAPDm_RAW_PT.ttcn +++ b/library/LAPDm_RAW_PT.ttcn @@ -501,13 +501,10 @@ if (lpd.sacch) { link_id := valueof(ts_RslLinkID_SACCH(lpd.sapi)); buf := f_pad_oct(enc_LapdmFrame(lpd.lapdm), 21, '2B'O); - var L1ctlDataReq l1hl2 := { - l1header := valueof(ts_SacchL1Header(ms_power_lvl, false, - timing_adv)), - l2_payload := buf - }; + var SacchL1Header l1h := valueof(ts_SacchL1Header(ms_power_lvl, + false, timing_adv)); L1CTL.send(ts_L1CTL_DATA_REQ_SACCH(chan_desc.chan_nr, link_id, - l1hl2)); + l1h, buf)); } else { link_id := valueof(ts_RslLinkID_DCCH(lpd.sapi)); buf := f_pad_oct(enc_LapdmFrame(lpd.lapdm), 23, '2B'O); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I43768b77c97868ca4d8fb972b8c2cf8529528272 Gerrit-Change-Number: 14344 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 20:36:52 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 20:36:52 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RSL_Types: Fix definition of RLL ERROR INDICATION Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14345 Change subject: RSL_Types: Fix definition of RLL ERROR INDICATION ...................................................................... RSL_Types: Fix definition of RLL ERROR INDICATION This message uses the "RLM Cause IE" and not the "Cause IE" Change-Id: If3b92ab475817922c05c9af691d9f79da33804ac --- M library/RSL_Types.ttcn 1 file changed, 5 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/45/14345/1 diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 588dc4b..456d6d2 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -987,23 +987,24 @@ /* 8.3.3 BTS -> BSC */ template (value) RSL_Message ts_RSL_ERROR_IND(template (value) RslChannelNr chan_nr, - template (value) RslLinkId link_id, RSL_Cause cause) := { + template (value) RslLinkId link_id, + template (value) octetstring rlm_cause) := { msg_disc := ts_RSL_MsgDisc(RSL_MDISC_RLL, false), msg_type := RSL_MT_ERROR_IND, ies :={ t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}), t_RSL_IE(RSL_IE_LINK_IDENT, RSL_IE_Body:{link_id := link_id}), - t_RSL_IE(RSL_IE_CAUSE, RSL_IE_Body:{cause := ts_RSL_IE_Cause(cause)}) + t_RSL_IE(RSL_IE_CAUSE, RSL_IE_Body:{rlm_cause := ts_RSL_LV(rlm_cause)}) } } template RSL_Message tr_RSL_ERROR_IND(template RslChannelNr chan_nr, template RslLinkId link_id, - template RSL_Cause cause := ?) := { + template octetstring rlm_cause := ?) := { msg_disc := tr_RSL_MsgDisc(RSL_MDISC_RLL, false), msg_type := RSL_MT_ERROR_IND, ies :={ tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}), tr_RSL_IE(RSL_IE_Body:{link_id := link_id}), - tr_RSL_IE(RSL_IE_Body:{cause := tr_RSL_IE_Cause(cause)}) + tr_RSL_IE(RSL_IE_Body:{rlm_cause := tr_RSL_LV(rlm_cause)}) } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If3b92ab475817922c05c9af691d9f79da33804ac Gerrit-Change-Number: 14345 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 20:36:53 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 20:36:53 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add test for expiring T200 N200+1 times Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14346 Change subject: bts: Add test for expiring T200 N200+1 times ...................................................................... bts: Add test for expiring T200 N200+1 times Change-Id: I9e1dbc889575f8952a4581551076829825b3b1cd --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 91 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/46/14346/1 diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index 3ee91c4..b98ef80 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -847,7 +847,97 @@ f_testmatrix_each_chan(pars, refers(f_TC_segm_concat_sacch)); } +/* TS 04.06 Section 5.8.2.1 */ +private function f_n200_by_chan_nr(RslChannelNr chan_nr, RslLinkId link_id) return integer { + /* SACCH irrespective of physical channel type */ + if (match(link_id, tr_RslLinkID_SACCH(?))) { + return 5; + } + /* DCCH below */ + select (chan_nr) { + case (t_RslChanNr_SDCCH4(?, ?)) { return 23; } + case (t_RslChanNr_SDCCH8(?, ?)) { return 23; } + case (t_RslChanNr_Bm(?)) { return 34; } + case (t_RslChanNr_Lm(?, ?)) { return 29; } + } + setverdict(fail, "Unknown chan_nr ", chan_nr, " or link_id ", link_id); + return -1; +} +/* Test if there are exactly N200+1 transmissions of I frames; inspired by 25.2.4.1 */ +private function f_TC_t200_n200(charstring id) runs on ConnHdlr { + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(0)); + var integer sapi := link_id.sapi; + var boolean is_sacch := false; + if (link_id.c == SACCH) { + is_sacch := true; + } + var integer n200 := f_n200_by_chan_nr(g_chan_nr, link_id); + var integer num_retrans := 0; + timer T := 3.0; + var default d; + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background(true)); + RSL.clear; + LAPDM.clear; + + var octetstring l3_mo := f_rnd_octstring(20); + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); + LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); + + var octetstring l3_mt := f_rnd_octstring(20); + RSL.send(ts_RSL_DATA_REQ(g_chan_nr, link_id, l3_mt)); + /* first transmission, P = 0 */ + LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=false, + nr:=0, ns:=0, l3:=l3_mt))); + deactivate(d); + + alt { + /* re-transmission, P = 1 */ + [] LAPDM.receive(t_PH_DATA(0, is_sacch, + tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=true, nr:=0, ns:=0, l3:=l3_mt))) { + num_retrans := num_retrans + 1; + if (num_retrans < n200) { + repeat; + } else if (num_retrans == n200) { + T.start; /* wait for some more time if there are more retransmissions */ + repeat; + } else { + /* break */ + } + } + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_I(sapi, ?, ?, ?, ?, ?))) { + setverdict(fail, "Received unexpected I frame"); + } + [not is_sacch] as_lapdm_acch(); + [is_sacch] as_lapdm_dcch(); + [] as_lapdm_idle(); + [] as_rsl_meas_rep(); + [num_retrans == n200] RSL.receive(tr_RSL_ERROR_IND(g_chan_nr, link_id, '01'O)) { + /* break */ + } + [] T.timeout { + setverdict(fail, "Missing RSL RLL ERROR INDICATION"); + } + } + + if (num_retrans == n200) { + setverdict(pass, "Received ", num_retrans, " on channel ", g_chan_nr, " link ", link_id); + } else if (num_retrans < n200) { + setverdict(fail, "Too few retransmissions (", num_retrans, "); N200=", n200, + " on channel ", g_chan_nr, " link ", link_id); + } + + fp_common_fini(); +} +testcase TC_t200_n200() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_t200_n200)); +} control { execute(TC_foo()); @@ -865,6 +955,7 @@ execute(TC_iframe_timer_recovery()); execute(TC_segm_concat_dcch()); execute(TC_segm_concat_sacch()); + execute(TC_t200_n200()); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9e1dbc889575f8952a4581551076829825b3b1cd Gerrit-Change-Number: 14346 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 20:41:16 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 20:41:16 +0000 Subject: Change in ...libosmocore[master]: lapd_core: Perform N200 retransmissions, not N200-1 Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14347 Change subject: lapd_core: Perform N200 retransmissions, not N200-1 ...................................................................... lapd_core: Perform N200 retransmissions, not N200-1 During testing with BTS_Tests_LAPDm.TC_t200_n200() it was discovered that the existing LAPD[m] implementation always gave up at N200-1 retransmissions, rather than N200 retransmissions. The first transmission doesn't count, and hence we must have N200 actual re-transmissions. The Error message is then described as "T200 expired N200+1 times", i.e. we start T200 one more time after the last re-transmission and only give up if it expires again (i.e. no ACK received) Change-Id: Ic33854ee61311f73b7db55eeef10280349151097 Related: OS4037 --- M src/gsm/lapd_core.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/14347/1 diff --git a/src/gsm/lapd_core.c b/src/gsm/lapd_core.c index a2ff230..19dff4f 100644 --- a/src/gsm/lapd_core.c +++ b/src/gsm/lapd_core.c @@ -564,7 +564,7 @@ switch (dl->state) { case LAPD_STATE_SABM_SENT: /* 5.4.1.3 */ - if (dl->retrans_ctr + 1 >= dl->n200_est_rel + 1) { + if (dl->retrans_ctr >= dl->n200_est_rel + 1) { /* flush tx and send buffers */ lapd_dl_flush_tx(dl); lapd_dl_flush_send(dl); @@ -589,7 +589,7 @@ break; case LAPD_STATE_DISC_SENT: /* 5.4.4.3 */ - if (dl->retrans_ctr + 1 >= dl->n200_est_rel + 1) { + if (dl->retrans_ctr >= dl->n200_est_rel + 1) { /* send MDL ERROR INIDCATION to L3 */ mdl_error(MDL_CAUSE_T200_EXPIRED, &dl->lctx); /* send RELEASE INDICATION to L3 */ @@ -618,7 +618,7 @@ /* fall through */ case LAPD_STATE_TIMER_RECOV: dl->retrans_ctr++; - if (dl->retrans_ctr < dl->n200) { + if (dl->retrans_ctr <= dl->n200) { uint8_t vs = sub_mod(dl->v_send, 1, dl->v_range); uint8_t h = do_mod(vs, dl->range_hist); /* retransmit I frame (V_s-1) with P=1, if any */ @@ -671,7 +671,7 @@ /* reestablish */ if (!dl->reestablish) break; - LOGP(DLLAPD, LOGL_NOTICE, "N200 reached, performing " + LOGP(DLLAPD, LOGL_NOTICE, "N200+1 reached, performing " "reestablishment. (dl=%p)\n", dl); lapd_reestablish(dl); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic33854ee61311f73b7db55eeef10280349151097 Gerrit-Change-Number: 14347 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 21:26:42 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:26:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Start with a number of LAPDm tests In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14341 to look at the new patch set (#2). Change subject: bts: Start with a number of LAPDm tests ...................................................................... bts: Start with a number of LAPDm tests Change-Id: I4e1136c0c0f10d5bc8d01e826ae5d92f17a0b2aa --- M bts/BTS_Tests.ttcn M bts/BTS_Tests_LAPDm.ttcn M library/LAPDm_Types.ttcn 3 files changed, 513 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/41/14341/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4e1136c0c0f10d5bc8d01e826ae5d92f17a0b2aa Gerrit-Change-Number: 14341 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte 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 2 21:26:42 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:26:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add TC_segm_concat to test segmentation+concatenation 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/+/14342 to look at the new patch set (#2). Change subject: bts: Add TC_segm_concat to test segmentation+concatenation ...................................................................... bts: Add TC_segm_concat to test segmentation+concatenation Change-Id: I6a9ce3e27f4a01412186b3b5d8d2b86573b6f8ac --- M bts/BTS_Tests_LAPDm.ttcn M library/LAPDm_Types.ttcn 2 files changed, 129 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/42/14342/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6a9ce3e27f4a01412186b3b5d8d2b86573b6f8ac Gerrit-Change-Number: 14342 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte 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 2 21:26:42 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:26:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Also test SACCH in TC_segm_concat 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/+/14343 to look at the new patch set (#2). Change subject: bts: Also test SACCH in TC_segm_concat ...................................................................... bts: Also test SACCH in TC_segm_concat Change-Id: If9b51b4d6c357aa015f31e1e6851d4d1bb71a58f --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 46 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/43/14343/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If9b51b4d6c357aa015f31e1e6851d4d1bb71a58f Gerrit-Change-Number: 14343 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte 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 2 21:26:42 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:26:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: fixup l1 sacch 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/+/14344 to look at the new patch set (#2). Change subject: fixup l1 sacch ...................................................................... fixup l1 sacch Change-Id: I43768b77c97868ca4d8fb972b8c2cf8529528272 --- M library/LAPDm_RAW_PT.ttcn 1 file changed, 3 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/44/14344/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I43768b77c97868ca4d8fb972b8c2cf8529528272 Gerrit-Change-Number: 14344 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte 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 2 21:26:42 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:26:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RSL_Types: Fix definition of RLL ERROR INDICATION 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/+/14345 to look at the new patch set (#2). Change subject: RSL_Types: Fix definition of RLL ERROR INDICATION ...................................................................... RSL_Types: Fix definition of RLL ERROR INDICATION This message uses the "RLM Cause IE" and not the "Cause IE" Change-Id: If3b92ab475817922c05c9af691d9f79da33804ac --- M library/RSL_Types.ttcn 1 file changed, 5 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/45/14345/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If3b92ab475817922c05c9af691d9f79da33804ac Gerrit-Change-Number: 14345 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte 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 2 21:26:42 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:26:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add test for expiring T200 N200+1 times 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/+/14346 to look at the new patch set (#2). Change subject: bts: Add test for expiring T200 N200+1 times ...................................................................... bts: Add test for expiring T200 N200+1 times Change-Id: I9e1dbc889575f8952a4581551076829825b3b1cd --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 91 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/46/14346/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9e1dbc889575f8952a4581551076829825b3b1cd Gerrit-Change-Number: 14346 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte 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 2 21:26:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:26:48 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Factor out mobile-originated LAPDm establishment Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14348 Change subject: bts: Factor out mobile-originated LAPDm establishment ...................................................................... bts: Factor out mobile-originated LAPDm establishment which avoids us to have to copy+pate this between several test cases. Change-Id: I8da753bb3d809ec09f9380bb4bac666ceaf61f00 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 29 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/48/14348/1 diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index b98ef80..6ba0968 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -292,6 +292,31 @@ f_lapdm_exit(); } +/* Mobile-Originated LAPDm establishment on given Link ID */ +private function f_establish_mo(RslLinkId link_id) runs on ConnHdlr +{ + var integer sapi := link_id.sapi; + var boolean is_sacch := false; + if (link_id.c == SACCH) { + is_sacch := true; + } + + var octetstring l3_mo := f_rnd_octstring(5); + + /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ + if (is_sacch) { + /* no payload permitted, as this is not contention resolution */ + l3_mo := ''O; + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND_NOL3(g_chan_nr, link_id)); + } else { + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); + } + /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ + LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); +} + /* Verify that the BTS is re-transmitting SABM messages after T200 timeout, inspired by 3GPP TS 51.010-1 25.2.1.1.2.1 + 25.2.1.2.4 */ private function f_TC_sabm_retransmit_bts(charstring id) runs on ConnHdlr { @@ -549,11 +574,7 @@ RSL.clear; LAPDM.clear; - /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ - LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3))); - RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3)); - /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ - LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3))); + f_establish_mo(link_id); var integer last_ns_rx := 0; @@ -806,22 +827,9 @@ RSL.clear; LAPDM.clear; - var octetstring l3_mo := f_rnd_octstring(5); + f_establish_mo(link_id); - /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ - if (is_sacch) { - /* no payload permitted, as this is not contention resolution */ - l3_mo := ''O; - LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); - RSL.receive(tr_RSL_EST_IND_NOL3(g_chan_nr, link_id)); - } else { - LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); - RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); - } - /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ - LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); - - l3_mo := f_rnd_octstring(c_TS0406_MAX_L3_OCTETS); + var octetstring l3_mo := f_rnd_octstring(c_TS0406_MAX_L3_OCTETS); deactivate(d); @@ -884,10 +892,7 @@ RSL.clear; LAPDM.clear; - var octetstring l3_mo := f_rnd_octstring(20); - LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); - RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); - LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); + f_establish_mo(link_id); var octetstring l3_mt := f_rnd_octstring(20); RSL.send(ts_RSL_DATA_REQ(g_chan_nr, link_id, l3_mt)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8da753bb3d809ec09f9380bb4bac666ceaf61f00 Gerrit-Change-Number: 14348 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 21:26:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:26:49 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Implement testcase for RR response frame loss Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14349 Change subject: bts: Implement testcase for RR response frame loss ...................................................................... bts: Implement testcase for RR response frame loss Test is implemented as BTS_Tests_LAPDm.TC_rr_response_frame_loss() Change-Id: I32340fff6666fee0ebfb9b31b55e0982d0d917a1 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 58 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/49/14349/1 diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index 6ba0968..218804e 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -944,6 +944,63 @@ f_testmatrix_each_chan(pars, refers(f_TC_t200_n200)); } +/* Ensure BTS repeats RR frame after retransmitting I frame to emulate RR loss; + Inspired by TS 51.010-1 25.2.4.3 */ +private function f_TC_rr_response_frame_loss(charstring id) runs on ConnHdlr { + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(0)); + var integer sapi := link_id.sapi; + var boolean is_sacch := false; + if (link_id.c == SACCH) { + is_sacch := true; + } + timer T := 3.0; + var default d; + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background(true)); + RSL.clear; + LAPDM.clear; + + f_establish_mo(link_id); + + var octetstring l3_mo := f_rnd_octstring(10); + /* Send an I frame to the BTS: SAPI = 0, C = 1, P = 0, M = 0, L = 3, N(S) = 0, N(R) = 0 */ + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=false, nr:=0, ns:=0, + l3:=l3_mo))); + RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, l3_mo)); + /* SAPI = 0, R = 1, F = 0, M = 0, L = 0, N(R) = 1. */ + LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=false, nr:=1))); + + /* Re-send I frame: SAPI = 0, C = 1, P = 1, M = 0, L = 3, N(S) = 0, N(R) = 0. */ + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=true, nr:=0, ns:=0, + l3:=l3_mo))); + + T.start; + alt { + /* RR: SAPI = 0, R = 1, F = 1, M = 0, L = 0, N(R) = 1. */ + [] LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=true, nr:=1))) { + setverdict(pass); + } + /* REJ: SAPI = 0, R = 1, F = 1, M = 0, L = 0, N(R) = 1. */ + [] LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_REJ(sapi, c_r:=cr_MT_RSP, p:=true, nr:=1))) { + setverdict(pass); + } + [] T.timeout { + setverdict(fail, "Timeout waiting for RR or REJ"); + } + } + + deactivate(d); + + fp_common_fini(); +} +testcase TC_rr_response_frame_loss() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_rr_response_frame_loss)); +} + control { execute(TC_foo()); execute(TC_sabm_ua_dcch_sapi0()); @@ -961,6 +1018,7 @@ execute(TC_segm_concat_dcch()); execute(TC_segm_concat_sacch()); execute(TC_t200_n200()); + execute(TC_rr_response_frame_loss()); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I32340fff6666fee0ebfb9b31b55e0982d0d917a1 Gerrit-Change-Number: 14349 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 21:26:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:26:49 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add test csse for I frame with wrong C/R value Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14350 Change subject: bts: Add test csse for I frame with wrong C/R value ...................................................................... bts: Add test csse for I frame with wrong C/R value Implemented as BTS_Tests_LAPDm.TC_incorrect_cr() Change-Id: I19e50049625bd31662a1e22b1394b69b2d249104 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 54 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/50/14350/1 diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index 218804e..f57b052 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -1001,6 +1001,59 @@ f_testmatrix_each_chan(pars, refers(f_TC_rr_response_frame_loss)); } +/* Ensure BTS ignores I frames with wrong C/R bit; Inspired by TS 51.010-1 25.2.5.1 */ +private function f_TC_incorrect_cr(charstring id) runs on ConnHdlr { + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(0)); + var integer sapi := link_id.sapi; + var boolean is_sacch := false; + if (link_id.c == SACCH) { + is_sacch := true; + } + timer T := 3.0; + var default d; + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background(true)); + RSL.clear; + LAPDM.clear; + + f_establish_mo(link_id); + + var octetstring l3_mo := f_rnd_octstring(10); + /* Send an I frame to the BTS: SAPI = 0, C = 0, P = 1, M = 0, L = 3, N(S) = 0, N(R) = 0 */ + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_I(sapi, c_r:=cr_MO_RSP, p:=true, nr:=0, ns:=0, + l3:=l3_mo))); + T.start; + alt { + [] RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, l3_mo)) { + setverdict(fail, "BTS didn't ignore I frame with wrong C/R bit"); + } + [] RSL.receive(tr_RSL_ERROR_IND(g_chan_nr, link_id, '0C'O)) { + repeat; + } + /* ensure BTS still sends idle frames */ + [] as_lapdm_idle() { + setverdict(pass, "still sending idle frames"); + } + [] T.timeout {} + } + + /* Send RR command P=1 */ + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=true, nr:=0))); + + /* The BTS shall respond with a RR response, F bit set to 1. */ + LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=true, nr:=0))); + + deactivate(d); + + fp_common_fini(); +} +testcase TC_incorrect_cr() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_incorrect_cr)); +} control { execute(TC_foo()); execute(TC_sabm_ua_dcch_sapi0()); @@ -1019,6 +1072,7 @@ execute(TC_segm_concat_sacch()); execute(TC_t200_n200()); execute(TC_rr_response_frame_loss()); + execute(TC_incorrect_cr()); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I19e50049625bd31662a1e22b1394b69b2d249104 Gerrit-Change-Number: 14350 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 21:28:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:28:01 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lapdm: Rename 'dummy_CT' to more reasonable 'lapdm_test_CT' In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14326 ) Change subject: lapdm: Rename 'dummy_CT' to more reasonable 'lapdm_test_CT' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If72542f665a814bcda7c41120675a57ccf3407f4 Gerrit-Change-Number: 14326 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 02 Jun 2019 21: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 Sun Jun 2 21:28:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:28:04 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: move lapdm/L1CTL_Test.ttcn to bts/BTS_Tests_LAPDm.ttcn In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14327 ) Change subject: move lapdm/L1CTL_Test.ttcn to bts/BTS_Tests_LAPDm.ttcn ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibbc967f0bd9a19ab4bbd17f612654d72cb32d571 Gerrit-Change-Number: 14327 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sun, 02 Jun 2019 21: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 Sun Jun 2 21:28:13 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:28:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Derive test component that talks RSL and LAPDm In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14328 ) Change subject: bts: Derive test component that talks RSL and LAPDm ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6e24c6f6a904c4c051780c35af82c3bd53c970ce Gerrit-Change-Number: 14328 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sun, 02 Jun 2019 21:28:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 21:28:20 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:28:20 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Remove one indent lvel from BTS_Tests_LAPDm.ttcn In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14329 ) Change subject: bts: Remove one indent lvel from BTS_Tests_LAPDm.ttcn ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4637393df9989a97a4d70f08bd334d0f8cfd2284 Gerrit-Change-Number: 14329 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sun, 02 Jun 2019 21:28:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 21:28:28 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:28:28 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: BTS_Tests_LAPDm.ttcn: rename f_init() to f_lapdm_init() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14330 ) Change subject: bts: BTS_Tests_LAPDm.ttcn: rename f_init() to f_lapdm_init() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie6272165b1dbda53d2d02af43c8e969da7a54d2e Gerrit-Change-Number: 14330 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sun, 02 Jun 2019 21:28: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 2 21:28:37 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:28:37 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: don't require users to pass test case name to f_init() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14331 ) Change subject: bts: don't require users to pass test case name to f_init() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I17a61a84fba4df31b8baab1f631c8aa55d894dbd Gerrit-Change-Number: 14331 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sun, 02 Jun 2019 21:28: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 Sun Jun 2 21:28:44 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:28:44 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: LAPDm_RAW_PT: Switch to dedicated channel without RACH+IMM.ASS In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14332 ) Change subject: LAPDm_RAW_PT: Switch to dedicated channel without RACH+IMM.ASS ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I07dd9191ca441bfd1e43e3521e98f88ad2d0489a Gerrit-Change-Number: 14332 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sun, 02 Jun 2019 21:28:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 21:28:46 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:28:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lapdm: Rename 'dummy_CT' to more reasonable 'lapdm_test_CT' In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14326 ) Change subject: lapdm: Rename 'dummy_CT' to more reasonable 'lapdm_test_CT' ...................................................................... lapdm: Rename 'dummy_CT' to more reasonable 'lapdm_test_CT' Change-Id: If72542f665a814bcda7c41120675a57ccf3407f4 --- M lapdm/L1CTL_Test.ttcn 1 file changed, 12 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/lapdm/L1CTL_Test.ttcn b/lapdm/L1CTL_Test.ttcn index 28bf25c..1922f70 100644 --- a/lapdm/L1CTL_Test.ttcn +++ b/lapdm/L1CTL_Test.ttcn @@ -4,12 +4,12 @@ import from LAPDm_RAW_PT all; import from LAPDm_Types all; - type component dummy_CT { + type component lapdm_test_CT { port LAPDm_PT LAPDM; var lapdm_CT lapdm_component; }; - function f_init() runs on dummy_CT { + function f_init() runs on lapdm_test_CT { /* create the LAPDm component */ lapdm_component := lapdm_CT.create; /* connect our own LAPDM port to the LAPDM Service Provider of the LAPDm component */ @@ -23,7 +23,7 @@ } /* master function establishing a dedicated radio channel (takes care of RACH/IMM.ASS handling) */ - function f_establish_dcch() runs on dummy_CT { + function f_establish_dcch() runs on lapdm_test_CT { var BCCH_tune_req tune_req := { arfcn := { false, 871 }, combined_ccch := true }; var DCCH_establish_req est_req := { ra := 23 }; @@ -33,7 +33,7 @@ } /* helper function releasing dedicated radio channel physically (no Um signaling!) */ - function f_release_dcch() runs on dummy_CT { + function f_release_dcch() runs on lapdm_test_CT { var DCCH_release_req rel_req := {}; LAPDM.send(rel_req); } @@ -115,7 +115,7 @@ } - function f_test_sabm_results_in_ua(uint8_t sapi, boolean use_sacch, octetstring payload) runs on dummy_CT return boolean { + function f_test_sabm_results_in_ua(uint8_t sapi, boolean use_sacch, octetstring payload) runs on lapdm_test_CT return boolean { var LAPDm_ph_data phd; var boolean result := false; timer T := 5.0; @@ -135,7 +135,7 @@ return result; } - testcase TC_sabm_ua_dcch_sapi0() runs on dummy_CT { + testcase TC_sabm_ua_dcch_sapi0() runs on lapdm_test_CT { f_init(); if (not f_test_sabm_results_in_ua(0, false, 'FEFE'O)) { setverdict(fail); @@ -143,7 +143,7 @@ setverdict(pass); } - testcase TC_sabm_ua_dcch_sapi0_nopayload() runs on dummy_CT { + testcase TC_sabm_ua_dcch_sapi0_nopayload() runs on lapdm_test_CT { f_init(); if (f_test_sabm_results_in_ua(0, false, ''O)) { setverdict(fail, "Initial SABM/UA must contain L3 payload but BTS accepts without"); @@ -151,7 +151,7 @@ setverdict(pass); } - testcase TC_sabm_ua_dcch_sapi3() runs on dummy_CT { + testcase TC_sabm_ua_dcch_sapi3() runs on lapdm_test_CT { f_init(); if (f_test_sabm_results_in_ua(3, false, 'FEFE'O)) { setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=3"); @@ -159,7 +159,7 @@ setverdict(pass); } - testcase TC_sabm_ua_dcch_sapi4() runs on dummy_CT { + testcase TC_sabm_ua_dcch_sapi4() runs on lapdm_test_CT { f_init(); if (f_test_sabm_results_in_ua(4, false, 'FEFE'O)) { setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=4"); @@ -167,7 +167,7 @@ setverdict(pass); } - testcase TC_sabm_contention() runs on dummy_CT { + testcase TC_sabm_contention() runs on lapdm_test_CT { var LAPDm_ph_data phd; const octetstring payload := '0102030405'O; const GsmSapi sapi := 0; @@ -196,7 +196,7 @@ /* we test that a re-transmitted SABM with identical payload will result in the retransmission of a * UA. This is required during the contention resolution procedure as specified in 8.4.1.4 */ - testcase TC_sabm_retransmit() runs on dummy_CT { + testcase TC_sabm_retransmit() runs on lapdm_test_CT { const octetstring payload := '00FEFEDEADBEEF'O; f_init(); if (not f_test_sabm_results_in_ua(0, false, payload)) { @@ -208,7 +208,7 @@ setverdict(pass); } - testcase TC_foo() runs on dummy_CT { + testcase TC_foo() runs on lapdm_test_CT { var LapdmFrame lf; /* var LapdmFrame lf := valueof(LAPDm_B_UA(0, ''O)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If72542f665a814bcda7c41120675a57ccf3407f4 Gerrit-Change-Number: 14326 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 21:28:46 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:28:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: move lapdm/L1CTL_Test.ttcn to bts/BTS_Tests_LAPDm.ttcn In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14327 ) Change subject: move lapdm/L1CTL_Test.ttcn to bts/BTS_Tests_LAPDm.ttcn ...................................................................... move lapdm/L1CTL_Test.ttcn to bts/BTS_Tests_LAPDm.ttcn Change-Id: Ibbc967f0bd9a19ab4bbd17f612654d72cb32d571 --- M Makefile R bts/BTS_Tests_LAPDm.ttcn 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/Makefile b/Makefile index 074e151..b8778af 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -SUBDIRS=bsc bsc-nat bts ggsn_tests hlr lapdm mgw msc pcu sccp selftest sgsn sip sysinfo +SUBDIRS=bsc bsc-nat bts ggsn_tests hlr mgw msc pcu sccp selftest sgsn sip sysinfo NPROC=$(shell nproc 2>/dev/null) ifeq ($(NPROC),) diff --git a/lapdm/L1CTL_Test.ttcn b/bts/BTS_Tests_LAPDm.ttcn similarity index 98% rename from lapdm/L1CTL_Test.ttcn rename to bts/BTS_Tests_LAPDm.ttcn index 1922f70..d6c605d 100644 --- a/lapdm/L1CTL_Test.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -1,4 +1,4 @@ -module L1CTL_Test { +module BTS_Tests_LAPDm { import from GSM_Types all; import from Osmocom_Types all; import from LAPDm_RAW_PT all; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibbc967f0bd9a19ab4bbd17f612654d72cb32d571 Gerrit-Change-Number: 14327 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 21:28:46 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:28:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Derive test component that talks RSL and LAPDm In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14328 ) Change subject: bts: Derive test component that talks RSL and LAPDm ...................................................................... bts: Derive test component that talks RSL and LAPDm Change-Id: I6e24c6f6a904c4c051780c35af82c3bd53c970ce --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index d6c605d..a5bcc56 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -3,12 +3,19 @@ import from Osmocom_Types all; import from LAPDm_RAW_PT all; import from LAPDm_Types all; + import from BTS_Tests all; + /* test that use exclusively only LAPDm over L1CTL */ type component lapdm_test_CT { port LAPDm_PT LAPDM; var lapdm_CT lapdm_component; }; + /* contrary to BTS_Tests.ttcn, we use LAPDm_PT here, a convenience wrapper + * around L1CTL to perform encode/decode of abstract LAPDm frames */ + type component lapdm_bts_CT extends lapdm_test_CT, test_CT { + } + function f_init() runs on lapdm_test_CT { /* create the LAPDm component */ lapdm_component := lapdm_CT.create; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6e24c6f6a904c4c051780c35af82c3bd53c970ce Gerrit-Change-Number: 14328 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 21:28:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:28:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Remove one indent lvel from BTS_Tests_LAPDm.ttcn In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14329 ) Change subject: bts: Remove one indent lvel from BTS_Tests_LAPDm.ttcn ...................................................................... bts: Remove one indent lvel from BTS_Tests_LAPDm.ttcn Change-Id: I4637393df9989a97a4d70f08bd334d0f8cfd2284 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 233 insertions(+), 231 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index a5bcc56..0792863 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -1,259 +1,261 @@ module BTS_Tests_LAPDm { - import from GSM_Types all; - import from Osmocom_Types all; - import from LAPDm_RAW_PT all; - import from LAPDm_Types all; - import from BTS_Tests all; - /* test that use exclusively only LAPDm over L1CTL */ - type component lapdm_test_CT { - port LAPDm_PT LAPDM; - var lapdm_CT lapdm_component; - }; +import from GSM_Types all; +import from Osmocom_Types all; +import from LAPDm_RAW_PT all; +import from LAPDm_Types all; +import from BTS_Tests all; - /* contrary to BTS_Tests.ttcn, we use LAPDm_PT here, a convenience wrapper - * around L1CTL to perform encode/decode of abstract LAPDm frames */ - type component lapdm_bts_CT extends lapdm_test_CT, test_CT { +/* test that use exclusively only LAPDm over L1CTL */ +type component lapdm_test_CT { + port LAPDm_PT LAPDM; + var lapdm_CT lapdm_component; +}; + +/* contrary to BTS_Tests.ttcn, we use LAPDm_PT here, a convenience wrapper + * around L1CTL to perform encode/decode of abstract LAPDm frames */ +type component lapdm_bts_CT extends lapdm_test_CT, test_CT { +} + +function f_init() runs on lapdm_test_CT { + /* create the LAPDm component */ + lapdm_component := lapdm_CT.create; + /* connect our own LAPDM port to the LAPDM Service Provider of the LAPDm component */ + connect(self:LAPDM, lapdm_component:LAPDM_SP); + /* connect the LAPDm compoent's lower-side port to the system L1CTL port (which is internally + * connected to the Unix Domain Socket test port */ + map(lapdm_component:L1CTL, system:L1CTL); + + /* start the LAPDm parallel component calling it's local function LAPDmStart */ + lapdm_component.start(LAPDmStart()); +} + +/* master function establishing a dedicated radio channel (takes care of RACH/IMM.ASS handling) */ +function f_establish_dcch() runs on lapdm_test_CT { + var BCCH_tune_req tune_req := { arfcn := { false, 871 }, combined_ccch := true }; + var DCCH_establish_req est_req := { ra := 23 }; + + LAPDM.send(tune_req); + LAPDM.send(est_req); + LAPDM.receive(DCCH_establish_res:?); +} + +/* helper function releasing dedicated radio channel physically (no Um signaling!) */ +function f_release_dcch() runs on lapdm_test_CT { + var DCCH_release_req rel_req := {}; + LAPDM.send(rel_req); +} + +template LAPDm_ph_data t_PH_DATA(template GsmSapi sapi, template boolean sacch, template LapdmFrame frame) := { + sacch := sacch, + sapi := sapi, + lapdm := frame +} +/* template for a valid SABM frame */ +template LapdmFrame LAPDm_B_SABM(template GsmSapi sapi, octetstring payload) := { + ab := { + addr := tr_LapdmAddr(sapi, false), + ctrl := tr_LapdmCtrlSABM(true), + len := lengthof(payload), + m := false, + el := 1, + payload := payload } +} - function f_init() runs on lapdm_test_CT { - /* create the LAPDm component */ - lapdm_component := lapdm_CT.create; - /* connect our own LAPDM port to the LAPDM Service Provider of the LAPDm component */ - connect(self:LAPDM, lapdm_component:LAPDM_SP); - /* connect the LAPDm compoent's lower-side port to the system L1CTL port (which is internally - * connected to the Unix Domain Socket test port */ - map(lapdm_component:L1CTL, system:L1CTL); - - /* start the LAPDm parallel component calling it's local function LAPDmStart */ - lapdm_component.start(LAPDmStart()); +/* template for a valid UA frame */ +template LapdmFrame tr_LAPDm_B_UA(template GsmSapi sapi, template octetstring payload) := { + ab := { + addr := tr_LapdmAddr(sapi, false), + ctrl := tr_LapdmCtrlUA(true), + len := ?, + m := false, + el := 1, + payload := payload } +} - /* master function establishing a dedicated radio channel (takes care of RACH/IMM.ASS handling) */ - function f_establish_dcch() runs on lapdm_test_CT { - var BCCH_tune_req tune_req := { arfcn := { false, 871 }, combined_ccch := true }; - var DCCH_establish_req est_req := { ra := 23 }; - - LAPDM.send(tune_req); - LAPDM.send(est_req); - LAPDM.receive(DCCH_establish_res:?); +/* template for a valid UA frame */ +template LapdmFrame LAPDm_B_UA(template GsmSapi sapi, octetstring payload) := { + ab := { + addr := tr_LapdmAddr(sapi, false), + ctrl := tr_LapdmCtrlUA(true), + len := lengthof(payload), + m := false, + el := 1, + payload := payload } +} - /* helper function releasing dedicated radio channel physically (no Um signaling!) */ - function f_release_dcch() runs on lapdm_test_CT { - var DCCH_release_req rel_req := {}; - LAPDM.send(rel_req); +/* template for a valid UI frame */ +template LapdmFrame LAPDm_B_UI(template GsmSapi sapi, octetstring payload) := { + ab := { + addr := tr_LapdmAddr(sapi, true), + ctrl := tr_LapdmCtrlUI(false), + len := lengthof(payload), + m := false, + el := 1, + payload := payload } +} - template LAPDm_ph_data t_PH_DATA(template GsmSapi sapi, template boolean sacch, template LapdmFrame frame) := { - sacch := sacch, - sapi := sapi, - lapdm := frame +template LapdmFrame t_nopayload(template GsmSapi sapi) := { + ab := { + addr := tr_LapdmAddr(sapi, true), + ctrl := ?, + len := 0, + m := false, + el := 1, + payload := ''O } - /* template for a valid SABM frame */ - template LapdmFrame LAPDm_B_SABM(template GsmSapi sapi, octetstring payload) := { - ab := { - addr := tr_LapdmAddr(sapi, false), - ctrl := tr_LapdmCtrlSABM(true), - len := lengthof(payload), - m := false, - el := 1, - payload := payload +} + +template LapdmFrame LAPDm_B_DISC(template GsmSapi sapi) modifies t_nopayload := { + ab := { + ctrl := tr_LapdmCtrlDISC(true) + } +} + +template LapdmFrame LAPDm_B_RR(template GsmSapi sapi, template uint3_t nr) modifies t_nopayload := { + ab := { + ctrl := tr_LapdmCtrlRR(nr, false) + } +} + + +function f_test_sabm_results_in_ua(uint8_t sapi, boolean use_sacch, octetstring payload) runs on lapdm_test_CT return boolean { + var LAPDm_ph_data phd; + var boolean result := false; + timer T := 5.0; + + f_establish_dcch(); + LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_SABM(sapi, payload))); + log("====> expecting ", t_PH_DATA(sapi, use_sacch, LAPDm_B_UA(sapi, payload))); + T.start + alt { + [] LAPDM.receive(t_PH_DATA(?, use_sacch, LAPDm_B_UA(sapi, payload))) { result := true; } + [] LAPDM.receive(t_PH_DATA(?, use_sacch, ?)) -> value phd { log("Other msg on DCH: ", phd); repeat; } + [] LAPDM.receive(t_PH_DATA(?, ?, ?)) -> value phd { log("Other PH-DATA: ", phd); repeat; } + [] T.timeout { } + } + LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_RR(sapi, 0))); + f_release_dcch(); + return result; +} + +testcase TC_sabm_ua_dcch_sapi0() runs on lapdm_test_CT { + f_init(); + if (not f_test_sabm_results_in_ua(0, false, 'FEFE'O)) { + setverdict(fail); + } + setverdict(pass); +} + +testcase TC_sabm_ua_dcch_sapi0_nopayload() runs on lapdm_test_CT { + f_init(); + if (f_test_sabm_results_in_ua(0, false, ''O)) { + setverdict(fail, "Initial SABM/UA must contain L3 payload but BTS accepts without"); + } + setverdict(pass); +} + +testcase TC_sabm_ua_dcch_sapi3() runs on lapdm_test_CT { + f_init(); + if (f_test_sabm_results_in_ua(3, false, 'FEFE'O)) { + setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=3"); + } + setverdict(pass); +} + +testcase TC_sabm_ua_dcch_sapi4() runs on lapdm_test_CT { + f_init(); + if (f_test_sabm_results_in_ua(4, false, 'FEFE'O)) { + setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=4"); + } + setverdict(pass); +} + +testcase TC_sabm_contention() runs on lapdm_test_CT { + var LAPDm_ph_data phd; + const octetstring payload := '0102030405'O; + const GsmSapi sapi := 0; + const boolean use_sacch := false; + timer T := 5.0; + + f_init(); + + f_establish_dcch(); + /* first frame is our real SABM */ + LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_SABM(sapi, payload))); + /* second frame is a SABM with different payload, which BTS has to ignore according to 8.4.1.4 */ + LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_SABM(sapi, 'ABCDEF'O))); + log("====> expecting ", t_PH_DATA(sapi, use_sacch, LAPDm_B_UA(sapi, payload))); + T.start + alt { + [] LAPDM.receive(t_PH_DATA(?, use_sacch, LAPDm_B_UA(sapi, payload))) { setverdict(pass); repeat; } + [] LAPDM.receive(t_PH_DATA(?, use_sacch, tr_LAPDm_B_UA(sapi, ?))) { + setverdict(fail, "Second SABM was responded to during contention resolution"); } + [] LAPDM.receive { repeat }; + [] T.timeout { } } + f_release_dcch(); +} - /* template for a valid UA frame */ - template LapdmFrame tr_LAPDm_B_UA(template GsmSapi sapi, template octetstring payload) := { - ab := { - addr := tr_LapdmAddr(sapi, false), - ctrl := tr_LapdmCtrlUA(true), - len := ?, - m := false, - el := 1, - payload := payload - } +/* we test that a re-transmitted SABM with identical payload will result in the retransmission of a + * UA. This is required during the contention resolution procedure as specified in 8.4.1.4 */ +testcase TC_sabm_retransmit() runs on lapdm_test_CT { + const octetstring payload := '00FEFEDEADBEEF'O; + f_init(); + if (not f_test_sabm_results_in_ua(0, false, payload)) { + setverdict(fail, "UA not received for first SABM"); } - - /* template for a valid UA frame */ - template LapdmFrame LAPDm_B_UA(template GsmSapi sapi, octetstring payload) := { - ab := { - addr := tr_LapdmAddr(sapi, false), - ctrl := tr_LapdmCtrlUA(true), - len := lengthof(payload), - m := false, - el := 1, - payload := payload - } + if (not f_test_sabm_results_in_ua(0, false, payload)) { + setverdict(fail, "UA not received for second SABM"); } + setverdict(pass); +} - /* template for a valid UI frame */ - template LapdmFrame LAPDm_B_UI(template GsmSapi sapi, octetstring payload) := { - ab := { - addr := tr_LapdmAddr(sapi, true), - ctrl := tr_LapdmCtrlUI(false), - len := lengthof(payload), - m := false, - el := 1, - payload := payload - } - } - - template LapdmFrame t_nopayload(template GsmSapi sapi) := { - ab := { - addr := tr_LapdmAddr(sapi, true), - ctrl := ?, - len := 0, - m := false, - el := 1, - payload := ''O - } - } - - template LapdmFrame LAPDm_B_DISC(template GsmSapi sapi) modifies t_nopayload := { - ab := { - ctrl := tr_LapdmCtrlDISC(true) - } - } - - template LapdmFrame LAPDm_B_RR(template GsmSapi sapi, template uint3_t nr) modifies t_nopayload := { - ab := { - ctrl := tr_LapdmCtrlRR(nr, false) - } - } - - - function f_test_sabm_results_in_ua(uint8_t sapi, boolean use_sacch, octetstring payload) runs on lapdm_test_CT return boolean { - var LAPDm_ph_data phd; - var boolean result := false; - timer T := 5.0; - - f_establish_dcch(); - LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_SABM(sapi, payload))); - log("====> expecting ", t_PH_DATA(sapi, use_sacch, LAPDm_B_UA(sapi, payload))); - T.start - alt { - [] LAPDM.receive(t_PH_DATA(?, use_sacch, LAPDm_B_UA(sapi, payload))) { result := true; } - [] LAPDM.receive(t_PH_DATA(?, use_sacch, ?)) -> value phd { log("Other msg on DCH: ", phd); repeat; } - [] LAPDM.receive(t_PH_DATA(?, ?, ?)) -> value phd { log("Other PH-DATA: ", phd); repeat; } - [] T.timeout { } - } - LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_RR(sapi, 0))); - f_release_dcch(); - return result; - } - - testcase TC_sabm_ua_dcch_sapi0() runs on lapdm_test_CT { - f_init(); - if (not f_test_sabm_results_in_ua(0, false, 'FEFE'O)) { - setverdict(fail); - } - setverdict(pass); - } - - testcase TC_sabm_ua_dcch_sapi0_nopayload() runs on lapdm_test_CT { - f_init(); - if (f_test_sabm_results_in_ua(0, false, ''O)) { - setverdict(fail, "Initial SABM/UA must contain L3 payload but BTS accepts without"); - } - setverdict(pass); - } - - testcase TC_sabm_ua_dcch_sapi3() runs on lapdm_test_CT { - f_init(); - if (f_test_sabm_results_in_ua(3, false, 'FEFE'O)) { - setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=3"); - } - setverdict(pass); - } - - testcase TC_sabm_ua_dcch_sapi4() runs on lapdm_test_CT { - f_init(); - if (f_test_sabm_results_in_ua(4, false, 'FEFE'O)) { - setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=4"); - } - setverdict(pass); - } - - testcase TC_sabm_contention() runs on lapdm_test_CT { - var LAPDm_ph_data phd; - const octetstring payload := '0102030405'O; - const GsmSapi sapi := 0; - const boolean use_sacch := false; - timer T := 5.0; - - f_init(); - - f_establish_dcch(); - /* first frame is our real SABM */ - LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_SABM(sapi, payload))); - /* second frame is a SABM with different payload, which BTS has to ignore according to 8.4.1.4 */ - LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_SABM(sapi, 'ABCDEF'O))); - log("====> expecting ", t_PH_DATA(sapi, use_sacch, LAPDm_B_UA(sapi, payload))); - T.start - alt { - [] LAPDM.receive(t_PH_DATA(?, use_sacch, LAPDm_B_UA(sapi, payload))) { setverdict(pass); repeat; } - [] LAPDM.receive(t_PH_DATA(?, use_sacch, tr_LAPDm_B_UA(sapi, ?))) { - setverdict(fail, "Second SABM was responded to during contention resolution"); - } - [] LAPDM.receive { repeat }; - [] T.timeout { } - } - f_release_dcch(); - } - - /* we test that a re-transmitted SABM with identical payload will result in the retransmission of a - * UA. This is required during the contention resolution procedure as specified in 8.4.1.4 */ - testcase TC_sabm_retransmit() runs on lapdm_test_CT { - const octetstring payload := '00FEFEDEADBEEF'O; - f_init(); - if (not f_test_sabm_results_in_ua(0, false, payload)) { - setverdict(fail, "UA not received for first SABM"); - } - if (not f_test_sabm_results_in_ua(0, false, payload)) { - setverdict(fail, "UA not received for second SABM"); - } - setverdict(pass); - } - - testcase TC_foo() runs on lapdm_test_CT { - var LapdmFrame lf; +testcase TC_foo() runs on lapdm_test_CT { + var LapdmFrame lf; /* - var LapdmFrame lf := valueof(LAPDm_B_UA(0, ''O)); - log("ENC UA: ", enc_LapdmFrame(lf)); - lf := valueof(LAPDm_B_UI(0, ''O)); - log("ENC UI B: ", enc_LapdmFrame(lf)); - log("ENC UI B: ", enc_LapdmFrameB(lf.b)); + var LapdmFrame lf := valueof(LAPDm_B_UA(0, ''O)); + log("ENC UA: ", enc_LapdmFrame(lf)); + lf := valueof(LAPDm_B_UI(0, ''O)); + log("ENC UI B: ", enc_LapdmFrame(lf)); + log("ENC UI B: ", enc_LapdmFrameB(lf.b)); - log("DEC UI AF: ", dec_LapdmAddressField('03'O)); + log("DEC UI AF: ", dec_LapdmAddressField('03'O)); */ - lf := valueof(LAPDm_B_RR(0, 0)); - log("ENC RR: ", enc_LapdmFrame(lf)); + lf := valueof(LAPDm_B_RR(0, 0)); + log("ENC RR: ", enc_LapdmFrame(lf)); - lf := valueof(LAPDm_B_UA(0, ''O)); - log("ENC UA: ", enc_LapdmFrame(lf)); + lf := valueof(LAPDm_B_UA(0, ''O)); + log("ENC UA: ", enc_LapdmFrame(lf)); - lf := valueof(LAPDm_B_UI(0, ''O)); - log("ENC UI: ", enc_LapdmFrame(lf)); + lf := valueof(LAPDm_B_UI(0, ''O)); + log("ENC UI: ", enc_LapdmFrame(lf)); - log("DEC UI CU: ", dec_LapdmCtrlU('03'O)); - log("DEC UI CT: ", dec_LapdmCtrl('03'O)); + log("DEC UI CU: ", dec_LapdmCtrlU('03'O)); + log("DEC UI CT: ", dec_LapdmCtrl('03'O)); - log("DEC UA: ", dec_LapdmFrameAB('017301'O)); - log("DEC UI: ", dec_LapdmFrameAB('030301'O)); - log("DEC I: ", dec_LapdmFrameAB('030001'O)); - log("DEC S: ", dec_LapdmFrameAB('030101'O)); - log("DEC: ", dec_LapdmFrameAB('030301'O)); - log("DEC: ", dec_LapdmFrameAB('0303012B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B'O)); - } + log("DEC UA: ", dec_LapdmFrameAB('017301'O)); + log("DEC UI: ", dec_LapdmFrameAB('030301'O)); + log("DEC I: ", dec_LapdmFrameAB('030001'O)); + log("DEC S: ", dec_LapdmFrameAB('030101'O)); + log("DEC: ", dec_LapdmFrameAB('030301'O)); + log("DEC: ", dec_LapdmFrameAB('0303012B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B'O)); +} - control { - execute(TC_foo()); - execute(TC_sabm_ua_dcch_sapi0()); - execute(TC_sabm_ua_dcch_sapi0_nopayload()); - execute(TC_sabm_ua_dcch_sapi3()); - execute(TC_sabm_ua_dcch_sapi4()); - execute(TC_sabm_contention()); - execute(TC_sabm_retransmit()); - } +control { + execute(TC_foo()); + execute(TC_sabm_ua_dcch_sapi0()); + execute(TC_sabm_ua_dcch_sapi0_nopayload()); + execute(TC_sabm_ua_dcch_sapi3()); + execute(TC_sabm_ua_dcch_sapi4()); + execute(TC_sabm_contention()); + execute(TC_sabm_retransmit()); +} + } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4637393df9989a97a4d70f08bd334d0f8cfd2284 Gerrit-Change-Number: 14329 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 21:28:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:28:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: BTS_Tests_LAPDm.ttcn: rename f_init() to f_lapdm_init() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14330 ) Change subject: bts: BTS_Tests_LAPDm.ttcn: rename f_init() to f_lapdm_init() ...................................................................... bts: BTS_Tests_LAPDm.ttcn: rename f_init() to f_lapdm_init() This is to avoid name clashes with f_init() from BTS_Tests.ttcn Change-Id: Ie6272165b1dbda53d2d02af43c8e969da7a54d2e --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 11 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index 0792863..33aa174 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -17,7 +17,11 @@ type component lapdm_bts_CT extends lapdm_test_CT, test_CT { } -function f_init() runs on lapdm_test_CT { +/********************************************************************************* + * Test using only L1CTL/LAPDm + *********************************************************************************/ + +function f_lapdm_init() runs on lapdm_test_CT { /* create the LAPDm component */ lapdm_component := lapdm_CT.create; /* connect our own LAPDM port to the LAPDM Service Provider of the LAPDm component */ @@ -144,7 +148,7 @@ } testcase TC_sabm_ua_dcch_sapi0() runs on lapdm_test_CT { - f_init(); + f_lapdm_init(); if (not f_test_sabm_results_in_ua(0, false, 'FEFE'O)) { setverdict(fail); } @@ -152,7 +156,7 @@ } testcase TC_sabm_ua_dcch_sapi0_nopayload() runs on lapdm_test_CT { - f_init(); + f_lapdm_init(); if (f_test_sabm_results_in_ua(0, false, ''O)) { setverdict(fail, "Initial SABM/UA must contain L3 payload but BTS accepts without"); } @@ -160,7 +164,7 @@ } testcase TC_sabm_ua_dcch_sapi3() runs on lapdm_test_CT { - f_init(); + f_lapdm_init(); if (f_test_sabm_results_in_ua(3, false, 'FEFE'O)) { setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=3"); } @@ -168,7 +172,7 @@ } testcase TC_sabm_ua_dcch_sapi4() runs on lapdm_test_CT { - f_init(); + f_lapdm_init(); if (f_test_sabm_results_in_ua(4, false, 'FEFE'O)) { setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=4"); } @@ -182,7 +186,7 @@ const boolean use_sacch := false; timer T := 5.0; - f_init(); + f_lapdm_init(); f_establish_dcch(); /* first frame is our real SABM */ @@ -206,7 +210,7 @@ * UA. This is required during the contention resolution procedure as specified in 8.4.1.4 */ testcase TC_sabm_retransmit() runs on lapdm_test_CT { const octetstring payload := '00FEFEDEADBEEF'O; - f_init(); + f_lapdm_init(); if (not f_test_sabm_results_in_ua(0, false, payload)) { setverdict(fail, "UA not received for first SABM"); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie6272165b1dbda53d2d02af43c8e969da7a54d2e Gerrit-Change-Number: 14330 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 21:28:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:28:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: don't require users to pass test case name to f_init() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14331 ) Change subject: bts: don't require users to pass test case name to f_init() ...................................................................... bts: don't require users to pass test case name to f_init() The f_init() function itself can very well derive the identity using the built-in testcasename() function. There's no need asking users to do that - many of them don't do it in the first place :/ Change-Id: I17a61a84fba4df31b8baab1f631c8aa55d894dbd --- M bts/BTS_Tests.ttcn M bts/BTS_Tests_SMSCB.ttcn 2 files changed, 42 insertions(+), 41 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index ed1d8e1..c43774d 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -332,7 +332,8 @@ } /* global init function */ -function f_init(charstring id := "BTS-Test") runs on test_CT { +function f_init() runs on test_CT { + var charstring id := testcasename(); timer T := mp_ipa_up_timeout; g_AllChannels := { /* TS 1..4: TCH/F */ @@ -593,7 +594,7 @@ testcase TC_chan_act_stress() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); - f_init(testcasename()); + f_init(); vc_conn := f_start_handler(refers(f_TC_chan_act_stress), pars); vc_conn.done; Misc_Helpers.f_shutdown(__BFILE__, __LINE__); @@ -700,7 +701,7 @@ /* execute the same callback function on a variety of logical channels */ private function f_testmatrix_each_chan(ConnHdlrPars pars, void_fn fn) runs on test_CT { var ConnHdlr vc_conn; - f_init(testcasename()); + f_init(); /* test on each of the channels we have */ for (var integer i := 0; i < sizeof(g_AllChanTypes); i := i+1) { @@ -1228,7 +1229,7 @@ /* Send 1000 RACH requests and check their RA+FN on the RSL side */ testcase TC_rach_content() runs on test_CT { - f_init(testcasename()); + f_init(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -1470,7 +1471,7 @@ /* Test if dropping of RACH Based on NM_ATT_MAX_TA works */ testcase TC_rach_max_ta() runs on test_CT { - f_init(testcasename()); + f_init(); f_init_l1ctl(); f_l1_tune(L1CTL); f_sleep(1.0); @@ -1887,7 +1888,7 @@ testcase TC_meas_res_sign_tchf() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; - f_init(testcasename()); + f_init(); for (var integer tn := 1; tn <= 4; tn := tn+1) { pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); @@ -1898,7 +1899,7 @@ testcase TC_meas_res_sign_tchh() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; - f_init(testcasename()); + f_init(); for (var integer ss := 0; ss <= 1; ss := ss+1) { pars := valueof(t_Pars(t_RslChanNr_Lm(5, ss), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); @@ -1909,7 +1910,7 @@ testcase TC_meas_res_sign_sdcch4() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; - f_init(testcasename()); + f_init(); for (var integer ss := 0; ss <= 3; ss := ss+1) { pars := valueof(t_Pars(t_RslChanNr_SDCCH4(0, ss), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); @@ -1920,7 +1921,7 @@ testcase TC_meas_res_sign_sdcch8() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; - f_init(testcasename()); + f_init(); for (var integer ss := 0; ss <= 7; ss := ss+1) { pars := valueof(t_Pars(t_RslChanNr_SDCCH8(6, ss), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); @@ -1931,7 +1932,7 @@ testcase TC_meas_res_sign_tchh_toa256() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; - f_init(testcasename()); + f_init(); f_vty_config(BTSVTY, "bts 0", "supp-meas-info toa256"); for (var integer ss := 0; ss <= 1; ss := ss+1) { pars := valueof(t_Pars(t_RslChanNr_Lm(5, ss), ts_RSL_ChanMode_SIGN)); @@ -2003,7 +2004,7 @@ testcase TC_rsl_ms_pwr_ctrl() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; - f_init(testcasename()); + f_init(); for (var integer tn := 1; tn <= 4; tn := tn+1) { pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); @@ -2055,7 +2056,7 @@ testcase TC_rsl_chan_initial_ta() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; - f_init(testcasename()); + f_init(); pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_tc_rsl_chan_initial_ta), pars); vc_conn.done; @@ -2129,7 +2130,7 @@ testcase TC_conn_fail_crit() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; - f_init(testcasename()); + f_init(); pars := valueof(t_Pars(t_RslChanNr_SDCCH8(6, 3), ts_RSL_ChanMode_SIGN)); pars.t_guard := 60.0; vc_conn := f_start_handler(refers(f_TC_conn_fail_crit), pars); @@ -2273,7 +2274,7 @@ /* Helper function for paging related testing */ private function f_TC_paging(PagingTestCfg cfg) runs on test_CT return PagingTestState { - f_init(testcasename()); + f_init(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -2511,7 +2512,7 @@ var charstring res_str; var float rx_ratio; - f_init(testcasename()); + f_init(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -3024,7 +3025,7 @@ testcase TC_bcch_info() runs on test_CT { - f_init(testcasename()); + f_init(); /* FIXME: enable / disable individual BCCH info */ //ts_RSL_BCCH_INFO(si_type, info); /* expect no ERROR REPORT after either of them * @@ -3057,7 +3058,7 @@ /* Provoke a protocol error (message too short) and match on ERROR REPORT */ testcase TC_rsl_protocol_error() runs on test_CT { - f_init(testcasename()); + f_init(); var RSL_Message rsl := valueof(ts_RSL_BCCH_INFO(RSL_SYSTEM_INFO_1, ''O)); rsl.ies := omit; RSL_CCHAN.send(ts_RSL_UD(rsl)); @@ -3067,7 +3068,7 @@ /* Provoke a mandatory IE error and match on ERROR REPORT */ testcase TC_rsl_mand_ie_error() runs on test_CT { - f_init(testcasename()); + f_init(); var RSL_Message rsl := valueof(ts_RSL_BCCH_INFO(RSL_SYSTEM_INFO_1, ''O)); rsl.ies := { rsl.ies[0] }; @@ -3078,7 +3079,7 @@ /* Provoke an IE content error and match on ERROR REPORT */ testcase TC_rsl_ie_content_error() runs on test_CT { - f_init(testcasename()); + f_init(); var RSL_Message rsl := valueof(ts_RSL_BCCH_INFO(RSL_SYSTEM_INFO_1, ''O)); rsl.ies[1].body.sysinfo_type := RSL_SYSTEM_INFO_5; RSL_CCHAN.send(ts_RSL_UD(rsl)); @@ -3097,7 +3098,7 @@ var ConnHdlr vc_conn; var ConnHdlrPars pars := valueof(t_Pars(ts_RslChanNr_SDCCH4(0,0), ts_RSL_ChanMode_SIGN)); - f_init(testcasename()); + f_init(); vc_conn := f_start_handler(refers(f_TC_chan_act_wrong_mdisc), pars); vc_conn.done; @@ -3129,7 +3130,7 @@ var ConnHdlrPars pars := valueof(t_Pars(ts_RslChanNr_SDCCH4(0,0), ts_RSL_ChanMode_SIGN)); var template (value) RSL_Message rsl_tx; - f_init(testcasename()); + f_init(); /* Common Channel with wrong message type */ RSL_CCHAN.clear; @@ -3167,7 +3168,7 @@ var ConnHdlr vc_conn; var ConnHdlrPars pars := valueof(t_Pars(ts_RslChanNr_SDCCH4(0,0), ts_RSL_ChanMode_SIGN)); - f_init(testcasename()); + f_init(); RSL_CCHAN.clear; vc_conn := f_start_handler(refers(f_TC_err_rep_wrong_sequence), pars); @@ -3186,7 +3187,7 @@ } testcase TC_ipa_dlcx_not_active() runs on test_CT { var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); - f_init(testcasename()); + f_init(); var ConnHdlr vc_conn := f_start_handler(refers(f_TC_ipa_dlcx_not_active), pars); vc_conn.done; } @@ -3200,7 +3201,7 @@ } testcase TC_ipa_crcx_twice_not_active() runs on test_CT { var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); - f_init(testcasename()); + f_init(); var ConnHdlr vc_conn := f_start_handler(refers(f_TC_ipa_crcx_twice_not_active), pars); vc_conn.done; } @@ -3221,7 +3222,7 @@ } testcase TC_ipa_crcx_mdcx_dlcx_not_active() runs on test_CT { var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); - f_init(testcasename()); + f_init(); var ConnHdlr vc_conn := f_start_handler(refers(f_TC_ipa_crcx_mdcx_dlcx_not_active), pars); vc_conn.done; } @@ -3248,7 +3249,7 @@ } testcase TC_ipa_crcx_mdcx_mdcx_dlcx_not_active() runs on test_CT { var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); - f_init(testcasename()); + f_init(); var ConnHdlr vc_conn := f_start_handler(refers(f_TC_ipa_crcx_mdcx_mdcx_dlcx_not_active), pars); vc_conn.done; } @@ -3261,7 +3262,7 @@ testcase TC_ipa_crcx_sdcch_not_active() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + f_init(); pars := valueof(t_Pars(t_RslChanNr_SDCCH4(0,1), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_TC_ipa_crcx_sdcch_not_active), pars); @@ -4283,7 +4284,7 @@ testcase TC_dyn_osmo_pdch_act_deact() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + 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_act_deact), pars, true); @@ -4305,7 +4306,7 @@ testcase TC_dyn_osmo_pdch_unsol_deact() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + 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_unsol_deact), pars, true); @@ -4331,7 +4332,7 @@ testcase TC_dyn_osmo_pdch_double_act() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + 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_double_act), pars, true); @@ -4359,7 +4360,7 @@ testcase TC_dyn_osmo_pdch_tchf_act() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + 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_tchf_act), pars, true); @@ -4391,7 +4392,7 @@ testcase TC_dyn_osmo_pdch_tchh_act() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + 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_tchh_act), pars, true); @@ -4511,7 +4512,7 @@ testcase TC_dyn_ipa_pdch_tchf_act() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + f_init(); pars := valueof(t_Pars(t_RslChanNr_Bm(3), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_TC_dyn_ipa_pdch_tchf_act), pars, true); @@ -4547,7 +4548,7 @@ testcase TC_dyn_ipa_pdch_tchf_act_pdch_act_nack() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + f_init(); pars := valueof(t_Pars(t_RslChanNr_Bm(3), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_TC_dyn_ipa_pdch_tchf_act_pdch_act_nack), pars, true); @@ -4579,7 +4580,7 @@ testcase TC_dyn_ipa_pdch_act_tchf_act_nack() runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + f_init(); pars := valueof(t_Pars(t_RslChanNr_Bm(3), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_TC_dyn_ipa_pdch_act_tchf_act_nack), pars, true); @@ -4626,7 +4627,7 @@ private function f_rll_testmatrix(RllTestCases tcs, void_fn fn) runs on test_CT { var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(testcasename()); + f_init(); /* test on each of the channels we have */ for (var integer i := 0; i < sizeof(g_AllChanTypes); i := i+1) { @@ -5446,7 +5447,7 @@ var ConnHdlr vc_conn; var ConnHdlrPars pars; pars.t_guard := 60.0; - f_init(testcasename()); + f_init(); for (var integer i := 0; i < sizeof(g_AllChannels); i := i + 1) { pars := valueof(t_Pars(g_AllChannels[i], ts_RSL_ChanMode_SIGN(dtxd))); if (dtxd) { diff --git a/bts/BTS_Tests_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn index 4d357ba..962b516 100644 --- a/bts/BTS_Tests_SMSCB.ttcn +++ b/bts/BTS_Tests_SMSCB.ttcn @@ -213,7 +213,7 @@ f_init_vty_bsc(); /* ensure that a CBCH is present in channel combination */ f_vty_cbch_setup(pars.use_sdcch4); - f_init(testcasename()); + f_init(); f_init_l1ctl(); f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH); @@ -710,7 +710,7 @@ var ASP_RSL_Unitdata rx_ud; timer T := 10.0; - f_init(testcasename()); + f_init(); f_init_vty_bsc(); T.start; @@ -738,7 +738,7 @@ var ASP_RSL_Unitdata rx_ud; timer T := 10.0; - f_init(testcasename()); + f_init(); RSL_CCHAN.clear; T.start; @@ -794,7 +794,7 @@ timer T_initial_guard := 2.0; var integer i; - f_init(testcasename()); + f_init(); /* send tons of SMSCB Command */ for (i := 0; i < 30; i := i+1) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I17a61a84fba4df31b8baab1f631c8aa55d894dbd Gerrit-Change-Number: 14331 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 21:28:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:28:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: LAPDm_RAW_PT: Switch to dedicated channel without RACH+IMM.ASS In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14332 ) Change subject: LAPDm_RAW_PT: Switch to dedicated channel without RACH+IMM.ASS ...................................................................... LAPDm_RAW_PT: Switch to dedicated channel without RACH+IMM.ASS Change-Id: I07dd9191ca441bfd1e43e3521e98f88ad2d0489a --- M library/LAPDm_RAW_PT.ttcn 1 file changed, 36 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/library/LAPDm_RAW_PT.ttcn b/library/LAPDm_RAW_PT.ttcn index fe2d321..222c1aa 100644 --- a/library/LAPDm_RAW_PT.ttcn +++ b/library/LAPDm_RAW_PT.ttcn @@ -36,6 +36,17 @@ charstring err optional } + /* directly switch to a dedicated channel (without RACH/IMM.ASS */ + type record DCCH_switch_req { + Arfcn arfcn, + RslChannelNr chan_nr, + GsmTsc tsc + } + + type record DCCH_switch_res { + charstring err optional + } + type record length(8) of uint8_t TfiList; type record TbfPars { GsmArfcn arfcn optional, @@ -104,12 +115,14 @@ type port LAPDm_SP_PT message { in BCCH_tune_req, DCCH_establish_req, + DCCH_switch_req, DCCH_release_req, TBF_UL_establish_req, TBF_DL_establish_req, RLCMAC_ph_data_req, LAPDm_ph_data; out DCCH_establish_res, + DCCH_switch_res, TBF_UL_establish_res, RLCMAC_ph_data_ind, LAPDm_ph_data; @@ -118,11 +131,13 @@ /* port from user (external) point of view */ type port LAPDm_PT message { in DCCH_establish_res, + DCCH_switch_res, TBF_UL_establish_res, RLCMAC_ph_data_ind, LAPDm_ph_data; out BCCH_tune_req, DCCH_establish_req, + DCCH_switch_req, DCCH_release_req, TBF_UL_establish_req, TBF_DL_establish_req, @@ -222,6 +237,15 @@ set_ph_state(PH_STATE_DCH); } + /* switching directly to a dedicated channel *without RACH/IMM-ASS */ + private function f_switch_dcch(Arfcn arfcn, RslChannelNr chan_nr, GsmTsc tsc) runs on lapdm_CT { + set_ph_state(PH_STATE_TUNING_DCH); + /* store/save channel description */ + chan_desc.chan_nr := chan_nr; + f_L1CTL_DM_EST_REQ(L1CTL,arfcn, chan_nr, tsc); + set_ph_state(PH_STATE_DCH); + } + /* initialize a tfi_usf array with "not used" value 255 for all TN */ function f_TfiUsfArrInit() return TfiUsfArr { var TfiUsfArr tua := { 255, 255, 255, 255, 255, 255, 255, 255 }; @@ -374,6 +398,7 @@ var RLCMAC_ph_data_ind rpdi; var RLCMAC_ph_data_req rpdr; var DCCH_establish_req est_req; + var DCCH_switch_req sw_req; var DCCH_establish_res est_res; f_init_tbf(); @@ -422,6 +447,17 @@ } LAPDM_SP.send(res); } + [] LAPDM_SP.receive(DCCH_switch_req:?) -> value sw_req { + var DCCH_switch_res res; + f_switch_dcch(sw_req.arfcn, sw_req.chan_nr, sw_req.tsc); + if (ph_state == PH_STATE_DCH) { + res := { omit }; + } else { + res := { "Unable to switch to DCCH" }; + } + LAPDM_SP.send(res); + } + [] as_tbf_ul_est(); [] as_tbf_dl_est(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I07dd9191ca441bfd1e43e3521e98f88ad2d0489a Gerrit-Change-Number: 14332 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 21:29:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:29:31 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: LAPDm_RAW_PT: Fix handling of LAPDm on SACCH (L1 header) 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/+/14333 to look at the new patch set (#3). Change subject: LAPDm_RAW_PT: Fix handling of LAPDm on SACCH (L1 header) ...................................................................... LAPDm_RAW_PT: Fix handling of LAPDm on SACCH (L1 header) The existing implementation dind't account for the two-byte L1 header preset on the SACCH in both uplink and downlink. Change-Id: Iae97ad153e9d1688306b39b5fb43ade323dbe500 --- M library/LAPDm_RAW_PT.ttcn 1 file changed, 17 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/33/14333/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iae97ad153e9d1688306b39b5fb43ade323dbe500 Gerrit-Change-Number: 14333 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte 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 2 21:29:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:29:31 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add test for expiring T200 N200+1 times 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/+/14346 to look at the new patch set (#3). Change subject: bts: Add test for expiring T200 N200+1 times ...................................................................... bts: Add test for expiring T200 N200+1 times Change-Id: I9e1dbc889575f8952a4581551076829825b3b1cd --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 91 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/46/14346/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9e1dbc889575f8952a4581551076829825b3b1cd Gerrit-Change-Number: 14346 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte 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 2 21:29:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:29:31 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Factor out mobile-originated LAPDm establishment 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/+/14348 to look at the new patch set (#2). Change subject: bts: Factor out mobile-originated LAPDm establishment ...................................................................... bts: Factor out mobile-originated LAPDm establishment which avoids us to have to copy+pate this between several test cases. Change-Id: I8da753bb3d809ec09f9380bb4bac666ceaf61f00 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 29 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/48/14348/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8da753bb3d809ec09f9380bb4bac666ceaf61f00 Gerrit-Change-Number: 14348 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte 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 2 21:29:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:29:31 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Implement testcase for RR response frame loss 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/+/14349 to look at the new patch set (#2). Change subject: bts: Implement testcase for RR response frame loss ...................................................................... bts: Implement testcase for RR response frame loss Test is implemented as BTS_Tests_LAPDm.TC_rr_response_frame_loss() Change-Id: I32340fff6666fee0ebfb9b31b55e0982d0d917a1 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 58 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/49/14349/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I32340fff6666fee0ebfb9b31b55e0982d0d917a1 Gerrit-Change-Number: 14349 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte 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 2 21:29:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:29:31 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add test csse for I frame with wrong C/R value In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14350 to look at the new patch set (#2). Change subject: bts: Add test csse for I frame with wrong C/R value ...................................................................... bts: Add test csse for I frame with wrong C/R value Implemented as BTS_Tests_LAPDm.TC_incorrect_cr() Change-Id: I19e50049625bd31662a1e22b1394b69b2d249104 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 54 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/50/14350/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I19e50049625bd31662a1e22b1394b69b2d249104 Gerrit-Change-Number: 14350 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte 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 2 21:29:38 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:29:38 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: fixup l1 sacch In-Reply-To: References: Message-ID: Harald Welte has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14344 ) Change subject: fixup l1 sacch ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I43768b77c97868ca4d8fb972b8c2cf8529528272 Gerrit-Change-Number: 14344 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte 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 2 21:30:16 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:30:16 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: LAPDm_RAW_PT: Fix handling of LAPDm on SACCH (L1 header) In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14333 ) Change subject: LAPDm_RAW_PT: Fix handling of LAPDm on SACCH (L1 header) ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iae97ad153e9d1688306b39b5fb43ade323dbe500 Gerrit-Change-Number: 14333 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sun, 02 Jun 2019 21:30:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 21:30:17 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:30:17 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: LAPDm_RAW_PT: Fix handling of LAPDm on SACCH (L1 header) In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14333 ) Change subject: LAPDm_RAW_PT: Fix handling of LAPDm on SACCH (L1 header) ...................................................................... LAPDm_RAW_PT: Fix handling of LAPDm on SACCH (L1 header) The existing implementation dind't account for the two-byte L1 header preset on the SACCH in both uplink and downlink. Change-Id: Iae97ad153e9d1688306b39b5fb43ade323dbe500 --- M library/LAPDm_RAW_PT.ttcn 1 file changed, 17 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/library/LAPDm_RAW_PT.ttcn b/library/LAPDm_RAW_PT.ttcn index 222c1aa..2ede566 100644 --- a/library/LAPDm_RAW_PT.ttcn +++ b/library/LAPDm_RAW_PT.ttcn @@ -173,6 +173,10 @@ /* channel description of the currently active DCH */ var ChannelDescription chan_desc; + /* last SACCH downlink L1 header we received */ + var uint5_t ms_power_lvl := 0; + var uint8_t timing_adv := 0; + var TbfParsPerTs g_tbf_ul; var TbfParsPerTs g_tbf_dl; }; @@ -472,14 +476,21 @@ /* decode any received DATA frames for the dedicated channel and pass them up */ [] L1CTL.receive(tr_L1CTL_DATA_IND(chan_desc.chan_nr)) -> value dl { + var octetstring l2; if (dl.dl_info.link_id.c == SACCH) { lpd.sacch := true; + var octetstring l1 := substr(dl.payload.data_ind.payload, 0, 2); + l2 := substr(dl.payload.data_ind.payload, 2, + lengthof(dl.payload.data_ind.payload)-2); + ms_power_lvl := oct2int(l1[0] and4b '1F'O); + timing_adv := oct2int(l1[1]); /* FIXME: how to deal with UI frames in B4 format (lo length!) */ } else { lpd.sacch := false; + l2 := dl.payload.data_ind.payload; } lpd.sapi := dl.dl_info.link_id.sapi; - lpd.lapdm.ab := dec_LapdmFrameAB(dl.payload.data_ind.payload); + lpd.lapdm.ab := dec_LapdmFrameAB(l2); LAPDM_SP.send(lpd); } @@ -490,11 +501,15 @@ if (lpd.sacch) { link_id := valueof(ts_RslLinkID_SACCH(lpd.sapi)); buf := f_pad_oct(enc_LapdmFrame(lpd.lapdm), 21, '2B'O); + var SacchL1Header l1h := valueof(ts_SacchL1Header(ms_power_lvl, + false, timing_adv)); + L1CTL.send(ts_L1CTL_DATA_REQ_SACCH(chan_desc.chan_nr, link_id, + l1h, buf)); } else { link_id := valueof(ts_RslLinkID_DCCH(lpd.sapi)); buf := f_pad_oct(enc_LapdmFrame(lpd.lapdm), 23, '2B'O); + L1CTL.send(ts_L1CTL_DATA_REQ(chan_desc.chan_nr, link_id, buf)); } - L1CTL.send(ts_L1CTL_DATA_REQ(chan_desc.chan_nr, link_id, buf)); } /* Release dedicated channel */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iae97ad153e9d1688306b39b5fb43ade323dbe500 Gerrit-Change-Number: 14333 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 2 21:31:37 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:31:37 +0000 Subject: Change in ...osmo-bts[master]: trx: Update documentation for fn-advance and rts-advance In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/14334 to look at the new patch set (#2). Change subject: trx: Update documentation for fn-advance and rts-advance ...................................................................... trx: Update documentation for fn-advance and rts-advance Change-Id: I83eff296bfb7acff9d8560b5346bd9791fe6e7d9 Related: OS#4036 --- M doc/manuals/chapters/bts-models.adoc 1 file changed, 45 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/34/14334/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I83eff296bfb7acff9d8560b5346bd9791fe6e7d9 Gerrit-Change-Number: 14334 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte 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 Sun Jun 2 21:31:41 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Sun, 2 Jun 2019 21:31:41 +0000 Subject: Change in ...osmo-bts[master]: trx: Update documentation for fn-advance and rts-advance In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14334 ) Change subject: trx: Update documentation for fn-advance and rts-advance ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I83eff296bfb7acff9d8560b5346bd9791fe6e7d9 Gerrit-Change-Number: 14334 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 02 Jun 2019 21:31: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 3 06:24:56 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 3 Jun 2019 06:24:56 +0000 Subject: Change in ...osmo-msc[master]: libmsc/msc_vty.c: refactor 'show subscr / conn / trans' commands In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14069 ) Change subject: libmsc/msc_vty.c: refactor 'show subscr / conn / trans' commands ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14069 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5e58b56204c3f3d019e8d4c3c96cefdbb4af4d47 Gerrit-Change-Number: 14069 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 03 Jun 2019 06:24: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 3 06:25:46 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 3 Jun 2019 06:25:46 +0000 Subject: Change in ...osmo-msc[master]: libmsc/msc_vty.c: do not abuse strlen() to check char buffers In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14261 ) Change subject: libmsc/msc_vty.c: do not abuse strlen() to check char buffers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8728876b80c870e82247e6e56f719e10ed322a95 Gerrit-Change-Number: 14261 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 03 Jun 2019 06:25:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Jun 1 22:02:45 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Jun 2019 22:02:45 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5cf2f6205b708_2441fa05f0969967@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Testing/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 130s] | #define HAVE_MEMORY_H 1 [ 130s] | #define HAVE_STRINGS_H 1 [ 130s] | #define HAVE_INTTYPES_H 1 [ 130s] | #define HAVE_STDINT_H 1 [ 130s] | #define HAVE_UNISTD_H 1 [ 130s] | #define HAVE_DLFCN_H 1 [ 130s] | #define LT_OBJDIR ".libs/" [ 130s] | #define BUILD_SMPP 1 [ 130s] | #define STDC_HEADERS 1 [ 130s] | #define HAVE_DBI_DBD_H 1 [ 130s] | #define HAVE_PCAP_PCAP_H 1 [ 130s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 130s] | [ 130s] | configure: exit 0 [ 130s] [ 130s] make[1]: *** [debian/rules:30: override_dh_auto_test] Error 1 [ 130s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 130s] make: *** [debian/rules:13: build] Error 2 [ 130s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 130s] [ 130s] sheep83 failed "build openbsc_1.2.0.dsc" at Sat Jun 1 22:02:25 UTC 2019. [ 130s] [ 130s] ### VM INTERACTION START ### [ 133s] [ 122.621684] sysrq: SysRq : Power Off [ 133s] [ 122.636126] reboot: Power down [ 133s] ### VM INTERACTION END ### [ 133s] [ 133s] sheep83 failed "build openbsc_1.2.0.dsc" at Sat Jun 1 22:02:29 UTC 2019. [ 133s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 1 01:10:28 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Jun 2019 01:10:28 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8-jessie in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5cf1d093b01cb_2441fa05f08435a4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8-jessie/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-gsm-manuals-debian8-jessie failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8-jessie Last lines of build log: [ 188s] asciidoc: test-usermanual.adoc: line 29: reading: /usr/src/packages/BUILD/common/chapters/trx_if.adoc [ 188s] asciidoc: trx_if.adoc: line 121: evaluating: {counter2:target-number} [ 188s] asciidoc: trx_if.adoc: line 121: evaluating: {set2:target:test-usermanual__46.png} [ 188s] asciidoc: trx_if.adoc: line 131: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__46.png" -Tpng - && echo " " [ 188s] asciidoc: trx_if.adoc: line 143: evaluating: {counter2:target-number} [ 188s] asciidoc: trx_if.adoc: line 143: evaluating: {set2:target:test-usermanual__47.png} [ 188s] asciidoc: trx_if.adoc: line 152: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__47.png" -Tpng - && echo " " [ 189s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 189s] asciidoc: test-usermanual.adoc: line 30: reading: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 189s] asciidoc: vty.adoc: line 64: evaluating: {counter:table-number} [ 189s] make[3]: *** [../build/Makefile.asciidoc.inc:68: test-usermanual.pdf] Error 1 [ 189s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 189s] make[2]: *** [Makefile:438: all-recursive] Error 1 [ 189s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 189s] make[1]: *** [Makefile:362: all] Error 2 [ 189s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 189s] dh_auto_build: make -j1 returned exit code 2 [ 189s] make: *** [debian/rules:5: binary] Error 2 [ 189s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 189s] [ 189s] sheep81 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:10:24 UTC 2019. [ 189s] [ 189s] ### VM INTERACTION START ### [ 192s] [ 180.743642] sysrq: SysRq : Power Off [ 192s] [ 180.751187] reboot: Power down [ 192s] ### VM INTERACTION END ### [ 192s] [ 192s] sheep81 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:10:27 UTC 2019. [ 192s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 1 01:10:45 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Jun 2019 01:10:45 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8-jessie in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5cf1d0b236836_2441fa05f084369d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8-jessie/Debian_9.0/x86_64 Package network:osmocom:latest/osmo-gsm-manuals-debian8-jessie failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8-jessie Last lines of build log: [ 197s] asciidoc: trx_if.adoc: line 143: evaluating: {counter2:target-number} [ 197s] asciidoc: trx_if.adoc: line 143: evaluating: {set2:target:test-usermanual__47.png} [ 197s] asciidoc: trx_if.adoc: line 152: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__47.png" -Tpng - && echo " " [ 197s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 198s] asciidoc: test-usermanual.adoc: line 30: reading: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 198s] asciidoc: vty.adoc: line 64: evaluating: {counter:table-number} [ 198s] ../build/Makefile.asciidoc.inc:60: recipe for target 'test-usermanual.pdf' failed [ 198s] make[3]: *** [test-usermanual.pdf] Error 1 [ 198s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 198s] Makefile:438: recipe for target 'all-recursive' failed [ 198s] make[2]: *** [all-recursive] Error 1 [ 198s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 198s] Makefile:362: recipe for target 'all' failed [ 198s] make[1]: *** [all] Error 2 [ 198s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 198s] dh_auto_build: make -j1 returned exit code 2 [ 198s] debian/rules:5: recipe for target 'binary' failed [ 198s] make: *** [binary] Error 2 [ 198s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 198s] [ 198s] lamb12 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:10:31 UTC 2019. [ 198s] [ 198s] ### VM INTERACTION START ### [ 201s] [ 187.956399] sysrq: SysRq : Power Off [ 201s] [ 187.963376] reboot: Power down [ 201s] ### VM INTERACTION END ### [ 201s] [ 201s] lamb12 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:10:34 UTC 2019. [ 201s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 1 01:11:53 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Jun 2019 01:11:53 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8-jessie in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5cf1d0ebefeb4_2441fa05f084415e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8-jessie/Debian_9.0/aarch64 Package network:osmocom:latest/osmo-gsm-manuals-debian8-jessie failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8-jessie Last lines of build log: [ 279s] asciidoc: trx_if.adoc: line 143: evaluating: {counter2:target-number} [ 279s] asciidoc: trx_if.adoc: line 143: evaluating: {set2:target:test-usermanual__47.png} [ 279s] asciidoc: trx_if.adoc: line 152: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__47.png" -Tpng - && echo " " [ 280s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 280s] asciidoc: test-usermanual.adoc: line 30: reading: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 280s] asciidoc: vty.adoc: line 64: evaluating: {counter:table-number} [ 280s] ../build/Makefile.asciidoc.inc:60: recipe for target 'test-usermanual.pdf' failed [ 280s] make[3]: *** [test-usermanual.pdf] Error 1 [ 280s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 280s] Makefile:438: recipe for target 'all-recursive' failed [ 280s] make[2]: *** [all-recursive] Error 1 [ 280s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 280s] Makefile:362: recipe for target 'all' failed [ 280s] make[1]: *** [all] Error 2 [ 280s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 280s] dh_auto_build: make -j1 returned exit code 2 [ 280s] debian/rules:5: recipe for target 'binary' failed [ 280s] make: *** [binary] Error 2 [ 280s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 280s] [ 280s] armbuild04 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:11:33 UTC 2019. [ 280s] [ 280s] ### VM INTERACTION START ### [ 283s] [ 263.818588] sysrq: SysRq : Power Off [ 283s] [ 263.819961] reboot: Power down [ 283s] ### VM INTERACTION END ### [ 284s] [ 284s] armbuild04 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:11:37 UTC 2019. [ 284s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 1 01:12:12 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Jun 2019 01:12:12 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8-jessie in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5cf1d10ad3493_2441fa05f084433a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8-jessie/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-gsm-manuals-debian8-jessie failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8-jessie Last lines of build log: [ 274s] asciidoc: test-usermanual.adoc: line 29: reading: /usr/src/packages/BUILD/common/chapters/trx_if.adoc [ 274s] asciidoc: trx_if.adoc: line 121: evaluating: {counter2:target-number} [ 274s] asciidoc: trx_if.adoc: line 121: evaluating: {set2:target:test-usermanual__46.png} [ 274s] asciidoc: trx_if.adoc: line 131: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__46.png" -Tpng - && echo " " [ 274s] asciidoc: trx_if.adoc: line 143: evaluating: {counter2:target-number} [ 274s] asciidoc: trx_if.adoc: line 143: evaluating: {set2:target:test-usermanual__47.png} [ 275s] asciidoc: trx_if.adoc: line 152: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__47.png" -Tpng - && echo " " [ 275s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 275s] asciidoc: test-usermanual.adoc: line 30: reading: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 275s] asciidoc: vty.adoc: line 64: evaluating: {counter:table-number} [ 275s] make[3]: *** [../build/Makefile.asciidoc.inc:68: test-usermanual.pdf] Error 1 [ 275s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 275s] make[2]: *** [Makefile:438: all-recursive] Error 1 [ 275s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 275s] make[1]: *** [Makefile:362: all] Error 2 [ 275s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 275s] dh_auto_build: make -j1 returned exit code 2 [ 275s] make: *** [debian/rules:5: binary] Error 2 [ 275s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 275s] [ 275s] morla5 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:12:00 UTC 2019. [ 275s] [ 275s] ### VM INTERACTION START ### [ 278s] [ 261.999347] sysrq: SysRq : Power Off [ 278s] [ 262.011266] reboot: Power down [ 278s] ### VM INTERACTION END ### [ 278s] [ 278s] morla5 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:12:03 UTC 2019. [ 278s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 1 01:15:03 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Jun 2019 01:15:03 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8-jessie in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5cf1d1a54b93d_2441fa05f084509c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8-jessie/Debian_9.0/armv7l Package network:osmocom:latest/osmo-gsm-manuals-debian8-jessie failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8-jessie Last lines of build log: [ 490s] asciidoc: trx_if.adoc: line 143: evaluating: {counter2:target-number} [ 490s] asciidoc: trx_if.adoc: line 143: evaluating: {set2:target:test-usermanual__47.png} [ 490s] asciidoc: trx_if.adoc: line 152: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__47.png" -Tpng - && echo " " [ 491s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 491s] asciidoc: test-usermanual.adoc: line 30: reading: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 492s] asciidoc: vty.adoc: line 64: evaluating: {counter:table-number} [ 493s] ../build/Makefile.asciidoc.inc:60: recipe for target 'test-usermanual.pdf' failed [ 493s] make[3]: *** [test-usermanual.pdf] Error 1 [ 493s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 493s] Makefile:438: recipe for target 'all-recursive' failed [ 493s] make[2]: *** [all-recursive] Error 1 [ 493s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 493s] Makefile:362: recipe for target 'all' failed [ 493s] make[1]: *** [all] Error 2 [ 493s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 493s] dh_auto_build: make -j1 returned exit code 2 [ 493s] debian/rules:5: recipe for target 'binary' failed [ 493s] make: *** [binary] Error 2 [ 493s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 493s] [ 493s] armbuild13 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:14:58 UTC 2019. [ 493s] [ 493s] ### VM INTERACTION START ### [ 496s] [ 450.794362] sysrq: SysRq : Power Off [ 496s] [ 450.796280] reboot: Power down [ 496s] ### VM INTERACTION END ### [ 496s] [ 496s] armbuild13 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:15:01 UTC 2019. [ 496s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 1 01:12:46 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Jun 2019 01:12:46 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8-jessie in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5cf1d12a52636_2441fa05f08446ab@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8-jessie/xUbuntu_18.04/i586 Package network:osmocom:latest/osmo-gsm-manuals-debian8-jessie failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8-jessie Last lines of build log: [ 325s] asciidoc: trx_if.adoc: line 143: evaluating: {counter2:target-number} [ 325s] asciidoc: trx_if.adoc: line 143: evaluating: {set2:target:test-usermanual__47.png} [ 325s] asciidoc: trx_if.adoc: line 152: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__47.png" -Tpng - && echo " " [ 326s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 326s] asciidoc: test-usermanual.adoc: line 30: reading: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 326s] asciidoc: vty.adoc: line 64: evaluating: {counter:table-number} [ 326s] ../build/Makefile.asciidoc.inc:60: recipe for target 'test-usermanual.pdf' failed [ 326s] make[3]: *** [test-usermanual.pdf] Error 1 [ 326s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 326s] Makefile:438: recipe for target 'all-recursive' failed [ 326s] make[2]: *** [all-recursive] Error 1 [ 326s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 326s] Makefile:362: recipe for target 'all' failed [ 326s] make[1]: *** [all] Error 2 [ 326s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 326s] dh_auto_build: make -j1 returned exit code 2 [ 326s] debian/rules:5: recipe for target 'binary' failed [ 326s] make: *** [binary] Error 2 [ 326s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 326s] [ 326s] morla3 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:12:32 UTC 2019. [ 326s] [ 326s] ### VM INTERACTION START ### [ 329s] [ 312.321925] sysrq: SysRq : Power Off [ 329s] [ 312.348941] reboot: Power down [ 329s] ### VM INTERACTION END ### [ 329s] [ 329s] morla3 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:12:36 UTC 2019. [ 329s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 1 01:15:03 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Jun 2019 01:15:03 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8-jessie in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5cf1d1a48ce5a_2441fa05f08448f4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8-jessie/Raspbian_9.0/armv7l Package network:osmocom:latest/osmo-gsm-manuals-debian8-jessie failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8-jessie Last lines of build log: [ 502s] asciidoc: trx_if.adoc: line 143: evaluating: {counter2:target-number} [ 502s] asciidoc: trx_if.adoc: line 143: evaluating: {set2:target:test-usermanual__47.png} [ 502s] asciidoc: trx_if.adoc: line 152: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__47.png" -Tpng - && echo " " [ 503s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 503s] asciidoc: test-usermanual.adoc: line 30: reading: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 504s] asciidoc: vty.adoc: line 64: evaluating: {counter:table-number} [ 504s] ../build/Makefile.asciidoc.inc:60: recipe for target 'test-usermanual.pdf' failed [ 504s] make[3]: *** [test-usermanual.pdf] Error 1 [ 504s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 504s] Makefile:438: recipe for target 'all-recursive' failed [ 504s] make[2]: *** [all-recursive] Error 1 [ 504s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 504s] Makefile:362: recipe for target 'all' failed [ 504s] make[1]: *** [all] Error 2 [ 504s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 504s] dh_auto_build: make -j1 returned exit code 2 [ 504s] debian/rules:5: recipe for target 'binary' failed [ 504s] make: *** [binary] Error 2 [ 504s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 504s] [ 504s] armbuild18 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:14:47 UTC 2019. [ 504s] [ 504s] ### VM INTERACTION START ### [ 507s] [ 459.890926] sysrq: SysRq : Power Off [ 507s] [ 459.892717] reboot: Power down [ 508s] ### VM INTERACTION END ### [ 508s] [ 508s] armbuild18 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:14:50 UTC 2019. [ 508s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 1 01:12:46 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Jun 2019 01:12:46 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8-jessie in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5cf1d129e7f0a_2441fa05f0844571@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8-jessie/xUbuntu_18.10/x86_64 Package network:osmocom:latest/osmo-gsm-manuals-debian8-jessie failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8-jessie Last lines of build log: [ 321s] asciidoc: test-usermanual.adoc: line 29: reading: /usr/src/packages/BUILD/common/chapters/trx_if.adoc [ 321s] asciidoc: trx_if.adoc: line 121: evaluating: {counter2:target-number} [ 321s] asciidoc: trx_if.adoc: line 121: evaluating: {set2:target:test-usermanual__46.png} [ 321s] asciidoc: trx_if.adoc: line 131: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__46.png" -Tpng - && echo " " [ 322s] asciidoc: trx_if.adoc: line 143: evaluating: {counter2:target-number} [ 322s] asciidoc: trx_if.adoc: line 143: evaluating: {set2:target:test-usermanual__47.png} [ 322s] asciidoc: trx_if.adoc: line 152: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__47.png" -Tpng - && echo " " [ 322s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 322s] asciidoc: test-usermanual.adoc: line 30: reading: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 323s] asciidoc: vty.adoc: line 64: evaluating: {counter:table-number} [ 323s] make[3]: *** [../build/Makefile.asciidoc.inc:68: test-usermanual.pdf] Error 1 [ 323s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 323s] make[2]: *** [Makefile:438: all-recursive] Error 1 [ 323s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 323s] make[1]: *** [Makefile:362: all] Error 2 [ 323s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 323s] dh_auto_build: make -j1 returned exit code 2 [ 323s] make: *** [debian/rules:5: binary] Error 2 [ 323s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 323s] [ 323s] lamb56 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:12:29 UTC 2019. [ 323s] [ 323s] ### VM INTERACTION START ### [ 326s] [ 311.020271] sysrq: SysRq : Power Off [ 326s] [ 311.030419] reboot: Power down [ 326s] ### VM INTERACTION END ### [ 326s] [ 326s] lamb56 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:12:33 UTC 2019. [ 326s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Jun 3 07:18:25 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 07:18:25 +0000 Subject: Change in ...osmo-msc[master]: libmsc/msc_vty.c: refactor 'show subscr / conn / trans' commands In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14069 ) Change subject: libmsc/msc_vty.c: refactor 'show subscr / conn / trans' commands ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14069 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5e58b56204c3f3d019e8d4c3c96cefdbb4af4d47 Gerrit-Change-Number: 14069 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 03 Jun 2019 07: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 Mon Jun 3 07:18:41 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 07:18:41 +0000 Subject: Change in ...osmo-msc[master]: libmsc/msc_vty.c: refactor 'show subscr / conn / trans' commands In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14069 ) Change subject: libmsc/msc_vty.c: refactor 'show subscr / conn / trans' commands ...................................................................... libmsc/msc_vty.c: refactor 'show subscr / conn / trans' commands The current way of printing subscriber, connection, and transaction info is ugly (sorry) and has several problems: - the terminal width should be large enough to fit quite long lines, otherwise the output is unreadable and looks misaligned; - some fields (such as subscriber name) can be larger than it's expected, so either they're getting truncated, or again, the output is misaligned and unreadable; - adding new info fields would require one to think about the alignment and would make the output even more cumbersome. Here is an example output of 'show connection' command: _Subscriber_______________________________________ _LAC_ _RAN___________________ _MSC-A_state_________ _MSC-A_use_ IMSI-123456789012345:MSISDN-12345:TMSI-0x12345678 1 GERAN-A-4294967295:A5-3 WAIT_CLASSMARK_UPDATE 2=cm_service,trans_cc IMSI-123456789012356:MSISDN-234567:TMSI-0x123ABC78 65535 UTRAN-Iu-4294967295 COMMUNICATING 2=cm_service,trans_sms IMSI-262073993158656:MSISDN-123456:TMSI-0x493026BA 1 GERAN-A-1 MSC_A_ST_COMMUNICATING 1=1 (silent_call) Another 'show subscriber' command mixes the information about subscriber, its connections and transactions without any alignment, what also decreases the readability. This change introduces a hierarchical approach, based on the old 'field per line' formatting. First of all, the VTY commands were extended with optional flags: show connection [trans] show subscriber cache [(conn|trans|conn+trans)] show subscriber TYPE ID [(conn|trans|conn+trans)] so it can be decided, whether to print child connections and/or transaction, or not. For example: show connection trans would print all connections and their child transactions with hierarchical alignment: Connection #00: Subscriber: IMSI-262073993158656:MSISDN-123456:TMSI-0x76760B75 RAN connection: GERAN-A-1 RAN connection state: MSC_A_ST_COMMUNICATING LAC / cell ID: 1 / 0 Use count total: 1 Use count: 1 (silent_call) Transaction #00: Unique (global) identifier: 0x00000000 GSM 04.07 identifier (MT): 0 Type: silent-call another example is: show subscriber cache conn+trans which would print all known subscribers, their active connections and transactions: Subscriber #00: MSISDN: 123456 LAC / cell ID: 1 / 0 RAN type: GERAN-A IMSI: 262073993158656 TMSI: 76760B75 ... Connection: RAN connection: GERAN-A-1 RAN connection state: MSC_A_ST_COMMUNICATING ... Transaction #00: Unique (global) identifier: 0x00000000 GSM 04.07 identifier (MT): 0 Type: silent-call Transaction #01: Unique (global) identifier: 0x00000001 GSM 04.07 identifier (MO): 0 Type: SMS Transaction #02: Unique (global) identifier: 0x00000002 GSM 04.07 identifier (MT): 0 Type: SMS Please note that we don't print redundant info in child nodes (i.e. connection and transaction info), such as subscriber name in connection info, nor connection name in transaction info - it is clear from the hierarchical formatting. Change-Id: I5e58b56204c3f3d019e8d4c3c96cefdbb4af4d47 --- M src/libmsc/msc_vty.c 1 file changed, 291 insertions(+), 170 deletions(-) Approvals: Harald Welte: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 0c07bc2..5b0cfc4 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -661,58 +661,6 @@ return CMD_SUCCESS; } -/* -_Subscriber_______________________________________ _LAC_ _RAN___________________ _MSC-A_state_________ _MSC-A_use_ -IMSI-123456789012345:MSISDN-12345:TMSI-0x12345678 1 GERAN-A-4294967295:A5-3 WAIT_CLASSMARK_UPDATE 2=cm_service,trans_cc -IMSI-123456789012356:MSISDN-234567:TMSI-0x123ABC78 65535 UTRAN-Iu-4294967295 COMMUNICATING 2=cm_service,trans_sms -IMSI-123456789012367:MSISDN-98712345890:TMSI-0xF.. - EUTRAN-SGs RELEASING 0=none -IMSI-123456789012378:HONR-12345432101 2 MSC-901-700-423:9876 REMOTE_MSC_A 1=inter_msc -*/ -static void vty_dump_one_conn(struct vty *vty, const struct msub *msub, int *idx) -{ - struct msc_a *msc_a = msub_msc_a(msub); - struct vlr_subscr *vsub = msub_vsub(msub); - char buf[128]; - - if (!(*idx)) - vty_out(vty, - "_Subscriber_______________________________________ _LAC_ _RAN___________________" - " _MSC-A_state_________ _MSC-A_use_%s", - VTY_NEWLINE); - (*idx)++; - - vty_out(vty, "%50s %5u %23s %20s %d=%s%s", - vlr_subscr_short_name(msub_vsub(msub), 50), - vsub ? vsub->cgi.lai.lac : 0, - msub_ran_conn_name(msub), - osmo_fsm_inst_state_name(msc_a->c.fi), - osmo_use_count_total(&msc_a->use_count), - osmo_use_count_name_buf(buf, sizeof(buf), &msc_a->use_count), - VTY_NEWLINE); -} - -DEFUN(show_msc_conn, show_msc_conn_cmd, - "show connection", SHOW_STR "Subscriber Connections\n") -{ - struct msub *msub; - int idx = 0; - llist_for_each_entry(msub, &msub_list, entry) { - vty_dump_one_conn(vty, msub, &idx); - } - return CMD_SUCCESS; -} - -static void vty_trans_hdr(struct vty *vty) -{ - if (llist_empty(&gsmnet->trans_list)) - return; - - vty_out(vty, - "_Subscriber_______________________________________ _RAN___________________" - " _P__ TI CallRef_ _state_%s", - VTY_NEWLINE); -} - static const char *get_trans_proto_str(const struct gsm_trans *trans) { static char buf[256]; @@ -725,146 +673,311 @@ trans->cc.T308_second); break; case TRANS_SMS: - snprintf(buf, sizeof(buf), "%s %s", + snprintf(buf, sizeof(buf), "CP:%s RP:%s", gsm411_cp_state_name(trans->sms.smc_inst.cp_state), gsm411_rp_state_name(trans->sms.smr_inst.rp_state)); break; default: - buf[0] = '\0'; - break; + return NULL; } return buf; } -static void vty_dump_one_trans(struct vty *vty, const struct gsm_trans *trans) +/* Prefix a given format string with a given amount of spaces */ +#define MSC_VTY_DUMP(vty, offset, fmt, args...) \ + vty_out(vty, "%*s" fmt, offset, "", ##args) + +#define MSC_VTY_DUMP_FLAG(vty, offset, name, flag) \ + MSC_VTY_DUMP(vty, offset + 2, "%s: %*s%s%s", \ + name, 30 - (int)strlen(name), "", \ + flag ? "true" : "false", \ + VTY_NEWLINE) + +enum msc_vty_dump_flags { + MSC_VTY_DUMP_F_SUBSCR = (1 << 0), + MSC_VTY_DUMP_F_CONNECTION = (1 << 1), + MSC_VTY_DUMP_F_TRANSACTION = (1 << 2), +}; + +static void vty_dump_one_trans(struct vty *vty, const struct gsm_trans *trans, + int offset, uint8_t dump_flags) { - vty_out(vty, "%50s %23s %4s %02u %08x %s%s", - vlr_subscr_short_name(msc_a_vsub(trans->msc_a), 50), - msub_ran_conn_name(trans->msc_a->c.msub), - trans_type_name(trans->type), - trans->transaction_id, - trans->callref, - get_trans_proto_str(trans), - VTY_NEWLINE); + const char *proto_str; + + if (dump_flags & MSC_VTY_DUMP_F_SUBSCR) { + MSC_VTY_DUMP(vty, offset, "Subscriber: %s%s", + vlr_subscr_name(msc_a_vsub(trans->msc_a)), + VTY_NEWLINE); + } + + if (dump_flags & MSC_VTY_DUMP_F_CONNECTION) { + MSC_VTY_DUMP(vty, offset, "RAN connection: %s%s", + trans->msc_a ? msub_ran_conn_name(trans->msc_a->c.msub) + : "(not established)", + VTY_NEWLINE); + } + + MSC_VTY_DUMP(vty, offset, "Unique (global) identifier: 0x%08x%s", + trans->callref, VTY_NEWLINE); + MSC_VTY_DUMP(vty, offset, "GSM 04.07 identifier (%s): %u%s", + (trans->transaction_id & 0x08) ? "MO" : "MT", + trans->transaction_id, + VTY_NEWLINE); + + MSC_VTY_DUMP(vty, offset, "Type: %s%s", + trans_type_name(trans->type), + VTY_NEWLINE); + + if ((proto_str = get_trans_proto_str(trans))) { + MSC_VTY_DUMP(vty, offset, "Protocol specific: %s%s", + proto_str, VTY_NEWLINE); + } +} + +static void vty_dump_one_conn(struct vty *vty, const struct msub *msub, + int offset, uint8_t dump_flags) +{ + struct vlr_subscr *vsub = msub_vsub(msub); + struct msc_a *msc_a = msub_msc_a(msub); + char buf[128]; + + if (dump_flags & MSC_VTY_DUMP_F_SUBSCR) { + dump_flags = dump_flags &~ MSC_VTY_DUMP_F_SUBSCR; + MSC_VTY_DUMP(vty, offset, "Subscriber: %s%s", + vlr_subscr_name(vsub), + VTY_NEWLINE); + } + + MSC_VTY_DUMP(vty, offset, "RAN connection: %s%s", + msub_ran_conn_name(msub), + VTY_NEWLINE); + MSC_VTY_DUMP(vty, offset, "RAN connection state: %s%s", + osmo_fsm_inst_state_name(msc_a->c.fi), + VTY_NEWLINE); + + if (vsub) { + MSC_VTY_DUMP(vty, offset, "LAC / cell ID: %u / %u%s", + vsub->cgi.lai.lac, vsub->cgi.cell_identity, + VTY_NEWLINE); + } + + MSC_VTY_DUMP(vty, offset, "Use count total: %d%s", + osmo_use_count_total(&msc_a->use_count), + VTY_NEWLINE); + MSC_VTY_DUMP(vty, offset, "Use count: %s%s", + osmo_use_count_name_buf(buf, sizeof(buf), &msc_a->use_count), + VTY_NEWLINE); + + /* Transactions of this connection */ + if (dump_flags & MSC_VTY_DUMP_F_TRANSACTION) { + struct gsm_trans *trans; + unsigned int i = 0; + + /* Both subscriber and connection info is already printed */ + dump_flags = dump_flags &~ MSC_VTY_DUMP_F_CONNECTION; + dump_flags = dump_flags &~ MSC_VTY_DUMP_F_SUBSCR; + + llist_for_each_entry(trans, &gsmnet->trans_list, entry) { + if (trans->msc_a != msc_a) + continue; + MSC_VTY_DUMP(vty, offset, "Transaction #%02u: %s", + i++, VTY_NEWLINE); + vty_dump_one_trans(vty, trans, offset + 2, dump_flags); + } + } +} + +static void vty_dump_one_subscr(struct vty *vty, struct vlr_subscr *vsub, + int offset, uint8_t dump_flags) +{ + char buf[128]; + + if (strlen(vsub->name)) { + MSC_VTY_DUMP(vty, offset, "Name: '%s'%s", + vsub->name, VTY_NEWLINE); + } + if (strlen(vsub->msisdn)) { + MSC_VTY_DUMP(vty, offset, "MSISDN: %s%s", + vsub->msisdn, VTY_NEWLINE); + } + + MSC_VTY_DUMP(vty, offset, "LAC / cell ID: %u / %u%s", + vsub->cgi.lai.lac, vsub->cgi.cell_identity, + VTY_NEWLINE); + MSC_VTY_DUMP(vty, offset, "RAN type: %s%s", + osmo_rat_type_name(vsub->cs.attached_via_ran), + VTY_NEWLINE); + + MSC_VTY_DUMP(vty, offset, "IMSI: %s%s", + vsub->imsi, VTY_NEWLINE); + if (vsub->tmsi != GSM_RESERVED_TMSI) { + MSC_VTY_DUMP(vty, offset, "TMSI: %08X%s", + vsub->tmsi, VTY_NEWLINE); + } + if (vsub->tmsi_new != GSM_RESERVED_TMSI) { + MSC_VTY_DUMP(vty, offset, "New TMSI: %08X%s", + vsub->tmsi_new, VTY_NEWLINE); + } + if (vsub->imei[0] != '\0') { + MSC_VTY_DUMP(vty, offset, "IMEI: %s%s", + vsub->imei, VTY_NEWLINE); + } + if (vsub->imeisv[0] != '\0') { + MSC_VTY_DUMP(vty, offset, "IMEISV: %s%s", + vsub->imeisv, VTY_NEWLINE); + } + + MSC_VTY_DUMP(vty, offset, "Flags: %s", VTY_NEWLINE); + MSC_VTY_DUMP_FLAG(vty, offset, "IMSI detached", + vsub->imsi_detached_flag); + MSC_VTY_DUMP_FLAG(vty, offset, "Conf. by radio contact", + vsub->conf_by_radio_contact_ind); + MSC_VTY_DUMP_FLAG(vty, offset, "Subscr. data conf. by HLR", + vsub->sub_dataconf_by_hlr_ind); + MSC_VTY_DUMP_FLAG(vty, offset, "Location conf. in HLR", + vsub->loc_conf_in_hlr_ind); + MSC_VTY_DUMP_FLAG(vty, offset, "Subscriber dormant", + vsub->dormant_ind); + MSC_VTY_DUMP_FLAG(vty, offset, "Received cancel location", + vsub->cancel_loc_rx); + MSC_VTY_DUMP_FLAG(vty, offset, "MS not reachable", + vsub->ms_not_reachable_flag); + MSC_VTY_DUMP_FLAG(vty, offset, "LA allowed", + vsub->la_allowed); + + if (vsub->last_tuple) { + struct vlr_auth_tuple *t = vsub->last_tuple; + MSC_VTY_DUMP(vty, offset, "A3A8 last tuple (used %d times): %s", + t->use_count, VTY_NEWLINE); + MSC_VTY_DUMP(vty, offset + 2, "seq # : %d%s", + t->key_seq, VTY_NEWLINE); + MSC_VTY_DUMP(vty, offset + 2, "RAND : %s%s", + osmo_hexdump(t->vec.rand, sizeof(t->vec.rand)), + VTY_NEWLINE); + MSC_VTY_DUMP(vty, offset + 2, "SRES : %s%s", + osmo_hexdump(t->vec.sres, sizeof(t->vec.sres)), + VTY_NEWLINE); + MSC_VTY_DUMP(vty, offset + 2, "Kc : %s%s", + osmo_hexdump(t->vec.kc, sizeof(t->vec.kc)), + VTY_NEWLINE); + } + + MSC_VTY_DUMP(vty, offset, "Paging: %s paging for %d requests%s", + vsub->cs.is_paging ? "is" : "not", + llist_count(&vsub->cs.requests), + VTY_NEWLINE); + + /* SGs related */ + MSC_VTY_DUMP(vty, offset, "SGs-state: %s%s", + osmo_fsm_inst_state_name(vsub->sgs_fsm), + VTY_NEWLINE); + MSC_VTY_DUMP(vty, offset, "SGs-MME: %s%s", + strlen(vsub->sgs.mme_name) ? + vsub->sgs.mme_name : "(none)", + VTY_NEWLINE); + + MSC_VTY_DUMP(vty, offset, "Use count total: %d%s", + osmo_use_count_total(&vsub->use_count), + VTY_NEWLINE); + MSC_VTY_DUMP(vty, offset, "Use count: %s%s", + osmo_use_count_name_buf(buf, sizeof(buf), &vsub->use_count), + VTY_NEWLINE); + + /* Connection(s) and/or transactions of this subscriber */ + if (dump_flags & MSC_VTY_DUMP_F_CONNECTION) { + struct msub *msub = msub_for_vsub(vsub); + if (!msub) + return; + + /* Subscriber info is already printed */ + dump_flags = dump_flags &~ MSC_VTY_DUMP_F_SUBSCR; + + MSC_VTY_DUMP(vty, offset, "Connection: %s", VTY_NEWLINE); + vty_dump_one_conn(vty, msub, offset + 2, dump_flags); + } else if (dump_flags & MSC_VTY_DUMP_F_TRANSACTION) { + struct gsm_trans *trans; + unsigned int i = 0; + + /* Subscriber info is already printed */ + dump_flags = dump_flags &~ MSC_VTY_DUMP_F_SUBSCR; + /* Do not print connection info, but mention it */ + dump_flags |= MSC_VTY_DUMP_F_CONNECTION; + + llist_for_each_entry(trans, &gsmnet->trans_list, entry) { + if (trans->vsub != vsub) + continue; + MSC_VTY_DUMP(vty, offset, "Transaction #%02u: %s", + i++, VTY_NEWLINE); + vty_dump_one_trans(vty, trans, offset + 2, dump_flags); + } + } } DEFUN(show_msc_transaction, show_msc_transaction_cmd, - "show transaction", SHOW_STR "Transactions\n") + "show transaction", + SHOW_STR "Transactions\n") { struct gsm_trans *trans; + uint8_t flags = 0x00; + unsigned int i = 0; - vty_trans_hdr(vty); - llist_for_each_entry(trans, &gsmnet->trans_list, entry) - vty_dump_one_trans(vty, trans); + flags |= MSC_VTY_DUMP_F_CONNECTION; + flags |= MSC_VTY_DUMP_F_SUBSCR; + + llist_for_each_entry(trans, &gsmnet->trans_list, entry) { + vty_out(vty, " Transaction #%02u: %s", i++, VTY_NEWLINE); + vty_dump_one_trans(vty, trans, 4, flags); + } return CMD_SUCCESS; } -static void subscr_dump_full_vty(struct vty *vty, struct vlr_subscr *vsub) +DEFUN(show_msc_conn, show_msc_conn_cmd, + "show connection [trans]", + SHOW_STR "Subscriber Connections\n" + "Show child transactions of each connection\n") { - struct gsm_trans *trans; - char buf[128]; + uint8_t flags = 0x00; + unsigned int i = 0; + struct msub *msub; - if (strlen(vsub->name)) - vty_out(vty, " Name: '%s'%s", vsub->name, VTY_NEWLINE); - if (strlen(vsub->msisdn)) - vty_out(vty, " Extension: %s%s", vsub->msisdn, - VTY_NEWLINE); - vty_out(vty, " LAC: %d/0x%x%s", - vsub->cgi.lai.lac, vsub->cgi.lai.lac, VTY_NEWLINE); - vty_out(vty, " RAN: %s%s", - osmo_rat_type_name(vsub->cs.attached_via_ran), VTY_NEWLINE); - vty_out(vty, " IMSI: %s%s", vsub->imsi, VTY_NEWLINE); - if (vsub->tmsi != GSM_RESERVED_TMSI) - vty_out(vty, " TMSI: %08X%s", vsub->tmsi, - VTY_NEWLINE); - if (vsub->tmsi_new != GSM_RESERVED_TMSI) - vty_out(vty, " new TMSI: %08X%s", vsub->tmsi_new, - VTY_NEWLINE); - if (vsub->imei[0] != '\0') - vty_out(vty, " IMEI: %s%s", vsub->imei, VTY_NEWLINE); - if (vsub->imeisv[0] != '\0') - vty_out(vty, " IMEISV: %s%s", vsub->imeisv, VTY_NEWLINE); + if (argc > 0) + flags |= MSC_VTY_DUMP_F_TRANSACTION; + flags |= MSC_VTY_DUMP_F_SUBSCR; - vty_out(vty, " Flags: %s", VTY_NEWLINE); - vty_out(vty, " IMSI detached: %s%s", - vsub->imsi_detached_flag ? "true" : "false", VTY_NEWLINE); - vty_out(vty, " Conf. by radio contact: %s%s", - vsub->conf_by_radio_contact_ind ? "true" : "false", - VTY_NEWLINE); - vty_out(vty, " Subscr. data conf. by HLR: %s%s", - vsub->sub_dataconf_by_hlr_ind ? "true" : "false", VTY_NEWLINE); - vty_out(vty, " Location conf. in HLR: %s%s", - vsub->loc_conf_in_hlr_ind ? "true" : "false", VTY_NEWLINE); - vty_out(vty, " Subscriber dormant: %s%s", - vsub->dormant_ind ? "true" : "false", VTY_NEWLINE); - vty_out(vty, " Received cancel locataion: %s%s", - vsub->cancel_loc_rx ? "true" : "false", VTY_NEWLINE); - vty_out(vty, " MS not reachable: %s%s", - vsub->ms_not_reachable_flag ? "true" : "false", VTY_NEWLINE); - vty_out(vty, " LA allowed: %s%s", - vsub->la_allowed ? "true" : "false", VTY_NEWLINE); - - if (vsub->last_tuple) { - struct vlr_auth_tuple *t = vsub->last_tuple; - vty_out(vty, " A3A8 last tuple (used %d times):%s", - t->use_count, VTY_NEWLINE); - vty_out(vty, " seq # : %d%s", - t->key_seq, VTY_NEWLINE); - vty_out(vty, " RAND : %s%s", - osmo_hexdump(t->vec.rand, sizeof(t->vec.rand)), - VTY_NEWLINE); - vty_out(vty, " SRES : %s%s", - osmo_hexdump(t->vec.sres, sizeof(t->vec.sres)), - VTY_NEWLINE); - vty_out(vty, " Kc : %s%s", - osmo_hexdump(t->vec.kc, sizeof(t->vec.kc)), - VTY_NEWLINE); + llist_for_each_entry(msub, &msub_list, entry) { + vty_out(vty, " Connection #%02u: %s", i++, VTY_NEWLINE); + vty_dump_one_conn(vty, msub, 4, flags); } - vty_out(vty, " Paging: %s paging for %d requests%s", - vsub->cs.is_paging ? "is" : "not", - llist_count(&vsub->cs.requests), - VTY_NEWLINE); - - /* SGs related */ - vty_out(vty, " SGs-state: %s%s", - osmo_fsm_inst_state_name(vsub->sgs_fsm), VTY_NEWLINE); - if (strlen(vsub->sgs.mme_name)) - vty_out(vty, " SGs-MME: %s%s", vsub->sgs.mme_name, VTY_NEWLINE); - else - vty_out(vty, " SGs-MME: (none)%s", VTY_NEWLINE); - - vty_out(vty, " Use: %s%s", osmo_use_count_name_buf(buf, sizeof(buf), &vsub->use_count), VTY_NEWLINE); - - /* Connection */ - if (vsub->msc_conn_ref) { - struct msub *msub = msub_for_vsub(vsub); - int idx = 0; - if (msub) { - vty_dump_one_conn(vty, msub, &idx); - } - } - - /* Transactions */ - vty_trans_hdr(vty); - llist_for_each_entry(trans, &gsmnet->trans_list, entry) { - if (trans->vsub != vsub) - continue; - vty_dump_one_trans(vty, trans); - } + return CMD_SUCCESS; } +#define SUBSCR_FLAGS "[(conn|trans|conn+trans)]" +#define SUBSCR_FLAGS_HELP \ + "Show child connections\n" \ + "Show child transactions\n" \ + "Show child connections and transactions\n" + /* Subscriber */ -DEFUN(show_subscr_cache, - show_subscr_cache_cmd, - "show subscriber cache", +DEFUN(show_subscr_cache, show_subscr_cache_cmd, + "show subscriber cache " SUBSCR_FLAGS, SHOW_STR "Show information about subscribers\n" - "Display contents of subscriber cache\n") + "Display contents of subscriber cache\n" + SUBSCR_FLAGS_HELP) { struct vlr_subscr *vsub; - int count = 0; + unsigned int count = 0; + uint8_t flags = 0x00; + unsigned int i = 0; + + if (argc && strcmp(argv[0], "conn") == 0) + flags |= MSC_VTY_DUMP_F_CONNECTION; + else if (argc && strcmp(argv[0], "trans") == 0) + flags |= MSC_VTY_DUMP_F_TRANSACTION; + else if (argc && strcmp(argv[0], "conn+trans") == 0) + flags |= MSC_VTY_DUMP_F_CONNECTION | MSC_VTY_DUMP_F_TRANSACTION; llist_for_each_entry(vsub, &gsmnet->vlr->subscribers, list) { if (++count > 100) { @@ -872,8 +985,8 @@ " stopping here.%s", count-1, VTY_NEWLINE); break; } - vty_out(vty, " Subscriber:%s", VTY_NEWLINE); - subscr_dump_full_vty(vty, vsub); + vty_out(vty, " Subscriber #%02u: %s", i++, VTY_NEWLINE); + vty_dump_one_subscr(vty, vsub, 4, flags); } return CMD_SUCCESS; @@ -982,14 +1095,14 @@ "Legacy alias for 'imsi'\n" \ "Identifier for the subscriber\n" -DEFUN(show_subscr, - show_subscr_cmd, - "show subscriber " SUBSCR_TYPES " ID", - SHOW_STR SUBSCR_HELP) +DEFUN(show_subscr, show_subscr_cmd, + "show subscriber " SUBSCR_TYPES " ID " SUBSCR_FLAGS, + SHOW_STR SUBSCR_HELP SUBSCR_FLAGS_HELP) { - struct vlr_subscr *vsub = get_vsub_by_argv(gsmnet, argv[0], - argv[1]); + struct vlr_subscr *vsub; + uint8_t flags = 0x00; + vsub = get_vsub_by_argv(gsmnet, argv[0], argv[1]); if (!vsub) { vty_out(vty, "%% No subscriber found for %s %s%s", argv[0], argv[1], VTY_NEWLINE); @@ -1001,7 +1114,15 @@ * this, and since this is not multi-threaded, this vlr_subscr_put() cannot possibly reach a count of 0. */ vlr_subscr_put(vsub, VSUB_USE_VTY); - subscr_dump_full_vty(vty, vsub); + if (argc > 2 && strcmp(argv[2], "conn") == 0) + flags |= MSC_VTY_DUMP_F_CONNECTION; + else if (argc > 2 && strcmp(argv[2], "trans") == 0) + flags |= MSC_VTY_DUMP_F_TRANSACTION; + else if (argc > 2 && strcmp(argv[2], "conn+trans") == 0) + flags |= MSC_VTY_DUMP_F_CONNECTION | MSC_VTY_DUMP_F_TRANSACTION; + + vty_out(vty, " Subscriber: %s", VTY_NEWLINE); + vty_dump_one_subscr(vty, vsub, 4, flags); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14069 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5e58b56204c3f3d019e8d4c3c96cefdbb4af4d47 Gerrit-Change-Number: 14069 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 07:18:41 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 07:18:41 +0000 Subject: Change in ...osmo-msc[master]: libmsc/msc_vty.c: do not abuse strlen() to check char buffers In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14261 ) Change subject: libmsc/msc_vty.c: do not abuse strlen() to check char buffers ...................................................................... libmsc/msc_vty.c: do not abuse strlen() to check char buffers In the most cases we need to check whether particular char buffer is empty or not. Using strlen() for that involves more CPU power, so let's just check the first character against '\0'. Change-Id: I8728876b80c870e82247e6e56f719e10ed322a95 --- M src/libmsc/msc_vty.c 1 file changed, 3 insertions(+), 4 deletions(-) Approvals: Pau Espin Pedrol: Looks good to me, approved osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/msc_vty.c b/src/libmsc/msc_vty.c index 5b0cfc4..8a976cb 100644 --- a/src/libmsc/msc_vty.c +++ b/src/libmsc/msc_vty.c @@ -793,11 +793,11 @@ { char buf[128]; - if (strlen(vsub->name)) { + if (vsub->name[0] != '\0') { MSC_VTY_DUMP(vty, offset, "Name: '%s'%s", vsub->name, VTY_NEWLINE); } - if (strlen(vsub->msisdn)) { + if (vsub->msisdn[0] != '\0') { MSC_VTY_DUMP(vty, offset, "MSISDN: %s%s", vsub->msisdn, VTY_NEWLINE); } @@ -873,8 +873,7 @@ osmo_fsm_inst_state_name(vsub->sgs_fsm), VTY_NEWLINE); MSC_VTY_DUMP(vty, offset, "SGs-MME: %s%s", - strlen(vsub->sgs.mme_name) ? - vsub->sgs.mme_name : "(none)", + vsub->sgs.mme_name[0] != '\0' ? vsub->sgs.mme_name : "(none)", VTY_NEWLINE); MSC_VTY_DUMP(vty, offset, "Use count total: %d%s", -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8728876b80c870e82247e6e56f719e10ed322a95 Gerrit-Change-Number: 14261 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Pau Espin Pedrol Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 07:18:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 07:18:51 +0000 Subject: Change in ...osmo-bts[master]: trx: Update documentation for fn-advance and rts-advance In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14334 ) Change subject: trx: Update documentation for fn-advance and rts-advance ...................................................................... trx: Update documentation for fn-advance and rts-advance Change-Id: I83eff296bfb7acff9d8560b5346bd9791fe6e7d9 Related: OS#4036 --- M doc/manuals/chapters/bts-models.adoc 1 file changed, 45 insertions(+), 2 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/chapters/bts-models.adoc b/doc/manuals/chapters/bts-models.adoc index 4ae73c0..e1f8d9a 100644 --- a/doc/manuals/chapters/bts-models.adoc +++ b/doc/manuals/chapters/bts-models.adoc @@ -245,10 +245,53 @@ Set the number of frames to be transmitted to transceiver in advance of current GSM frame number. +GSM is a TDMA (time division multiple access) system on the radio +interface. OsmoTRX is the "clock master" of that in the Osmocom +implementation. It informs OsmoBTS of the current GSM frame +number. However, as there is non-zero delays (UDP packet trnsmission +delay, operating system scheduler delay on both OsmoTRX and OsmoBTS +side, ...), OsmoBTS must compensate for that delay by "advancing" +the clock a certain amount of time. + +In other words, if OsmoTRX informs us that the current frame number is N, +we advance it by `fn-advance` and transmit burst data for +`N + fn-advance` towards OsmoTRX. + +The fn-advance should be kept as low as possible to avoid additional +delays to the user voice plane as well as to improve the performance +of the control plane (LAPDm) as well as GPRS. + +However, fn-advance must be kept sufficiently high to ensure no +underruns on the OsmoTRX side. + +The detailed value will depend on your underlying computer systems, +operating system and related tuning parameters. Running OsmoTRX +on a remote host will inevitably require a higher fn-advance then +running it on the same machine, where the UDP packetes are just passed +over the loopback device. + +The default value for `fn-advance` is 20 (corresponding to 92 +milliseconds). + ===== `osmotrx rts-advance <0-30>` -Set the number of frames to be requested from PCU in advance of current -frame number. Do not change this unless you have a good reason! +Set the number of frames to be requested from L1SAP in advance of current +frame number and fn-advance. + +The value specified as `rts-advance` is added to the current GSM frame +number as reported by OsmoTRX *and* the `osmotrx fn-advance` in order +to generate the PH-RTS.ind (ready to send indications) across the L1SAP +interface inside osmo-bts. This will trigger the Layer 2 (LAPDm for +the ocntrol plane, RTP for the voice plane, and OsmoPCU for GPRS) to +generate a MAC block and input it into the osmo-bts-trx TDMA scheduler. + +If OsmoTRX reported N as the current frame number, the actual frame number +reported on L1SAP to higher layes will be computed as follows: + + N + fn-advance + rts-advance + +The default value of `rts-advance` is 5 (corresponding to 23 milliseconds). +Do not change this unless you have a good reason! ===== `osmotrx rx-gain <0-50>` -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I83eff296bfb7acff9d8560b5346bd9791fe6e7d9 Gerrit-Change-Number: 14334 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Jun 1 01:11:19 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Jun 2019 01:11:19 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8-jessie in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5cf1d0d0edc45_2441fa05f084373f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8-jessie/Debian_9.0/i586 Package network:osmocom:latest/osmo-gsm-manuals-debian8-jessie failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8-jessie Last lines of build log: [ 228s] asciidoc: trx_if.adoc: line 143: evaluating: {counter2:target-number} [ 228s] asciidoc: trx_if.adoc: line 143: evaluating: {set2:target:test-usermanual__47.png} [ 228s] asciidoc: trx_if.adoc: line 152: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__47.png" -Tpng - && echo " " [ 228s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 228s] asciidoc: test-usermanual.adoc: line 30: reading: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 229s] asciidoc: vty.adoc: line 64: evaluating: {counter:table-number} [ 229s] ../build/Makefile.asciidoc.inc:60: recipe for target 'test-usermanual.pdf' failed [ 229s] make[3]: *** [test-usermanual.pdf] Error 1 [ 229s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 229s] Makefile:438: recipe for target 'all-recursive' failed [ 229s] make[2]: *** [all-recursive] Error 1 [ 229s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 229s] Makefile:362: recipe for target 'all' failed [ 229s] make[1]: *** [all] Error 2 [ 229s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 229s] dh_auto_build: make -j1 returned exit code 2 [ 229s] debian/rules:5: recipe for target 'binary' failed [ 229s] make: *** [binary] Error 2 [ 229s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 229s] [ 229s] lamb26 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:10:58 UTC 2019. [ 229s] [ 229s] ### VM INTERACTION START ### [ 232s] [ 218.326711] sysrq: SysRq : Power Off [ 232s] [ 218.337984] reboot: Power down [ 232s] ### VM INTERACTION END ### [ 232s] [ 232s] lamb26 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:11:02 UTC 2019. [ 232s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 1 02:47:03 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Jun 2019 02:47:03 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5cf1e73078b40_2441fa05f084753@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/osmo-hlr failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 307s] | #define HAVE_STDLIB_H 1 [ 307s] | #define HAVE_STRING_H 1 [ 307s] | #define HAVE_MEMORY_H 1 [ 307s] | #define HAVE_STRINGS_H 1 [ 307s] | #define HAVE_INTTYPES_H 1 [ 307s] | #define HAVE_STDINT_H 1 [ 307s] | #define HAVE_UNISTD_H 1 [ 307s] | #define HAVE_DLFCN_H 1 [ 307s] | #define LT_OBJDIR ".libs/" [ 307s] | #define PACKAGE "osmo-hlr" [ 307s] | #define VERSION "1.0.0.33-a825" [ 307s] | #define STDC_HEADERS 1 [ 307s] | [ 307s] | configure: exit 0 [ 307s] [ 307s] make[1]: *** [debian/rules:17: override_dh_auto_test] Error 1 [ 307s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 307s] make: *** [debian/rules:7: build] Error 2 [ 307s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 307s] [ 307s] lamb25 failed "build osmo-hlr_1.0.0.33.a825.dsc" at Sat Jun 1 02:46:42 UTC 2019. [ 307s] [ 307s] ### VM INTERACTION START ### [ 311s] [ 296.240286] sysrq: SysRq : Power Off [ 311s] [ 296.248508] reboot: Power down [ 311s] ### VM INTERACTION END ### [ 311s] [ 311s] lamb25 failed "build osmo-hlr_1.0.0.33.a825.dsc" at Sat Jun 1 02:46:46 UTC 2019. [ 311s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 1 01:11:19 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Jun 2019 01:11:19 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8-jessie in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5cf1d0d177e9c_2441fa05f0843849@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8-jessie/xUbuntu_19.04/x86_64 Package network:osmocom:latest/osmo-gsm-manuals-debian8-jessie failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8-jessie Last lines of build log: [ 252s] asciidoc: test-usermanual.adoc: line 29: reading: /usr/src/packages/BUILD/common/chapters/trx_if.adoc [ 253s] asciidoc: trx_if.adoc: line 121: evaluating: {counter2:target-number} [ 253s] asciidoc: trx_if.adoc: line 121: evaluating: {set2:target:test-usermanual__46.png} [ 253s] asciidoc: trx_if.adoc: line 131: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__46.png" -Tpng - && echo " " [ 253s] asciidoc: trx_if.adoc: line 143: evaluating: {counter2:target-number} [ 253s] asciidoc: trx_if.adoc: line 143: evaluating: {set2:target:test-usermanual__47.png} [ 253s] asciidoc: trx_if.adoc: line 152: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__47.png" -Tpng - && echo " " [ 253s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 253s] asciidoc: test-usermanual.adoc: line 30: reading: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 254s] asciidoc: vty.adoc: line 64: evaluating: {counter:table-number} [ 254s] make[3]: *** [../build/Makefile.asciidoc.inc:68: test-usermanual.pdf] Error 1 [ 254s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 254s] make[2]: *** [Makefile:438: all-recursive] Error 1 [ 254s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 254s] make[1]: *** [Makefile:362: all] Error 2 [ 254s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 254s] dh_auto_build: make -j1 returned exit code 2 [ 254s] make: *** [debian/rules:5: binary] Error 2 [ 254s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 254s] [ 254s] lamb61 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:11:14 UTC 2019. [ 254s] [ 254s] ### VM INTERACTION START ### [ 257s] [ 243.827560] sysrq: SysRq : Power Off [ 257s] [ 243.834704] reboot: Power down [ 257s] ### VM INTERACTION END ### [ 257s] [ 257s] lamb61 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:11:17 UTC 2019. [ 257s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 1 01:11:53 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Jun 2019 01:11:53 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8-jessie in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5cf1d0ec49b68_2441fa05f084421b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8-jessie/xUbuntu_18.10/i586 Package network:osmocom:latest/osmo-gsm-manuals-debian8-jessie failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8-jessie Last lines of build log: [ 265s] asciidoc: test-usermanual.adoc: line 29: reading: /usr/src/packages/BUILD/common/chapters/trx_if.adoc [ 265s] asciidoc: trx_if.adoc: line 121: evaluating: {counter2:target-number} [ 265s] asciidoc: trx_if.adoc: line 121: evaluating: {set2:target:test-usermanual__46.png} [ 265s] asciidoc: trx_if.adoc: line 131: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__46.png" -Tpng - && echo " " [ 266s] asciidoc: trx_if.adoc: line 143: evaluating: {counter2:target-number} [ 266s] asciidoc: trx_if.adoc: line 143: evaluating: {set2:target:test-usermanual__47.png} [ 266s] asciidoc: trx_if.adoc: line 152: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__47.png" -Tpng - && echo " " [ 266s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 266s] asciidoc: test-usermanual.adoc: line 30: reading: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 266s] asciidoc: vty.adoc: line 64: evaluating: {counter:table-number} [ 267s] make[3]: *** [../build/Makefile.asciidoc.inc:68: test-usermanual.pdf] Error 1 [ 267s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 267s] make[2]: *** [Makefile:438: all-recursive] Error 1 [ 267s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 267s] make[1]: *** [Makefile:362: all] Error 2 [ 267s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 267s] dh_auto_build: make -j1 returned exit code 2 [ 267s] make: *** [debian/rules:5: binary] Error 2 [ 267s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 267s] [ 267s] lamb58 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:11:35 UTC 2019. [ 267s] [ 267s] ### VM INTERACTION START ### [ 270s] [ 256.771992] sysrq: SysRq : Power Off [ 270s] [ 256.779755] reboot: Power down [ 270s] ### VM INTERACTION END ### [ 270s] [ 270s] lamb58 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:11:39 UTC 2019. [ 270s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 1 01:11:36 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Jun 2019 01:11:36 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8-jessie in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5cf1d0d21cc17_2441fa05f08439e7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8-jessie/xUbuntu_18.04/x86_64 Package network:osmocom:latest/osmo-gsm-manuals-debian8-jessie failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8-jessie Last lines of build log: [ 259s] asciidoc: trx_if.adoc: line 143: evaluating: {counter2:target-number} [ 259s] asciidoc: trx_if.adoc: line 143: evaluating: {set2:target:test-usermanual__47.png} [ 259s] asciidoc: trx_if.adoc: line 152: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__47.png" -Tpng - && echo " " [ 260s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 260s] asciidoc: test-usermanual.adoc: line 30: reading: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 260s] asciidoc: vty.adoc: line 64: evaluating: {counter:table-number} [ 260s] ../build/Makefile.asciidoc.inc:60: recipe for target 'test-usermanual.pdf' failed [ 260s] make[3]: *** [test-usermanual.pdf] Error 1 [ 260s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 260s] Makefile:438: recipe for target 'all-recursive' failed [ 260s] make[2]: *** [all-recursive] Error 1 [ 260s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 260s] Makefile:362: recipe for target 'all' failed [ 260s] make[1]: *** [all] Error 2 [ 260s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 260s] dh_auto_build: make -j1 returned exit code 2 [ 260s] debian/rules:5: recipe for target 'binary' failed [ 260s] make: *** [binary] Error 2 [ 260s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 260s] [ 260s] lamb53 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:11:27 UTC 2019. [ 260s] [ 260s] ### VM INTERACTION START ### [ 263s] [ 249.274017] sysrq: SysRq : Power Off [ 263s] [ 249.280542] reboot: Power down [ 263s] ### VM INTERACTION END ### [ 263s] [ 263s] lamb53 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:11:31 UTC 2019. [ 263s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 1 01:11:53 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Jun 2019 01:11:53 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8-jessie in xUbuntu_19.04/i586 In-Reply-To: References: Message-ID: <5cf1d0eb9fc2e_2441fa05f0844018@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8-jessie/xUbuntu_19.04/i586 Package network:osmocom:latest/osmo-gsm-manuals-debian8-jessie failed to build in xUbuntu_19.04/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8-jessie Last lines of build log: [ 264s] asciidoc: test-usermanual.adoc: line 29: reading: /usr/src/packages/BUILD/common/chapters/trx_if.adoc [ 264s] asciidoc: trx_if.adoc: line 121: evaluating: {counter2:target-number} [ 264s] asciidoc: trx_if.adoc: line 121: evaluating: {set2:target:test-usermanual__46.png} [ 264s] asciidoc: trx_if.adoc: line 131: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__46.png" -Tpng - && echo " " [ 264s] asciidoc: trx_if.adoc: line 143: evaluating: {counter2:target-number} [ 264s] asciidoc: trx_if.adoc: line 143: evaluating: {set2:target:test-usermanual__47.png} [ 264s] asciidoc: trx_if.adoc: line 152: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__47.png" -Tpng - && echo " " [ 265s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 265s] asciidoc: test-usermanual.adoc: line 30: reading: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 265s] asciidoc: vty.adoc: line 64: evaluating: {counter:table-number} [ 265s] make[3]: *** [../build/Makefile.asciidoc.inc:68: test-usermanual.pdf] Error 1 [ 265s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 265s] make[2]: *** [Makefile:438: all-recursive] Error 1 [ 265s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 265s] make[1]: *** [Makefile:362: all] Error 2 [ 265s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 265s] dh_auto_build: make -j1 returned exit code 2 [ 265s] make: *** [debian/rules:5: binary] Error 2 [ 265s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 265s] [ 265s] lamb12 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:11:33 UTC 2019. [ 265s] [ 265s] ### VM INTERACTION START ### [ 268s] [ 255.103299] sysrq: SysRq : Power Off [ 268s] [ 255.111698] reboot: Power down [ 268s] ### VM INTERACTION END ### [ 268s] [ 268s] lamb12 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 01:11:36 UTC 2019. [ 268s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Jun 3 02:49:18 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 03 Jun 2019 02:49:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5cf48abe19495_2441fa05f011273cb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/osmo-hlr failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 350s] [ 350s] db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0 [ 350s] +DAUC Cannot convert LU timestamp '2019-06-03 02:48:56' to time_t: Value too large for defined data type [ 350s] struct hlr_subscriber { [ 350s] .id = 1, [ 350s] .imsi = '123456789000000', [ 350s] @@ -719,6 +742,7 @@ [ 350s] --- Delete subscribers [ 350s] [ 350s] db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> 0 [ 350s] +DAUC Cannot convert LU timestamp '2019-06-03 02:48:56' to time_t: Value too large for defined data type [ 350s] struct hlr_subscriber { [ 350s] .id = 1, [ 350s] .imsi = '123456789000000', [ 350s] 5. testsuite.at:32: 5. db (testsuite.at:32): FAILED (testsuite.at:37) [ 350s] make[1]: *** [debian/rules:17: override_dh_auto_test] Error 1 [ 350s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 350s] make: *** [debian/rules:7: build] Error 2 [ 350s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 350s] [ 350s] cloud121 failed "build osmo-hlr_1.0.0.33.a825.dsc" at Mon Jun 3 02:48:56 UTC 2019. [ 350s] [ 350s] ### VM INTERACTION START ### [ 353s] [ 319.399401] sysrq: SysRq : Power Off [ 353s] [ 319.404590] reboot: Power down [ 354s] ### VM INTERACTION END ### [ 354s] [ 354s] cloud121 failed "build osmo-hlr_1.0.0.33.a825.dsc" at Mon Jun 3 02:49:01 UTC 2019. [ 354s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 1 21:51:02 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Jun 2019 21:51:02 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8-jessie in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5cf2f3542b4a9_2441fa05f09694bb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8-jessie/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-gsm-manuals-debian8-jessie failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8-jessie Last lines of build log: [ 780s] asciidoc: test-usermanual.adoc: line 29: reading: /usr/src/packages/BUILD/common/chapters/trx_if.adoc [ 780s] asciidoc: trx_if.adoc: line 121: evaluating: {counter2:target-number} [ 780s] asciidoc: trx_if.adoc: line 121: evaluating: {set2:target:test-usermanual__46.png} [ 780s] asciidoc: trx_if.adoc: line 131: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__46.png" -Tpng - && echo " " [ 781s] asciidoc: trx_if.adoc: line 143: evaluating: {counter2:target-number} [ 781s] asciidoc: trx_if.adoc: line 143: evaluating: {set2:target:test-usermanual__47.png} [ 781s] asciidoc: trx_if.adoc: line 152: filtering: packetdiag -o "/usr/src/packages/BUILD/tests/test-usermanual__47.png" -Tpng - && echo " " [ 782s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 782s] asciidoc: test-usermanual.adoc: line 30: reading: /usr/src/packages/BUILD/common/chapters/vty.adoc [ 782s] asciidoc: vty.adoc: line 64: evaluating: {counter:table-number} [ 782s] make[3]: *** [../build/Makefile.asciidoc.inc:68: test-usermanual.pdf] Error 1 [ 782s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 782s] make[2]: *** [Makefile:438: all-recursive] Error 1 [ 782s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 782s] make[1]: *** [Makefile:362: all] Error 2 [ 782s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 782s] dh_auto_build: make -j1 returned exit code 2 [ 782s] make: *** [debian/rules:5: binary] Error 2 [ 782s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 782s] [ 782s] lamb57 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 21:50:55 UTC 2019. [ 782s] [ 782s] ### VM INTERACTION START ### [ 786s] [ 759.387583] sysrq: SysRq : Power Off [ 786s] [ 759.428778] reboot: Power down [ 786s] ### VM INTERACTION END ### [ 786s] [ 786s] lamb57 failed "build osmo-gsm-manuals-dev_0.1.1.dsc" at Sat Jun 1 21:51:00 UTC 2019. [ 786s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 1 21:55:36 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 01 Jun 2019 21:55:36 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5cf2f45fb7504_2441fa05f09698cd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 124s] #define VERSION "0.1.0" [ 124s] #define STDC_HEADERS 1 [ 124s] #[ 109.857139] serial8250: too much work for irq4 [ 124s] define HAVE_SYS_TYPES_H 1 [ 124s] #define HAVE_SYS_STAT_H 1 [ 124s] #define HAVE_STDLIB_H 1 [ 124s] #define HAVE_STRING_H 1 [ 124s] #define HAVE_MEMORY_H 1 [ 124s] #define HAVE_STRINGS_H 1 [ 124s] #define HAVE_INTTYPES_H 1 [ 124s] #define HAVE_STDINT_H 1 [ 124s] #define HAVE_UNISTD_H 1 [ 124s] #define HAVE_DLFCN_H 1 [ 124s] #define LT_OBJDIR ".libs/" [ 124s] [ 124s] configure: exit 1 [ 124s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 124s] make: *** [debian/rules:45: build] Error 2 [ 124s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 124s] [ 124s] lamb14 failed "build osmo-sysmon_0.1.0.dsc" at Sat Jun 1 21:55:24 UTC 2019. [ 124s] [ 124s] ### VM INTERACTION START ### [ 127s] [ 113.140667] sysrq: SysRq : Power Off [ 127s] [ 113.149671] reboot: Power down [ 127s] ### VM INTERACTION END ### [ 127s] [ 127s] lamb14 failed "build osmo-sysmon_0.1.0.dsc" at Sat Jun 1 21:55:28 UTC 2019. [ 127s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Jun 3 08:05:53 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Jun 2019 08:05:53 +0000 Subject: Change in ...libosmocore[master]: libosmovty: deprecate vty_init(), add vty_init[_app]_ctx() In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/13973 ) Change subject: libosmovty: deprecate vty_init(), add vty_init[_app]_ctx() ...................................................................... Abandoned Thanks Harald! Your explanation makes a lot of sense, I am agree. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/13973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I65d71f8fc943e103b53b784f690ed56a6e373e3f Gerrit-Change-Number: 13973 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 09:42:12 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 3 Jun 2019 09:42:12 +0000 Subject: Change in ...osmo-hlr[master]: db_test: set timezone to work around mktime bug Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14351 Change subject: db_test: set timezone to work around mktime bug ...................................................................... db_test: set timezone to work around mktime bug Apply workaround for db_test failure on ubuntu 19.04 in OBS. When the timezone is set to UTC (default in OBS), and the glibc version is 2.29, the test case is failing sometimes (not always) with the following errors in the test log: DAUC Cannot convert LU timestamp '2019-05-26 03:05:03' to time_t: Value too large for defined Force the timezone to be CET when running the test, so it passes again. I found this workaround in a Fedora bugreport [1], and tested with an ubuntu 19.04 system running in docker, that setting the environment variable like this makes the test pass 25 times in a row. Without it, it fails every two or three times. Then I verified in my OBS namespace, that the test also passes in OBS again. [1] https://bugzilla.redhat.com/show_bug.cgi?id=1653340 Related: OS#4026 Change-Id: Ic8080ba1914bb364169ab0c563b132a4ab9a9aab --- M tests/testsuite.at 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/51/14351/1 diff --git a/tests/testsuite.at b/tests/testsuite.at index 70ae7ae..7d268d1 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -29,10 +29,12 @@ AT_CHECK([$abs_top_builddir/tests/gsup_server/gsup_server_test], [], [expout], [experr]) AT_CLEANUP +# TZ=CET: workaround for glibc bug in mktime() (https://osmocom.org/issues/4026): +# "Cannot convert LU timestamp '2019-05-26 03:05:03' to time_t: Value too large for defined data type" AT_SETUP([db]) AT_KEYWORDS([db]) cat $abs_srcdir/db/db_test.ok > expout cat $abs_srcdir/db/db_test.err > experr sqlite3 db_test.db < $abs_top_srcdir/sql/hlr.sql -AT_CHECK([$abs_top_builddir/tests/db/db_test], [], [expout], [experr]) +AT_CHECK([TZ=CET $abs_top_builddir/tests/db/db_test], [], [expout], [experr]) AT_CLEANUP -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ic8080ba1914bb364169ab0c563b132a4ab9a9aab Gerrit-Change-Number: 14351 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 3 10:01:41 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Jun 2019 10:01:41 +0000 Subject: Change in ...osmo-msc[master]: Introduce initial unit test for db_sms_* API In-Reply-To: References: Message-ID: Hello pespin, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/13629 to look at the new patch set (#4). Change subject: Introduce initial unit test for db_sms_* API ...................................................................... Introduce initial unit test for db_sms_* API Since OsmoMSC has built-in SMSC, it needs to store the messages somewhere. Currently we use libdbi and SQLite3 back-end for that. For a long time, the db_sms_* API remained uncovered by unit tests. This change aims to fix that, and does cover the following calls: - db_sms_store(), - db_sms_get(), - db_sms_get_next_unsent(), - db_sms_mark_delivered(), - db_sms_delete_sent_message_by_id(), - db_sms_delete_by_msisdn(), - db_sms_delete_oldest_expired_message(). Due to performance reasons, the test database is initialized in RAM using the magic filename ':memory:'. This is a feature of SQLite3 (and not libdbi), see: https://www.sqlite.org/inmemorydb.html Of course, this unit test helped to discover some problems: 1) Storing an SMS with empty TP-User-Data (TP-UDL=0) causes buffer overruns in both db_sms_store() and db_sms_get(). 2) TP-User-Data-Length is always being interpreted in octets, regardless of DCS (Data Coding Scheme). This results in storing garbage in the database if the default 7-bit encoding is used. Fortunately, the 'user_data' buffer in structure 'gsm_sms' is large emough, so we don't experience buffer overruns. 3) db_sms_delete_oldest_expired_message() doesn't work as expected. Instead of removing the *oldest* expired message, it tries to remove the *newest* one. The current test expectations do reflect these problems. All of them will be fixed in the follow-up patches. Change-Id: Id94ad35b6f78f839137db2e17010fbf9b40111a3 --- M configure.ac M src/libmsc/db.c M tests/Makefile.am A tests/db_sms/Makefile.am A tests/db_sms/db_sms_test.c A tests/db_sms/db_sms_test.err A tests/db_sms/db_sms_test.ok M tests/testsuite.at 8 files changed, 711 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/29/13629/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id94ad35b6f78f839137db2e17010fbf9b40111a3 Gerrit-Change-Number: 13629 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Max Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 10:01:45 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Jun 2019 10:01:45 +0000 Subject: Change in ...osmo-msc[master]: tests: share stubs.h from msc_vlr_test as stubs.c Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14352 Change subject: tests: share stubs.h from msc_vlr_test as stubs.c ...................................................................... tests: share stubs.h from msc_vlr_test as stubs.c Change-Id: I8846c940f2695fd33e1007fecac83e73f508bb34 --- M tests/msc_vlr/Makefile.am M tests/msc_vlr/msc_vlr_test_authen_reuse.c M tests/msc_vlr/msc_vlr_test_call.c M tests/msc_vlr/msc_vlr_test_gsm_authen.c M tests/msc_vlr/msc_vlr_test_gsm_ciph.c M tests/msc_vlr/msc_vlr_test_hlr_reject.c M tests/msc_vlr/msc_vlr_test_hlr_timeout.c M tests/msc_vlr/msc_vlr_test_ms_timeout.c M tests/msc_vlr/msc_vlr_test_no_authen.c M tests/msc_vlr/msc_vlr_test_reject_concurrency.c M tests/msc_vlr/msc_vlr_test_rest.c M tests/msc_vlr/msc_vlr_test_ss.c M tests/msc_vlr/msc_vlr_test_umts_authen.c R tests/stubs.c 14 files changed, 16 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/52/14352/1 diff --git a/tests/msc_vlr/Makefile.am b/tests/msc_vlr/Makefile.am index f9a9224..ac53f0f 100644 --- a/tests/msc_vlr/Makefile.am +++ b/tests/msc_vlr/Makefile.am @@ -46,7 +46,6 @@ noinst_HEADERS = \ msc_vlr_tests.h \ - stubs.h \ $(NULL) EXTRA_DIST = \ @@ -94,61 +93,73 @@ msc_vlr_test_no_authen_SOURCES = \ msc_vlr_test_no_authen.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_gsm_authen_SOURCES = \ msc_vlr_test_gsm_authen.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_gsm_ciph_SOURCES = \ msc_vlr_test_gsm_ciph.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_umts_authen_SOURCES = \ msc_vlr_test_umts_authen.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_authen_reuse_SOURCES = \ msc_vlr_test_authen_reuse.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_hlr_reject_SOURCES = \ msc_vlr_test_hlr_reject.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_hlr_timeout_SOURCES = \ msc_vlr_test_hlr_timeout.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_ms_timeout_SOURCES = \ msc_vlr_test_ms_timeout.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_reject_concurrency_SOURCES = \ msc_vlr_test_reject_concurrency.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_call_SOURCES = \ msc_vlr_test_call.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_rest_SOURCES = \ msc_vlr_test_rest.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_ss_SOURCES = \ msc_vlr_test_ss.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) .PHONY: update_exp diff --git a/tests/msc_vlr/msc_vlr_test_authen_reuse.c b/tests/msc_vlr/msc_vlr_test_authen_reuse.c index 9eadec7..d73a5f8 100644 --- a/tests/msc_vlr/msc_vlr_test_authen_reuse.c +++ b/tests/msc_vlr/msc_vlr_test_authen_reuse.c @@ -24,7 +24,6 @@ /* NOTE that further auth re-use tests exist in msc_vlr_test_hlr_reject.c */ #include "msc_vlr_tests.h" -#include "stubs.h" static void _test_auth_reuse(enum osmo_rat_type via_ran, int set_max_reuse_count, diff --git a/tests/msc_vlr/msc_vlr_test_call.c b/tests/msc_vlr/msc_vlr_test_call.c index b31239e..6805f1a 100644 --- a/tests/msc_vlr/msc_vlr_test_call.c +++ b/tests/msc_vlr/msc_vlr_test_call.c @@ -22,7 +22,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" #include diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.c b/tests/msc_vlr/msc_vlr_test_gsm_authen.c index 805ae64..8776e03 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_authen.c +++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.c @@ -22,7 +22,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" static void test_gsm_authen() { diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.c b/tests/msc_vlr/msc_vlr_test_gsm_ciph.c index ceb17a5..c76cba4 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.c +++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.c @@ -22,7 +22,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" static const struct osmo_gsm48_classmark classmark = { // TODO diff --git a/tests/msc_vlr/msc_vlr_test_hlr_reject.c b/tests/msc_vlr/msc_vlr_test_hlr_reject.c index 1134d89..45aaa8c 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_reject.c +++ b/tests/msc_vlr/msc_vlr_test_hlr_reject.c @@ -22,7 +22,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" static void test_hlr_rej_auth_info_unknown_imsi() { diff --git a/tests/msc_vlr/msc_vlr_test_hlr_timeout.c b/tests/msc_vlr/msc_vlr_test_hlr_timeout.c index af5441b..abc7c5b 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_timeout.c +++ b/tests/msc_vlr/msc_vlr_test_hlr_timeout.c @@ -22,7 +22,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" #include diff --git a/tests/msc_vlr/msc_vlr_test_ms_timeout.c b/tests/msc_vlr/msc_vlr_test_ms_timeout.c index 450909f..91f00ef 100644 --- a/tests/msc_vlr/msc_vlr_test_ms_timeout.c +++ b/tests/msc_vlr/msc_vlr_test_ms_timeout.c @@ -22,7 +22,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" static void test_ms_timeout_lu_auth_resp() { diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.c b/tests/msc_vlr/msc_vlr_test_no_authen.c index b3289f3..ae77252 100644 --- a/tests/msc_vlr/msc_vlr_test_no_authen.c +++ b/tests/msc_vlr/msc_vlr_test_no_authen.c @@ -22,7 +22,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" static void test_no_authen() { diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.c b/tests/msc_vlr/msc_vlr_test_reject_concurrency.c index 7eaedb2..fe53469 100644 --- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.c +++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.c @@ -22,7 +22,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" static void test_reject_2nd_conn() { diff --git a/tests/msc_vlr/msc_vlr_test_rest.c b/tests/msc_vlr/msc_vlr_test_rest.c index 620652c..1b998ad 100644 --- a/tests/msc_vlr/msc_vlr_test_rest.c +++ b/tests/msc_vlr/msc_vlr_test_rest.c @@ -22,7 +22,7 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" + #include #if 0 diff --git a/tests/msc_vlr/msc_vlr_test_ss.c b/tests/msc_vlr/msc_vlr_test_ss.c index e4b3a4e..978ceae 100644 --- a/tests/msc_vlr/msc_vlr_test_ss.c +++ b/tests/msc_vlr/msc_vlr_test_ss.c @@ -21,7 +21,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" #define IMSI "901700000004620" diff --git a/tests/msc_vlr/msc_vlr_test_umts_authen.c b/tests/msc_vlr/msc_vlr_test_umts_authen.c index cb8a032..a89b0d1 100644 --- a/tests/msc_vlr/msc_vlr_test_umts_authen.c +++ b/tests/msc_vlr/msc_vlr_test_umts_authen.c @@ -22,7 +22,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" static void _test_umts_authen(enum osmo_rat_type via_ran) { diff --git a/tests/msc_vlr/stubs.h b/tests/stubs.c similarity index 96% rename from tests/msc_vlr/stubs.h rename to tests/stubs.c index bf55baa..d011a31 100644 --- a/tests/msc_vlr/stubs.h +++ b/tests/stubs.c @@ -18,6 +18,9 @@ * */ +#include +#include + void osmo_stream_srv_link_set_data(struct osmo_stream_srv_link *link, void *data) {} struct osmo_fd *osmo_stream_srv_get_ofd(struct osmo_stream_srv *srv) { return NULL; } void osmo_stream_srv_destroy(struct osmo_stream_srv *conn) {} -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8846c940f2695fd33e1007fecac83e73f508bb34 Gerrit-Change-Number: 14352 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 3 10:08:58 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 Jun 2019 10:08:58 +0000 Subject: Change in ...osmo-hlr[master]: db_test: set timezone to work around mktime bug In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14351 ) Change subject: db_test: set timezone to work around mktime bug ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ic8080ba1914bb364169ab0c563b132a4ab9a9aab Gerrit-Change-Number: 14351 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 Jun 2019 10:08:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 10:29:17 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Jun 2019 10:29:17 +0000 Subject: Change in ...osmo-msc[master]: Introduce initial unit test for db_sms_* API In-Reply-To: References: Message-ID: Hello pespin, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/13629 to look at the new patch set (#5). Change subject: Introduce initial unit test for db_sms_* API ...................................................................... Introduce initial unit test for db_sms_* API Since OsmoMSC has built-in SMSC, it needs to store the messages somewhere. Currently we use libdbi and SQLite3 back-end for that. For a long time, the db_sms_* API remained uncovered by unit tests. This change aims to fix that, and does cover the following calls: - db_sms_store(), - db_sms_get(), - db_sms_get_next_unsent(), - db_sms_mark_delivered(), - db_sms_delete_sent_message_by_id(), - db_sms_delete_by_msisdn(), - db_sms_delete_oldest_expired_message(). Due to performance reasons, the test database is initialized in RAM using the magic filename ':memory:'. This is a feature of SQLite3 (and not libdbi), see: https://www.sqlite.org/inmemorydb.html Of course, this unit test helped to discover some problems: 1) Storing an SMS with empty TP-User-Data (TP-UDL=0) causes buffer overruns in both db_sms_store() and db_sms_get(). 2) TP-User-Data-Length is always being interpreted in octets, regardless of DCS (Data Coding Scheme). This results in storing garbage in the database if the default 7-bit encoding is used. Fortunately, the 'user_data' buffer in structure 'gsm_sms' is large emough, so we don't experience buffer overruns. 3) db_sms_delete_oldest_expired_message() doesn't work as expected. Instead of removing the *oldest* expired message, it tries to remove the *newest* one. The current test expectations do reflect these problems. All of them will be fixed in the follow-up patches. Change-Id: Id94ad35b6f78f839137db2e17010fbf9b40111a3 --- M configure.ac M src/libmsc/db.c M tests/Makefile.am A tests/db_sms/Makefile.am A tests/db_sms/db_sms_test.c A tests/db_sms/db_sms_test.err A tests/db_sms/db_sms_test.ok M tests/testsuite.at 8 files changed, 714 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/29/13629/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id94ad35b6f78f839137db2e17010fbf9b40111a3 Gerrit-Change-Number: 13629 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Max Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 10:44:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 Jun 2019 10:44:02 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: vty: Require ggsn param in cmd In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14298 ) Change subject: ggsn: vty: Require ggsn param in cmd ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14298/2/ggsn/ggsn_vty.c File ggsn/ggsn_vty.c: https://gerrit.osmocom.org/#/c/14298/2/ggsn/ggsn_vty.c at 767 PS2, Line 767: ggsn NAME > I think we should add a hidden / deprecated alias, because this change breaks backward compatibility [?] Indeed it does, but this type of command is not expected to be in VTY cfg files, since it's used to show information, and we don't use it in any TTCN3 test. So it does make sense to me in this case to make more mess in the code by adding a global ggsn variable and assign it to first created ggsn. Still, it seems I need to update doc/manuals/vty/ggsn_vty_reference.xml (first find how to do it). -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I8357e20076348c8ded5e9f5b8e7252566b0fbfea Gerrit-Change-Number: 14298 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 Jun 2019 10:44: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 Mon Jun 3 10:56:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 Jun 2019 10:56:47 +0000 Subject: Change in ...docker-playground[master]: ttcn3-msc: Enable extended-timestamp in VTY cfg Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/14353 Change subject: ttcn3-msc: Enable extended-timestamp in VTY cfg ...................................................................... ttcn3-msc: Enable extended-timestamp in VTY cfg Having extended-timestamp allows for easier matching between osmo-*.log files and pcap traces. Change-Id: I98cdc0adc24edc966d5648d2c215c6ad7c749209 --- M ttcn3-msc-test/osmo-msc.cfg M ttcn3-msc-test/osmo-stp.cfg 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/53/14353/1 diff --git a/ttcn3-msc-test/osmo-msc.cfg b/ttcn3-msc-test/osmo-msc.cfg index d19f039..db2029c 100644 --- a/ttcn3-msc-test/osmo-msc.cfg +++ b/ttcn3-msc-test/osmo-msc.cfg @@ -7,6 +7,7 @@ logging color 0 logging print category 1 logging timestamp 1 + logging print extended-timestamp 1 logging level all everything logging level rll notice logging level cc debug diff --git a/ttcn3-msc-test/osmo-stp.cfg b/ttcn3-msc-test/osmo-stp.cfg index a2a6210..cefaef1 100644 --- a/ttcn3-msc-test/osmo-stp.cfg +++ b/ttcn3-msc-test/osmo-stp.cfg @@ -7,6 +7,7 @@ logging color 0 logging print category 1 logging timestamp 1 + logging print extended-timestamp 1 logging level all everything logging level lglobal notice logging level llapd notice -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I98cdc0adc24edc966d5648d2c215c6ad7c749209 Gerrit-Change-Number: 14353 Gerrit-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 3 11:00:16 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Jun 2019 11:00:16 +0000 Subject: Change in ...osmo-msc[master]: tests: share stubs.h from msc_vlr_test as stubs.c In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14352 ) Change subject: tests: share stubs.h from msc_vlr_test as stubs.c ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8846c940f2695fd33e1007fecac83e73f508bb34 Gerrit-Change-Number: 14352 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 Jun 2019 11:00: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 3 11:15:05 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 11:15:05 +0000 Subject: Change in ...docker-playground[master]: ttcn3-msc: Enable extended-timestamp in VTY cfg In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14353 ) Change subject: ttcn3-msc: Enable extended-timestamp in VTY cfg ...................................................................... Patch Set 1: Code-Review+1 might make sense to do this for all the tests, not just for msc? -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I98cdc0adc24edc966d5648d2c215c6ad7c749209 Gerrit-Change-Number: 14353 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Mon, 03 Jun 2019 11:15: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 3 11:15:55 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 11:15:55 +0000 Subject: Change in ...osmo-msc[master]: tests: share stubs.h from msc_vlr_test as stubs.c In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14352 ) Change subject: tests: share stubs.h from msc_vlr_test as stubs.c ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8846c940f2695fd33e1007fecac83e73f508bb34 Gerrit-Change-Number: 14352 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 Jun 2019 11:15: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 3 11:16:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 11:16:31 +0000 Subject: Change in ...osmo-msc[master]: Introduce initial unit test for db_sms_* API In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/13629 ) Change subject: Introduce initial unit test for db_sms_* API ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id94ad35b6f78f839137db2e17010fbf9b40111a3 Gerrit-Change-Number: 13629 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Max Gerrit-Comment-Date: Mon, 03 Jun 2019 11: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 Mon Jun 3 11:16:36 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 11:16:36 +0000 Subject: Change in ...osmo-msc[master]: Introduce initial unit test for db_sms_* API In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/13629 ) Change subject: Introduce initial unit test for db_sms_* API ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id94ad35b6f78f839137db2e17010fbf9b40111a3 Gerrit-Change-Number: 13629 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Max Gerrit-Comment-Date: Mon, 03 Jun 2019 11:16: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 3 11:17:32 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 11:17:32 +0000 Subject: Change in ...osmo-hlr[master]: db_test: set timezone to work around mktime bug In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14351 ) Change subject: db_test: set timezone to work around mktime bug ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ic8080ba1914bb364169ab0c563b132a4ab9a9aab Gerrit-Change-Number: 14351 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 Jun 2019 11: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 Mon Jun 3 11:17:34 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 11:17:34 +0000 Subject: Change in ...osmo-hlr[master]: db_test: set timezone to work around mktime bug In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14351 ) Change subject: db_test: set timezone to work around mktime bug ...................................................................... db_test: set timezone to work around mktime bug Apply workaround for db_test failure on ubuntu 19.04 in OBS. When the timezone is set to UTC (default in OBS), and the glibc version is 2.29, the test case is failing sometimes (not always) with the following errors in the test log: DAUC Cannot convert LU timestamp '2019-05-26 03:05:03' to time_t: Value too large for defined Force the timezone to be CET when running the test, so it passes again. I found this workaround in a Fedora bugreport [1], and tested with an ubuntu 19.04 system running in docker, that setting the environment variable like this makes the test pass 25 times in a row. Without it, it fails every two or three times. Then I verified in my OBS namespace, that the test also passes in OBS again. [1] https://bugzilla.redhat.com/show_bug.cgi?id=1653340 Related: OS#4026 Change-Id: Ic8080ba1914bb364169ab0c563b132a4ab9a9aab --- M tests/testsuite.at 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved Harald Welte: Looks good to me, approved diff --git a/tests/testsuite.at b/tests/testsuite.at index 70ae7ae..7d268d1 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -29,10 +29,12 @@ AT_CHECK([$abs_top_builddir/tests/gsup_server/gsup_server_test], [], [expout], [experr]) AT_CLEANUP +# TZ=CET: workaround for glibc bug in mktime() (https://osmocom.org/issues/4026): +# "Cannot convert LU timestamp '2019-05-26 03:05:03' to time_t: Value too large for defined data type" AT_SETUP([db]) AT_KEYWORDS([db]) cat $abs_srcdir/db/db_test.ok > expout cat $abs_srcdir/db/db_test.err > experr sqlite3 db_test.db < $abs_top_srcdir/sql/hlr.sql -AT_CHECK([$abs_top_builddir/tests/db/db_test], [], [expout], [experr]) +AT_CHECK([TZ=CET $abs_top_builddir/tests/db/db_test], [], [expout], [experr]) AT_CLEANUP -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ic8080ba1914bb364169ab0c563b132a4ab9a9aab Gerrit-Change-Number: 14351 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 11:17:58 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 11:17:58 +0000 Subject: Change in ...osmo-ggsn[master]: gtp_create_pdp_ind: simplify code by reordering and compacting parsing In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14284 ) Change subject: gtp_create_pdp_ind: simplify code by reordering and compacting parsing ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I52d5a3543ce6cf764bd84303b5a0d8b0643d998d Gerrit-Change-Number: 14284 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Mon, 03 Jun 2019 11:17:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 11:18:00 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 11:18:00 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Refactor code to use gtp_freepdp(_teardown) APIs In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14285 ) Change subject: gtp: Refactor code to use gtp_freepdp(_teardown) APIs ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I9f0b774e9385a7a8d81ec9702f158e2f9a50d571 Gerrit-Change-Number: 14285 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Mon, 03 Jun 2019 11:18:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 11:18:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 11:18:04 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Re-arrange free pdp ctx code in non-teardown scenario In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14293 ) Change subject: gtp: Re-arrange free pdp ctx code in non-teardown scenario ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I299765816e9d885497110d2e834f7ccdc943052c Gerrit-Change-Number: 14293 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Mon, 03 Jun 2019 11:18: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 3 11:18:08 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 11:18:08 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: Use gtp_delete_context_req2() everywhere In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14011 ) Change subject: ggsn: Use gtp_delete_context_req2() everywhere ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14011 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iecc8c5ac45207e7e20129559c4ac7f3c67dfb36a Gerrit-Change-Number: 14011 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Assignee: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 03 Jun 2019 11:18: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 3 11:18:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 11:18:15 +0000 Subject: Change in ...osmo-ggsn[master]: pdp: Introduce new API pdp_count_secondary In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14283 ) Change subject: pdp: Introduce new API pdp_count_secondary ...................................................................... pdp: Introduce new API pdp_count_secondary Change-Id: Id2d84ad1cdb0f3b500efeda4cc0fbccb24ae0c61 --- M gtp/gtp.c M gtp/pdp.c M gtp/pdp.h 3 files changed, 20 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/gtp/gtp.c b/gtp/gtp.c index eec8daf..b05eed6 100644 --- a/gtp/gtp.c +++ b/gtp/gtp.c @@ -2454,8 +2454,7 @@ get_default_gtp(pdp->version, GTP_DELETE_PDP_REQ, &packet); struct in_addr addr; struct pdp_t *linked_pdp; - int n; - int count = 0; + int count; if (gsna2in_addr(&addr, &pdp->gsnrc)) { gsn->err_address++; @@ -2470,9 +2469,7 @@ } if (!teardown) { - for (n = 0; n < PDP_MAXNSAPI; n++) - if (linked_pdp->secondary_tei[n]) - count++; + count = pdp_count_secondary(linked_pdp); if (count <= 1) { LOGP(DLGTP, LOGL_ERROR, "Must use teardown for last context: %d\n", count); @@ -2562,8 +2559,7 @@ uint8_t nsapi; uint8_t teardown = 0; - int n; - int count = 0; + int count; /* Is this a duplicate ? */ if (!gtp_duplicate(gsn, version, peer, seq)) { @@ -2633,9 +2629,7 @@ * signalling messages will eventually lead to a consistent * situation, allowing the teardown of the PDP context.) */ - for (n = 0; n < PDP_MAXNSAPI; n++) - if (linked_pdp->secondary_tei[n]) - count++; + count = pdp_count_secondary(linked_pdp); if (count <= 1) { GTP_LOGPKG(LOGL_NOTICE, peer, pack, len, "Ignoring CTX DEL without teardown and count=%d\n", diff --git a/gtp/pdp.c b/gtp/pdp.c index a630ee9..92fe5ec 100644 --- a/gtp/pdp.c +++ b/gtp/pdp.c @@ -374,3 +374,17 @@ pdp->imsi = teid & 0x0fffffffffffffffull; pdp->nsapi = (teid & 0xf000000000000000ull) >> 60; } + +/* Count amount of secondary PDP contexts linked to this primary PDP context + * (itself included). Must be called on a primary PDP context. */ +unsigned int pdp_count_secondary(struct pdp_t *pdp) +{ + unsigned int n; + unsigned int count = 0; + OSMO_ASSERT(!pdp->secondary); + + for (n = 0; n < PDP_MAXNSAPI; n++) + if (pdp->secondary_tei[n]) + count++; + return count; +} diff --git a/gtp/pdp.h b/gtp/pdp.h index 81a38f4..e48f1a1 100644 --- a/gtp/pdp.h +++ b/gtp/pdp.h @@ -260,6 +260,8 @@ void pdp_set_imsi_nsapi(struct pdp_t *pdp, uint64_t teid); +unsigned int pdp_count_secondary(struct pdp_t *pdp); + /* int pdp_iphash(void* ipif, struct ul66_t *eua); int pdp_ipset(struct pdp_t *pdp, void* ipif, struct ul66_t *eua); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Id2d84ad1cdb0f3b500efeda4cc0fbccb24ae0c61 Gerrit-Change-Number: 14283 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 11:18:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 11:18:15 +0000 Subject: Change in ...osmo-ggsn[master]: gtp_create_pdp_ind: simplify code by reordering and compacting parsing In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14284 ) Change subject: gtp_create_pdp_ind: simplify code by reordering and compacting parsing ...................................................................... gtp_create_pdp_ind: simplify code by reordering and compacting parsing Move all parsing with same conditions under same blocks to make code easier to follow and make it more compact. Change-Id: I52d5a3543ce6cf764bd84303b5a0d8b0643d998d --- M gtp/gtp.c 1 file changed, 92 insertions(+), 120 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/gtp/gtp.c b/gtp/gtp.c index b05eed6..6e834cc 100644 --- a/gtp/gtp.c +++ b/gtp/gtp.c @@ -1435,6 +1435,61 @@ pdp->apn_req = linked_pdp->apn_req; pdp->teic_gn = linked_pdp->teic_gn; pdp->secondary = 1; + } else { + /* Not Secondary PDP Context Activation Procedure */ + /* IMSI (conditional): If the MS is emergency attached + and the MS is UICCless, the IMSI cannot be included + in the message and therefore IMSI shall not be + included in the message. */ + if (gtpie_gettv0 + (ie, GTPIE_IMSI, 0, &pdp->imsi, sizeof(pdp->imsi))) { + gsn->missing++; + GTP_LOGPKG(LOGL_ERROR, peer, pack, + len, "Missing IMSI not supported\n"); + return gtp_create_pdp_resp(gsn, version, pdp, + GTPCAUSE_MAN_IE_MISSING); + } + } + + /* TEID (mandatory) */ + if (gtpie_gettv4(ie, GTPIE_TEI_DI, 0, &pdp->teid_gn)) { + gsn->missing++; + GTP_LOGPKG(LOGL_ERROR, peer, pack, + len, "Missing mandatory information field\n"); + return gtp_create_pdp_resp(gsn, version, pdp, + GTPCAUSE_MAN_IE_MISSING); + } + /* TEIC (conditional) */ + if (!linked_pdp) { /* Not Secondary PDP Context Activation Procedure */ + if (gtpie_gettv4(ie, GTPIE_TEI_C, 0, &pdp->teic_gn)) { + gsn->missing++; + GTP_LOGPKG(LOGL_ERROR, peer, + pack, len, + "Missing mandatory information field\n"); + return gtp_create_pdp_resp(gsn, version, pdp, + GTPCAUSE_MAN_IE_MISSING); + } + } + /* NSAPI (mandatory) */ + if (gtpie_gettv1(ie, GTPIE_NSAPI, 0, &pdp->nsapi)) { + gsn->missing++; + GTP_LOGPKG(LOGL_ERROR, peer, pack, + len, "Missing mandatory information field\n"); + return gtp_create_pdp_resp(gsn, version, pdp, + GTPCAUSE_MAN_IE_MISSING); + } + /* QoS (mandatory) */ + if (gtpie_gettlv(ie, GTPIE_QOS_PROFILE, 0, &pdp->qos_req.l, + &pdp->qos_req.v, sizeof(pdp->qos_req.v))) { + gsn->missing++; + GTP_LOGPKG(LOGL_ERROR, peer, pack, + len, "Missing mandatory information field\n"); + return gtp_create_pdp_resp(gsn, version, pdp, + GTPCAUSE_MAN_IE_MISSING); + } + /* TFT (conditional) */ + if (gtpie_gettlv(ie, GTPIE_TFT, 0, &pdp->tft.l, + &pdp->tft.v, sizeof(pdp->tft.v))) { } } /* if (version == 1) */ @@ -1447,40 +1502,6 @@ return gtp_create_pdp_resp(gsn, version, pdp, GTPCAUSE_MAN_IE_MISSING); } - } - - if ((version == 1) && (!linked_pdp)) { - /* Not Secondary PDP Context Activation Procedure */ - /* IMSI (conditional) */ - if (gtpie_gettv0 - (ie, GTPIE_IMSI, 0, &pdp->imsi, sizeof(pdp->imsi))) { - gsn->missing++; - GTP_LOGPKG(LOGL_ERROR, peer, pack, - len, "Missing mandatory information field\n"); - return gtp_create_pdp_resp(gsn, version, pdp, - GTPCAUSE_MAN_IE_MISSING); - } - } - - /* Recovery (optional) */ - if (!gtpie_gettv1(ie, GTPIE_RECOVERY, 0, &recovery)) { - /* we use recovery futher down after announcing new pdp ctx to user */ - recovery_recvd = true; - } - - /* Selection mode (conditional) */ - if (!linked_pdp) { /* Not Secondary PDP Context Activation Procedure */ - if (gtpie_gettv0(ie, GTPIE_SELECTION_MODE, 0, - &pdp->selmode, sizeof(pdp->selmode))) { - gsn->missing++; - GTP_LOGPKG(LOGL_ERROR, peer, pack, - len, "Missing mandatory information field\n"); - return gtp_create_pdp_resp(gsn, version, pdp, - GTPCAUSE_MAN_IE_MISSING); - } - } - - if (version == 0) { if (gtpie_gettv2(ie, GTPIE_FL_DI, 0, &pdp->flru)) { gsn->missing++; GTP_LOGPKG(LOGL_ERROR, peer, pack, @@ -1488,7 +1509,6 @@ return gtp_create_pdp_resp(gsn, version, pdp, GTPCAUSE_MAN_IE_MISSING); } - if (gtpie_gettv2(ie, GTPIE_FL_C, 0, &pdp->flrc)) { gsn->missing++; GTP_LOGPKG(LOGL_ERROR, peer, pack, @@ -1498,70 +1518,6 @@ } } - if (version == 1) { - /* TEID (mandatory) */ - if (gtpie_gettv4(ie, GTPIE_TEI_DI, 0, &pdp->teid_gn)) { - gsn->missing++; - GTP_LOGPKG(LOGL_ERROR, peer, pack, - len, "Missing mandatory information field\n"); - return gtp_create_pdp_resp(gsn, version, pdp, - GTPCAUSE_MAN_IE_MISSING); - } - - /* TEIC (conditional) */ - if (!linked_pdp) { /* Not Secondary PDP Context Activation Procedure */ - if (gtpie_gettv4(ie, GTPIE_TEI_C, 0, &pdp->teic_gn)) { - gsn->missing++; - GTP_LOGPKG(LOGL_ERROR, peer, - pack, len, - "Missing mandatory information field\n"); - return gtp_create_pdp_resp(gsn, version, pdp, - GTPCAUSE_MAN_IE_MISSING); - } - } - - /* NSAPI (mandatory) */ - if (gtpie_gettv1(ie, GTPIE_NSAPI, 0, &pdp->nsapi)) { - gsn->missing++; - GTP_LOGPKG(LOGL_ERROR, peer, pack, - len, "Missing mandatory information field\n"); - return gtp_create_pdp_resp(gsn, version, pdp, - GTPCAUSE_MAN_IE_MISSING); - } - } - - /* Charging Characteriatics (optional) */ - /* Trace reference (optional) */ - /* Trace type (optional) */ - /* Charging Characteriatics (optional) */ - - if (!linked_pdp) { /* Not Secondary PDP Context Activation Procedure */ - /* End User Address (conditional) */ - if (gtpie_gettlv(ie, GTPIE_EUA, 0, &pdp->eua.l, - &pdp->eua.v, sizeof(pdp->eua.v))) { - gsn->missing++; - GTP_LOGPKG(LOGL_ERROR, peer, pack, - len, "Missing mandatory information field\n"); - return gtp_create_pdp_resp(gsn, version, pdp, - GTPCAUSE_MAN_IE_MISSING); - } - - /* APN */ - if (gtpie_gettlv(ie, GTPIE_APN, 0, &pdp->apn_req.l, - &pdp->apn_req.v, sizeof(pdp->apn_req.v))) { - gsn->missing++; - GTP_LOGPKG(LOGL_ERROR, peer, pack, - len, "Missing mandatory information field\n"); - return gtp_create_pdp_resp(gsn, version, pdp, - GTPCAUSE_MAN_IE_MISSING); - } - - /* Extract protocol configuration options (optional) */ - if (!gtpie_gettlv(ie, GTPIE_PCO, 0, &pdp->pco_req.l, - &pdp->pco_req.v, sizeof(pdp->pco_req.v))) { - } - } - /* SGSN address for signalling (mandatory) */ if (gtpie_gettlv(ie, GTPIE_GSN_ADDR, 0, &pdp->gsnrc.l, &pdp->gsnrc.v, sizeof(pdp->gsnrc.v))) { @@ -1581,8 +1537,44 @@ return gtp_create_pdp_resp(gsn, version, pdp, GTPCAUSE_MAN_IE_MISSING); } + /* Recovery (optional) */ + if (!gtpie_gettv1(ie, GTPIE_RECOVERY, 0, &recovery)) { + /* we use recovery futher down after announcing new pdp ctx to user */ + recovery_recvd = true; + } if (!linked_pdp) { /* Not Secondary PDP Context Activation Procedure */ + /* Selection mode (conditional) */ + if (gtpie_gettv0(ie, GTPIE_SELECTION_MODE, 0, + &pdp->selmode, sizeof(pdp->selmode))) { + gsn->missing++; + GTP_LOGPKG(LOGL_ERROR, peer, pack, + len, "Missing mandatory information field\n"); + return gtp_create_pdp_resp(gsn, version, pdp, + GTPCAUSE_MAN_IE_MISSING); + } + /* End User Address (conditional) */ + if (gtpie_gettlv(ie, GTPIE_EUA, 0, &pdp->eua.l, + &pdp->eua.v, sizeof(pdp->eua.v))) { + gsn->missing++; + GTP_LOGPKG(LOGL_ERROR, peer, pack, + len, "Missing mandatory information field\n"); + return gtp_create_pdp_resp(gsn, version, pdp, + GTPCAUSE_MAN_IE_MISSING); + } + /* APN */ + if (gtpie_gettlv(ie, GTPIE_APN, 0, &pdp->apn_req.l, + &pdp->apn_req.v, sizeof(pdp->apn_req.v))) { + gsn->missing++; + GTP_LOGPKG(LOGL_ERROR, peer, pack, + len, "Missing mandatory information field\n"); + return gtp_create_pdp_resp(gsn, version, pdp, + GTPCAUSE_MAN_IE_MISSING); + } + /* Extract protocol configuration options (optional) */ + if (!gtpie_gettlv(ie, GTPIE_PCO, 0, &pdp->pco_req.l, + &pdp->pco_req.v, sizeof(pdp->pco_req.v))) { + } /* MSISDN (conditional) */ if (gtpie_gettlv(ie, GTPIE_MSISDN, 0, &pdp->msisdn.l, &pdp->msisdn.v, sizeof(pdp->msisdn.v))) { @@ -1594,26 +1586,6 @@ } } - if (version == 1) { - /* QoS (mandatory) */ - if (gtpie_gettlv(ie, GTPIE_QOS_PROFILE, 0, &pdp->qos_req.l, - &pdp->qos_req.v, sizeof(pdp->qos_req.v))) { - gsn->missing++; - GTP_LOGPKG(LOGL_ERROR, peer, pack, - len, "Missing mandatory information field\n"); - return gtp_create_pdp_resp(gsn, version, pdp, - GTPCAUSE_MAN_IE_MISSING); - } - - /* TFT (conditional) */ - if (gtpie_gettlv(ie, GTPIE_TFT, 0, &pdp->tft.l, - &pdp->tft.v, sizeof(pdp->tft.v))) { - } - - /* Trigger ID */ - /* OMC identity */ - } - /* Initialize our own IP addresses */ in_addr2gsna(&pdp->gsnlc, &gsn->gsnc); in_addr2gsna(&pdp->gsnlu, &gsn->gsnu); @@ -1688,7 +1660,7 @@ if (pdp) pdp->gsn = gsn; - /* Callback function to validata login */ + /* Callback function to validate login */ if (gsn->cb_create_context_ind != 0) rc = gsn->cb_create_context_ind(pdp); else { -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I52d5a3543ce6cf764bd84303b5a0d8b0643d998d Gerrit-Change-Number: 14284 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 11:18:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 11:18:15 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Refactor code to use gtp_freepdp(_teardown) APIs In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14285 ) Change subject: gtp: Refactor code to use gtp_freepdp(_teardown) APIs ...................................................................... gtp: Refactor code to use gtp_freepdp(_teardown) APIs * API gtp_freepdp was already there but was not really being used by anyone currently, so we can change its behaviour to call cb_delete_ctx. It makes sense to call the cb in there too to be consistent with rest of APIs. * Add API gtp_freepdp_teardown, which calls gtp_freepdp on pdp and its secondary contexts. It will also be used later on by osmo-ggsn. * Use new APIs in internal code to simplify it. Change-Id: I9f0b774e9385a7a8d81ec9702f158e2f9a50d571 --- M gtp/gtp.c M gtp/gtp.h 2 files changed, 32 insertions(+), 50 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/gtp/gtp.c b/gtp/gtp.c index 6e834cc..57c19a2 100644 --- a/gtp/gtp.c +++ b/gtp/gtp.c @@ -146,9 +146,36 @@ int gtp_freepdp(struct gsn_t *gsn, struct pdp_t *pdp) { + if (gsn->cb_delete_context) + gsn->cb_delete_context(pdp); return pdp_freepdp(pdp); } +/* Free pdp and all its secondary PDP contexts. Must be called on the primary PDP context. */ +int gtp_freepdp_teardown(struct gsn_t *gsn, struct pdp_t *pdp) +{ + int n; + struct pdp_t *secondary_pdp; + OSMO_ASSERT(!pdp->secondary); + + for (n = 0; n < PDP_MAXNSAPI; n++) { + if (pdp->secondary_tei[n]) { + if (pdp_getgtp1 + (&secondary_pdp, + pdp->secondary_tei[n])) { + LOGP(DLGTP, LOGL_ERROR, + "Unknown secondary PDP context\n"); + continue; + } + if (pdp != secondary_pdp) { + gtp_freepdp(gsn, secondary_pdp); + } + } + } + + return gtp_freepdp(gsn, pdp); +} + /* gtp_gpdu */ extern int gtp_fd(struct gsn_t *gsn) @@ -1648,9 +1675,7 @@ DEBUGP(DLGTP, "gtp_create_pdp_ind: Deleting old context\n"); - if (gsn->cb_delete_context) - gsn->cb_delete_context(pdp_old); - pdp_freepdp(pdp_old); + gtp_freepdp(gsn, pdp_old); DEBUGP(DLGTP, "gtp_create_pdp_ind: Deleted...\n"); } @@ -2371,8 +2396,6 @@ int teardown) { struct pdp_t *linked_pdp; - struct pdp_t *secondary_pdp; - int n; if (pdp_getgtp1(&linked_pdp, pdp->teic_own)) { LOGP(DLGTP, LOGL_ERROR, @@ -2384,26 +2407,7 @@ return EOF; if (teardown) { /* Remove all contexts */ - for (n = 0; n < PDP_MAXNSAPI; n++) { - if (linked_pdp->secondary_tei[n]) { - if (pdp_getgtp1 - (&secondary_pdp, - linked_pdp->secondary_tei[n])) { - LOGP(DLGTP, LOGL_ERROR, - "Unknown secondary PDP context\n"); - return EOF; - } - if (linked_pdp != secondary_pdp) { - if (gsn->cb_delete_context) - gsn->cb_delete_context - (secondary_pdp); - pdp_freepdp(secondary_pdp); - } - } - } - if (gsn->cb_delete_context) - gsn->cb_delete_context(linked_pdp); - pdp_freepdp(linked_pdp); + gtp_freepdp_teardown(gsn, linked_pdp); } else { if (gsn->cb_delete_context) gsn->cb_delete_context(pdp); @@ -2470,10 +2474,8 @@ uint8_t cause, int teardown) { union gtp_packet packet; - struct pdp_t *secondary_pdp; unsigned int length = get_default_gtp(version, GTP_DELETE_PDP_RSP, &packet); - int n; gtpie_tv1(&packet, &length, GTP_MAX, GTPIE_CAUSE, cause); @@ -2482,26 +2484,7 @@ if (cause == GTPCAUSE_ACC_REQ) { if ((teardown) || (version == 0)) { /* Remove all contexts */ - for (n = 0; n < PDP_MAXNSAPI; n++) { - if (linked_pdp->secondary_tei[n]) { - if (pdp_getgtp1 - (&secondary_pdp, - linked_pdp->secondary_tei[n])) { - LOGP(DLGTP, LOGL_ERROR, - "Unknown secondary PDP context\n"); - return EOF; - } - if (linked_pdp != secondary_pdp) { - if (gsn->cb_delete_context) - gsn->cb_delete_context - (secondary_pdp); - pdp_freepdp(secondary_pdp); - } - } - } - if (gsn->cb_delete_context) - gsn->cb_delete_context(linked_pdp); - pdp_freepdp(linked_pdp); + gtp_freepdp_teardown(gsn, linked_pdp); } else { /* Remove only current context */ if (gsn->cb_delete_context) gsn->cb_delete_context(pdp); @@ -2752,9 +2735,7 @@ * code should ever change. */ OSMO_ASSERT(pdp); - if (gsn->cb_delete_context) - gsn->cb_delete_context(pdp); - pdp_freepdp(pdp); + gtp_freepdp(gsn, pdp); return 0; } diff --git a/gtp/gtp.h b/gtp/gtp.h index 5f35ab5..6582319 100644 --- a/gtp/gtp.h +++ b/gtp/gtp.h @@ -309,6 +309,7 @@ extern int gtp_newpdp(struct gsn_t *gsn, struct pdp_t **pdp, uint64_t imsi, uint8_t nsapi); extern int gtp_freepdp(struct gsn_t *gsn, struct pdp_t *pdp); +extern int gtp_freepdp_teardown(struct gsn_t *gsn, struct pdp_t *pdp); extern int gtp_create_context_req(struct gsn_t *gsn, struct pdp_t *pdp, void *cbp); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I9f0b774e9385a7a8d81ec9702f158e2f9a50d571 Gerrit-Change-Number: 14285 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 11:18:16 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 11:18:16 +0000 Subject: Change in ...osmo-ggsn[master]: cosmetic: gtp: Document free pdp ctx in non-teardown scenario In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14286 ) Change subject: cosmetic: gtp: Document free pdp ctx in non-teardown scenario ...................................................................... cosmetic: gtp: Document free pdp ctx in non-teardown scenario Change-Id: Ia47ac792111fe1e9aa68222b32b5da823642206b --- M gtp/gtp.c 1 file changed, 25 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/gtp/gtp.c b/gtp/gtp.c index 57c19a2..5dde6b5 100644 --- a/gtp/gtp.c +++ b/gtp/gtp.c @@ -2409,6 +2409,18 @@ if (teardown) { /* Remove all contexts */ gtp_freepdp_teardown(gsn, linked_pdp); } else { + /* If we end up here (no teardown) it means we still + have at least another pdp context active for this + PDN connection (since last DeleteReq should come + with teardown enabled). If the ctx to delete is a + secondary ctx, simply free it. If it's the primary + ctx, mark it as nodata but don't free it since we + need it to hold data linked together and we'll + require it later to tear down the entire tree. Still, + we announce its deletion through cb_delete_context + because we don't want user to release its related + data and not use it anymore. + */ if (gsn->cb_delete_context) gsn->cb_delete_context(pdp); if (pdp == linked_pdp) { @@ -2485,7 +2497,19 @@ if (cause == GTPCAUSE_ACC_REQ) { if ((teardown) || (version == 0)) { /* Remove all contexts */ gtp_freepdp_teardown(gsn, linked_pdp); - } else { /* Remove only current context */ + } else { + /* If we end up here (no teardown) it means we still + have at least another pdp context active for this + PDN connection (since last DeleteReq should come + with teardown enabled). If the ctx to delete is a + secondary ctx, simply free it. If it's the primary + ctx, mark it as nodata but don't free it since we + need it to hold data linked together and we'll + require it later to tear down the entire tree. Still, + we announce its deletion through cb_delete_context + because we don't want user to release its related + data and not use it anymore. + */ if (gsn->cb_delete_context) gsn->cb_delete_context(pdp); if (pdp == linked_pdp) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ia47ac792111fe1e9aa68222b32b5da823642206b Gerrit-Change-Number: 14286 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 11:18:16 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 11:18:16 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Re-arrange free pdp ctx code in non-teardown scenario In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14293 ) Change subject: gtp: Re-arrange free pdp ctx code in non-teardown scenario ...................................................................... gtp: Re-arrange free pdp ctx code in non-teardown scenario Code modified actually behaves the same, since gtp_freepdp() also calls delete cb, and this way it's more consistent with rest of the code base. Change-Id: I299765816e9d885497110d2e834f7ccdc943052c --- M gtp/gtp.c 1 file changed, 14 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/gtp/gtp.c b/gtp/gtp.c index 5dde6b5..9ae208a 100644 --- a/gtp/gtp.c +++ b/gtp/gtp.c @@ -2421,13 +2421,14 @@ because we don't want user to release its related data and not use it anymore. */ - if (gsn->cb_delete_context) - gsn->cb_delete_context(pdp); if (pdp == linked_pdp) { - linked_pdp->secondary_tei[pdp->nsapi & 0xf0] = 0; - linked_pdp->nodata = 1; - } else - pdp_freepdp(pdp); + if (gsn->cb_delete_context) + gsn->cb_delete_context(pdp); + pdp->secondary_tei[pdp->nsapi & 0xf0] = 0; + pdp->nodata = 1; + } else { + gtp_freepdp(gsn, pdp); + } } return 0; @@ -2510,14 +2511,14 @@ because we don't want user to release its related data and not use it anymore. */ - if (gsn->cb_delete_context) - gsn->cb_delete_context(pdp); if (pdp == linked_pdp) { - linked_pdp->secondary_tei[pdp->nsapi & 0xf0] = - 0; - linked_pdp->nodata = 1; - } else - pdp_freepdp(pdp); + if (gsn->cb_delete_context) + gsn->cb_delete_context(pdp); + pdp->secondary_tei[pdp->nsapi & 0xf0] = 0; + pdp->nodata = 1; + } else { + gtp_freepdp(gsn, pdp); + } } } /* if (cause == GTPCAUSE_ACC_REQ) */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I299765816e9d885497110d2e834f7ccdc943052c Gerrit-Change-Number: 14293 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 11:18:16 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 11:18:16 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: Use gtp_delete_context_req2() everywhere In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14011 ) Change subject: ggsn: Use gtp_delete_context_req2() everywhere ...................................................................... ggsn: Use gtp_delete_context_req2() everywhere Replace calls to gtp_delete_context_req() with gtp_delete_context_req2(). Related: OS#2741 Change-Id: Iecc8c5ac45207e7e20129559c4ac7f3c67dfb36a --- M ggsn/ggsn.c M gtp/gtp.c M sgsnemu/sgsnemu.c 3 files changed, 40 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c index 9b45109..c559923 100644 --- a/ggsn/ggsn.c +++ b/ggsn/ggsn.c @@ -107,7 +107,12 @@ if (!pdp) continue; LOGPPDP(LOGL_DEBUG, pdp, "Sending DELETE PDP CTX due to shutdown\n"); - gtp_delete_context_req(pdp->gsn, pdp, NULL, 1); + gtp_delete_context_req2(pdp->gsn, pdp, NULL, 1); + /* We have nothing more to do with pdp ctx, free it. Upon cb_delete_context + called during this call we'll clean up ggsn related stuff attached to this + pdp context. After this call, ippool member is cleared so + data is no longer valid and should not be accessed anymore. */ + gtp_freepdp_teardown(pdp->gsn, pdp); } } @@ -980,6 +985,32 @@ } } +/* libgtp callback for confirmations */ +static int cb_conf(int type, int cause, struct pdp_t *pdp, void *cbp) +{ + int rc = 0; + + if (cause == EOF) + LOGP(DGGSN, LOGL_NOTICE, "libgtp EOF (type=%u, pdp=%p, cbp=%p)\n", + type, pdp, cbp); + + switch (type) { + case GTP_DELETE_PDP_REQ: + /* Remark: We actually never reach this path nowadays because + only place where we call gtp_delete_context_req2() is during + apn_stop()->pool_close_all_pdp() path, and in that case we + free all pdp contexts immediatelly without waiting for + confirmation since we want to tear down the whole APN + anyways. As a result, DeleteCtxResponse will never reach here + since it will be dropped at some point in lower layers in the + Rx path. This code is nevertheless left here in order to ease + future developent and avoid possible future memleaks once more + scenarios where GGSN sends a DeleteCtxRequest are introduced. */ + if (pdp) + rc = pdp_freepdp(pdp); + } + return rc; +} /* Start a given GGSN */ int ggsn_start(struct ggsn_ctx *ggsn) @@ -1027,6 +1058,7 @@ gtp_set_cb_data_ind(ggsn->gsn, encaps_tun); gtp_set_cb_delete_context(ggsn->gsn, delete_context); gtp_set_cb_create_context_ind(ggsn->gsn, create_context_ind); + gtp_set_cb_conf(ggsn->gsn, cb_conf); LOGPGGSN(LOGL_NOTICE, ggsn, "Successfully started\n"); ggsn->started = true; diff --git a/gtp/gtp.c b/gtp/gtp.c index 9ae208a..2b14026 100644 --- a/gtp/gtp.c +++ b/gtp/gtp.c @@ -2434,7 +2434,9 @@ return 0; } -/* API: Send Delete PDP Context Request. PDP CTX shall be free'd by user at cb_conf(GTP_DELETE_PDP_RSP) */ +/* API: Send Delete PDP Context Request. PDP CTX shall be free'd by user at any + point in time later than this function through a call to pdp_freepdp(pdp), but + it must be freed no later than during cb_conf(GTP_DELETE_PDP_REQ, pdp) */ int gtp_delete_context_req2(struct gsn_t *gsn, struct pdp_t *pdp, void *cbp, int teardown) { @@ -2643,7 +2645,7 @@ if (pdp_getgtp1(&pdp, get_tei(pack))) { gsn->err_unknownpdp++; GTP_LOGPKG(LOGL_NOTICE, peer, pack, len, - "Unknown PDP context: %u (expected if gtp_delete_context_req is used)\n", + "Unknown PDP context: %u (expected if gtp_delete_context_req is used or pdp ctx was freed manually before response)\n", get_tei(pack)); if (gsn->cb_conf) gsn->cb_conf(type, EOF, NULL, cbp); diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index a2220f0..225dc59 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -1474,6 +1474,8 @@ { printf("Received delete PDP context response. Cause value: %d\n", cause); + if (pdp) + pdp_freepdp(pdp); return 0; } @@ -1508,8 +1510,6 @@ case GTP_CREATE_PDP_REQ: return create_pdp_conf(pdp, cbp, cause); case GTP_DELETE_PDP_REQ: - if (cause != 128) - return 0; /* Request not accepted. We don't care */ return delete_pdp_conf(pdp, cause); default: return 0; @@ -1756,8 +1756,7 @@ for (n = 0; n < options.contexts; n++) { /* Delete context */ printf("Disconnecting PDP context #%d\n", n); - gtp_delete_context_req(gsn, iparr[n].pdp, NULL, - 1); + gtp_delete_context_req2(gsn, iparr[n].pdp, NULL, 1); if ((options.pinghost.s_addr != 0) && ntransmitted) ping_finish(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14011 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iecc8c5ac45207e7e20129559c4ac7f3c67dfb36a Gerrit-Change-Number: 14011 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Assignee: pespin Gerrit-Reviewer: Harald Welte 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 3 11:18:16 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 11:18:16 +0000 Subject: Change in ...osmo-ggsn[master]: pdp: Drop unused code for haship In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14294 ) Change subject: pdp: Drop unused code for haship ...................................................................... pdp: Drop unused code for haship Nowadays we have one tun device per APN, so we don't need this hash table because we use the ippool of the APN to find the related PDP ctx pointer. Change-Id: Ife3f222daa87f0630ff34ffc3e63f4dad2ad914b --- M gtp/pdp.c M gtp/pdp.h 2 files changed, 0 insertions(+), 78 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/gtp/pdp.c b/gtp/pdp.c index 92fe5ec..a5146e9 100644 --- a/gtp/pdp.c +++ b/gtp/pdp.c @@ -38,7 +38,6 @@ static struct pdp_t pdpa[PDP_MAX]; /* PDP storage */ static struct pdp_t *hashtid[PDP_MAX]; /* Hash table for IMSI + NSAPI */ -/* struct pdp_t* haship[PDP_MAX]; Hash table for IP and network interface */ /* *********************************************************** * Functions related to PDP storage @@ -291,77 +290,7 @@ ((uint64_t) nsapi << 60)); } -/* -int pdp_iphash(void* ipif, struct ul66_t *eua) { - /#printf("IPhash %ld\n", lookup(eua->v, eua->l, ipif) % PDP_MAX);#/ - return (lookup(eua->v, eua->l, ipif) % PDP_MAX); -} -int pdp_ipset(struct pdp_t *pdp, void* ipif, struct ul66_t *eua) { - int hash; - struct pdp_t *pdp2; - struct pdp_t *pdp_prev = NULL; - - if (PDP_DEBUG) printf("Begin pdp_ipset %d %d %2x%2x%2x%2x\n", - (unsigned) ipif, eua->l, - eua->v[2], eua->v[3], - eua->v[4], eua->v[5]); - - pdp->ipnext = NULL; - pdp->ipif = ipif; - pdp->eua.l = eua->l; - memcpy(pdp->eua.v, eua->v, eua->l); - - hash = pdp_iphash(pdp->ipif, &pdp->eua); - - for (pdp2 = haship[hash]; pdp2; pdp2 = pdp2->ipnext) - pdp_prev = pdp2; - if (!pdp_prev) - haship[hash] = pdp; - else - pdp_prev->ipnext = pdp; - if (PDP_DEBUG) printf("End pdp_ipset\n"); - return 0; -} - -int pdp_ipdel(struct pdp_t *pdp) { - int hash = pdp_iphash(pdp->ipif, &pdp->eua); - struct pdp_t *pdp2; - struct pdp_t *pdp_prev = NULL; - if (PDP_DEBUG) printf("Begin pdp_ipdel\n"); - for (pdp2 = haship[hash]; pdp2; pdp2 = pdp2->ipnext) { - if (pdp2 == pdp) { - if (!pdp_prev) - haship[hash] = pdp2->ipnext; - else - pdp_prev->ipnext = pdp2->ipnext; - if (PDP_DEBUG) printf("End pdp_ipdel: PDP found\n"); - return 0; - } - pdp_prev = pdp2; - } - if (PDP_DEBUG) printf("End pdp_ipdel: PDP not found\n"); - return EOF; /# End of linked list and not found #/ -} - -int pdp_ipget(struct pdp_t **pdp, void* ipif, struct ul66_t *eua) { - int hash = pdp_iphash(ipif, eua); - struct pdp_t *pdp2; - /#printf("Begin pdp_ipget %d %d %2x%2x%2x%2x\n", (unsigned)ipif, eua->l, - eua->v[2],eua->v[3],eua->v[4],eua->v[5]);#/ - for (pdp2 = haship[hash]; pdp2; pdp2 = pdp2->ipnext) { - if ((pdp2->ipif == ipif) && (pdp2->eua.l == eua->l) && - (memcmp(&pdp2->eua.v, &eua->v, eua->l) == 0)) { - *pdp = pdp2; - /#printf("End pdp_ipget. Found\n");#/ - return 0; - } - } - if (PDP_DEBUG) printf("End pdp_ipget Notfound %d %d %2x%2x%2x%2x\n", - (unsigned)ipif, eua->l, eua->v[2],eua->v[3],eua->v[4],eua->v[5]); - return EOF; /# End of linked list and not found #/ -} -*/ /* Various conversion functions */ uint64_t pdp_gettid(uint64_t imsi, uint8_t nsapi) diff --git a/gtp/pdp.h b/gtp/pdp.h index e48f1a1..a287113 100644 --- a/gtp/pdp.h +++ b/gtp/pdp.h @@ -262,13 +262,6 @@ unsigned int pdp_count_secondary(struct pdp_t *pdp); -/* -int pdp_iphash(void* ipif, struct ul66_t *eua); -int pdp_ipset(struct pdp_t *pdp, void* ipif, struct ul66_t *eua); -int pdp_ipdel(struct pdp_t *pdp); -int pdp_ipget(struct pdp_t **pdp, void* ipif, struct ul66_t *eua); -*/ - uint64_t pdp_gettid(uint64_t imsi, uint8_t nsapi); #endif /* !_PDP_H */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ife3f222daa87f0630ff34ffc3e63f4dad2ad914b Gerrit-Change-Number: 14294 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 11:18:17 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 11:18:17 +0000 Subject: Change in ...osmo-ggsn[master]: cosmetic: gtp.h: Remove trailing whitespaces In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14295 ) Change subject: cosmetic: gtp.h: Remove trailing whitespaces ...................................................................... cosmetic: gtp.h: Remove trailing whitespaces Change-Id: I60f8cf5e36bcef767f90b150a488a800445bf744 --- M gtp/gtp.h 1 file changed, 7 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved fixeria: Looks good to me, approved diff --git a/gtp/gtp.h b/gtp/gtp.h index 6582319..ec6aef3 100644 --- a/gtp/gtp.h +++ b/gtp/gtp.h @@ -1,12 +1,12 @@ -/* +/* * OsmoGGSN - Gateway GPRS Support Node * Copyright (C) 2002, 2003, 2004 Mondru AB. - * + * * The contents of this file may be used under the terms of the GNU * General Public License Version 2, provided that the above copyright * notice and this permission notice is included in all copies or * substantial portions of the software. - * + * */ #ifndef _GTP_H @@ -142,7 +142,7 @@ struct ul16_t; struct pdp_t; -/* GTP 0 header. +/* GTP 0 header. * Explanation to some of the fields: * SNDCP NPDU Number flag = 0 except for inter SGSN handover situations * SNDCP N-PDU LCC Number 0 = 0xff except for inter SGSN handover situations @@ -231,13 +231,13 @@ * Information storage for each gsn instance * * Normally each instance of the application corresponds to - * one instance of a gsn. - * + * one instance of a gsn. + * * In order to avoid global variables in the application, and * also in order to allow several instances of a gsn in the same * application this struct is provided in order to store all * relevant information related to the gsn. - * + * * Note that this does not include information storage for ' * each pdp context. This is stored in another struct. *************************************************************/ -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I60f8cf5e36bcef767f90b150a488a800445bf744 Gerrit-Change-Number: 14295 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 12:14:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 Jun 2019 12:14:07 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: msc: Fix IU tests timing out due to explicit CM ServiceAccept not recvd Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14354 Change subject: msc: Fix IU tests timing out due to explicit CM ServiceAccept not recvd ...................................................................... msc: Fix IU tests timing out due to explicit CM ServiceAccept not recvd Even if chipering it not enabled, osmo-msc still sends a SecurityModeCommand to use IntegrityProtection, and as a result osmo-msc assumes implicit ACCEPT in all UTRAN CM service requests. Fixes: OS#3991 Change-Id: Ida91f907dd6dfae68cbc63752ddc6f2948792689 --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/54/14354/1 diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index c1114a6..b5dbb87 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -359,7 +359,7 @@ f_cl3_or_initial_ue(l3_info); f_mm_common(); - if (g_pars.net.expect_ciph) { + if (g_pars.net.expect_ciph or not g_pars.ran_is_geran) { /* implicit CM SERVICE ACCEPT? */ } else { if (etype != EST_TYPE_PAG_RESP) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ida91f907dd6dfae68cbc63752ddc6f2948792689 Gerrit-Change-Number: 14354 Gerrit-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 3 12:18:19 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 3 Jun 2019 12:18:19 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: msc: Fix IU tests timing out due to explicit CM ServiceAccept not recvd In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14354 ) Change subject: msc: Fix IU tests timing out due to explicit CM ServiceAccept not recvd ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/14354/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14354/1//COMMIT_MSG at 9 PS1, Line 9: chipering it ciphering is -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ida91f907dd6dfae68cbc63752ddc6f2948792689 Gerrit-Change-Number: 14354 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 03 Jun 2019 12:18:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 14:04:52 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 14:04:52 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: msc: Fix Iu tests timing out due to explicit CM ServiceAccept not recvd In-Reply-To: References: Message-ID: Harald Welte has uploaded a new patch set (#2) to the change originally created by pespin. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14354 ) Change subject: msc: Fix Iu tests timing out due to explicit CM ServiceAccept not recvd ...................................................................... msc: Fix Iu tests timing out due to explicit CM ServiceAccept not recvd Even if ciphering it not enabled, osmo-msc still sends a SecurityModeCommand to use IntegrityProtection, and as a result osmo-msc assumes implicit ACCEPT in all UTRAN CM service requests. Fixes: OS#3991 Change-Id: Ida91f907dd6dfae68cbc63752ddc6f2948792689 --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/54/14354/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ida91f907dd6dfae68cbc63752ddc6f2948792689 Gerrit-Change-Number: 14354 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 14:04:56 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 14:04:56 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: msc: Fix Iu tests timing out due to explicit CM ServiceAccept not recvd In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14354 ) Change subject: msc: Fix Iu tests timing out due to explicit CM ServiceAccept not recvd ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ida91f907dd6dfae68cbc63752ddc6f2948792689 Gerrit-Change-Number: 14354 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 03 Jun 2019 14:04:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 14:05:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 14:05:01 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: msc: Fix Iu tests timing out due to explicit CM ServiceAccept not recvd In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14354 ) Change subject: msc: Fix Iu tests timing out due to explicit CM ServiceAccept not recvd ...................................................................... msc: Fix Iu tests timing out due to explicit CM ServiceAccept not recvd Even if ciphering it not enabled, osmo-msc still sends a SecurityModeCommand to use IntegrityProtection, and as a result osmo-msc assumes implicit ACCEPT in all UTRAN CM service requests. Fixes: OS#3991 Change-Id: Ida91f907dd6dfae68cbc63752ddc6f2948792689 --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index c1114a6..b5dbb87 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -359,7 +359,7 @@ f_cl3_or_initial_ue(l3_info); f_mm_common(); - if (g_pars.net.expect_ciph) { + if (g_pars.net.expect_ciph or not g_pars.ran_is_geran) { /* implicit CM SERVICE ACCEPT? */ } else { if (etype != EST_TYPE_PAG_RESP) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ida91f907dd6dfae68cbc63752ddc6f2948792689 Gerrit-Change-Number: 14354 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte 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 Mon Jun 3 15:05:42 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 15:05:42 +0000 Subject: Change in ...osmo-msc[master]: tests: share stubs.h from msc_vlr_test as stubs.c In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14352 ) Change subject: tests: share stubs.h from msc_vlr_test as stubs.c ...................................................................... tests: share stubs.h from msc_vlr_test as stubs.c We also need stubs for the upcoming db_sms tests. Due to a known bug of automake [1], we cannot use 'subdir-objects', so as a side effect this change introduces some autoreconf warnings. [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752993 Change-Id: I8846c940f2695fd33e1007fecac83e73f508bb34 --- M tests/msc_vlr/Makefile.am M tests/msc_vlr/msc_vlr_test_authen_reuse.c M tests/msc_vlr/msc_vlr_test_call.c M tests/msc_vlr/msc_vlr_test_gsm_authen.c M tests/msc_vlr/msc_vlr_test_gsm_ciph.c M tests/msc_vlr/msc_vlr_test_hlr_reject.c M tests/msc_vlr/msc_vlr_test_hlr_timeout.c M tests/msc_vlr/msc_vlr_test_ms_timeout.c M tests/msc_vlr/msc_vlr_test_no_authen.c M tests/msc_vlr/msc_vlr_test_reject_concurrency.c M tests/msc_vlr/msc_vlr_test_rest.c M tests/msc_vlr/msc_vlr_test_ss.c M tests/msc_vlr/msc_vlr_test_umts_authen.c R tests/stubs.c 14 files changed, 17 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/tests/msc_vlr/Makefile.am b/tests/msc_vlr/Makefile.am index f9a9224..0e15036 100644 --- a/tests/msc_vlr/Makefile.am +++ b/tests/msc_vlr/Makefile.am @@ -13,6 +13,7 @@ $(LIBOSMOABIS_CFLAGS) \ $(LIBOSMOSIGTRAN_CFLAGS) \ $(LIBOSMORANAP_CFLAGS) \ + $(LIBOSMONETIF_CFLAGS) \ $(LIBASN1C_CFLAGS) \ $(LIBOSMOMGCPCLIENT_CFLAGS) \ $(LIBOSMOGSUPCLIENT_CFLAGS) \ @@ -46,7 +47,6 @@ noinst_HEADERS = \ msc_vlr_tests.h \ - stubs.h \ $(NULL) EXTRA_DIST = \ @@ -94,61 +94,73 @@ msc_vlr_test_no_authen_SOURCES = \ msc_vlr_test_no_authen.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_gsm_authen_SOURCES = \ msc_vlr_test_gsm_authen.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_gsm_ciph_SOURCES = \ msc_vlr_test_gsm_ciph.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_umts_authen_SOURCES = \ msc_vlr_test_umts_authen.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_authen_reuse_SOURCES = \ msc_vlr_test_authen_reuse.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_hlr_reject_SOURCES = \ msc_vlr_test_hlr_reject.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_hlr_timeout_SOURCES = \ msc_vlr_test_hlr_timeout.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_ms_timeout_SOURCES = \ msc_vlr_test_ms_timeout.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_reject_concurrency_SOURCES = \ msc_vlr_test_reject_concurrency.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_call_SOURCES = \ msc_vlr_test_call.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_rest_SOURCES = \ msc_vlr_test_rest.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) msc_vlr_test_ss_SOURCES = \ msc_vlr_test_ss.c \ msc_vlr_tests.c \ + $(srcdir)/../stubs.c \ $(NULL) .PHONY: update_exp diff --git a/tests/msc_vlr/msc_vlr_test_authen_reuse.c b/tests/msc_vlr/msc_vlr_test_authen_reuse.c index 9eadec7..d73a5f8 100644 --- a/tests/msc_vlr/msc_vlr_test_authen_reuse.c +++ b/tests/msc_vlr/msc_vlr_test_authen_reuse.c @@ -24,7 +24,6 @@ /* NOTE that further auth re-use tests exist in msc_vlr_test_hlr_reject.c */ #include "msc_vlr_tests.h" -#include "stubs.h" static void _test_auth_reuse(enum osmo_rat_type via_ran, int set_max_reuse_count, diff --git a/tests/msc_vlr/msc_vlr_test_call.c b/tests/msc_vlr/msc_vlr_test_call.c index b31239e..6805f1a 100644 --- a/tests/msc_vlr/msc_vlr_test_call.c +++ b/tests/msc_vlr/msc_vlr_test_call.c @@ -22,7 +22,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" #include diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.c b/tests/msc_vlr/msc_vlr_test_gsm_authen.c index 805ae64..8776e03 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_authen.c +++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.c @@ -22,7 +22,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" static void test_gsm_authen() { diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.c b/tests/msc_vlr/msc_vlr_test_gsm_ciph.c index ceb17a5..c76cba4 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.c +++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.c @@ -22,7 +22,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" static const struct osmo_gsm48_classmark classmark = { // TODO diff --git a/tests/msc_vlr/msc_vlr_test_hlr_reject.c b/tests/msc_vlr/msc_vlr_test_hlr_reject.c index 1134d89..45aaa8c 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_reject.c +++ b/tests/msc_vlr/msc_vlr_test_hlr_reject.c @@ -22,7 +22,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" static void test_hlr_rej_auth_info_unknown_imsi() { diff --git a/tests/msc_vlr/msc_vlr_test_hlr_timeout.c b/tests/msc_vlr/msc_vlr_test_hlr_timeout.c index af5441b..abc7c5b 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_timeout.c +++ b/tests/msc_vlr/msc_vlr_test_hlr_timeout.c @@ -22,7 +22,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" #include diff --git a/tests/msc_vlr/msc_vlr_test_ms_timeout.c b/tests/msc_vlr/msc_vlr_test_ms_timeout.c index 450909f..91f00ef 100644 --- a/tests/msc_vlr/msc_vlr_test_ms_timeout.c +++ b/tests/msc_vlr/msc_vlr_test_ms_timeout.c @@ -22,7 +22,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" static void test_ms_timeout_lu_auth_resp() { diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.c b/tests/msc_vlr/msc_vlr_test_no_authen.c index b3289f3..ae77252 100644 --- a/tests/msc_vlr/msc_vlr_test_no_authen.c +++ b/tests/msc_vlr/msc_vlr_test_no_authen.c @@ -22,7 +22,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" static void test_no_authen() { diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.c b/tests/msc_vlr/msc_vlr_test_reject_concurrency.c index 7eaedb2..fe53469 100644 --- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.c +++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.c @@ -22,7 +22,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" static void test_reject_2nd_conn() { diff --git a/tests/msc_vlr/msc_vlr_test_rest.c b/tests/msc_vlr/msc_vlr_test_rest.c index 620652c..1b998ad 100644 --- a/tests/msc_vlr/msc_vlr_test_rest.c +++ b/tests/msc_vlr/msc_vlr_test_rest.c @@ -22,7 +22,7 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" + #include #if 0 diff --git a/tests/msc_vlr/msc_vlr_test_ss.c b/tests/msc_vlr/msc_vlr_test_ss.c index e4b3a4e..978ceae 100644 --- a/tests/msc_vlr/msc_vlr_test_ss.c +++ b/tests/msc_vlr/msc_vlr_test_ss.c @@ -21,7 +21,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" #define IMSI "901700000004620" diff --git a/tests/msc_vlr/msc_vlr_test_umts_authen.c b/tests/msc_vlr/msc_vlr_test_umts_authen.c index cb8a032..a89b0d1 100644 --- a/tests/msc_vlr/msc_vlr_test_umts_authen.c +++ b/tests/msc_vlr/msc_vlr_test_umts_authen.c @@ -22,7 +22,6 @@ */ #include "msc_vlr_tests.h" -#include "stubs.h" static void _test_umts_authen(enum osmo_rat_type via_ran) { diff --git a/tests/msc_vlr/stubs.h b/tests/stubs.c similarity index 96% rename from tests/msc_vlr/stubs.h rename to tests/stubs.c index bf55baa..d011a31 100644 --- a/tests/msc_vlr/stubs.h +++ b/tests/stubs.c @@ -18,6 +18,9 @@ * */ +#include +#include + void osmo_stream_srv_link_set_data(struct osmo_stream_srv_link *link, void *data) {} struct osmo_fd *osmo_stream_srv_get_ofd(struct osmo_stream_srv *srv) { return NULL; } void osmo_stream_srv_destroy(struct osmo_stream_srv *conn) {} -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8846c940f2695fd33e1007fecac83e73f508bb34 Gerrit-Change-Number: 14352 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte 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 3 15:05:42 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 15:05:42 +0000 Subject: Change in ...osmo-msc[master]: Introduce initial unit test for db_sms_* API In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/13629 ) Change subject: Introduce initial unit test for db_sms_* API ...................................................................... Introduce initial unit test for db_sms_* API Since OsmoMSC has built-in SMSC, it needs to store the messages somewhere. Currently we use libdbi and SQLite3 back-end for that. For a long time, the db_sms_* API remained uncovered by unit tests. This change aims to fix that, and does cover the following calls: - db_sms_store(), - db_sms_get(), - db_sms_get_next_unsent(), - db_sms_mark_delivered(), - db_sms_delete_sent_message_by_id(), - db_sms_delete_by_msisdn(), - db_sms_delete_oldest_expired_message(). Due to performance reasons, the test database is initialized in RAM using the magic filename ':memory:'. This is a feature of SQLite3 (and not libdbi), see: https://www.sqlite.org/inmemorydb.html Of course, this unit test helped to discover some problems: 1) Storing an SMS with empty TP-User-Data (TP-UDL=0) causes buffer overruns in both db_sms_store() and db_sms_get(). 2) TP-User-Data-Length is always being interpreted in octets, regardless of DCS (Data Coding Scheme). This results in storing garbage in the database if the default 7-bit encoding is used. Fortunately, the 'user_data' buffer in structure 'gsm_sms' is large emough, so we don't experience buffer overruns. 3) db_sms_delete_oldest_expired_message() doesn't work as expected. Instead of removing the *oldest* expired message, it tries to remove the *newest* one. The current test expectations do reflect these problems. All of them will be fixed in the follow-up patches. Change-Id: Id94ad35b6f78f839137db2e17010fbf9b40111a3 --- M configure.ac M src/libmsc/db.c M tests/Makefile.am A tests/db_sms/Makefile.am A tests/db_sms/db_sms_test.c A tests/db_sms/db_sms_test.err A tests/db_sms/db_sms_test.ok M tests/testsuite.at 8 files changed, 714 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 36ff99e..a2dfa5b 100644 --- a/configure.ac +++ b/configure.ac @@ -251,6 +251,7 @@ tests/Makefile tests/atlocal tests/smpp/Makefile + tests/db_sms/Makefile tests/sms_queue/Makefile tests/msc_vlr/Makefile doc/Makefile diff --git a/src/libmsc/db.c b/src/libmsc/db.c index c2d8339..b564697 100644 --- a/src/libmsc/db.c +++ b/src/libmsc/db.c @@ -772,7 +772,10 @@ daddr = dbi_result_get_string(result, "dest_addr"); if (daddr) OSMO_STRLCPY_ARRAY(sms->dst.addr, daddr); - sms->receiver = vlr_subscr_find_by_msisdn(net->vlr, sms->dst.addr, VSUB_USE_SMS_RECEIVER); + + if (net != NULL) /* db_sms_test passes NULL, so we need to be tolerant */ + sms->receiver = vlr_subscr_find_by_msisdn(net->vlr, sms->dst.addr, + VSUB_USE_SMS_RECEIVER); sms->src.npi = dbi_result_get_ulonglong(result, "src_npi"); sms->src.ton = dbi_result_get_ulonglong(result, "src_ton"); diff --git a/tests/Makefile.am b/tests/Makefile.am index ee4f47a..1fad552 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,6 +1,7 @@ SUBDIRS = \ sms_queue \ msc_vlr \ + db_sms \ $(NULL) if BUILD_SMPP diff --git a/tests/db_sms/Makefile.am b/tests/db_sms/Makefile.am new file mode 100644 index 0000000..4e85067 --- /dev/null +++ b/tests/db_sms/Makefile.am @@ -0,0 +1,51 @@ +AM_CPPFLAGS = \ + $(all_includes) \ + -I$(top_srcdir)/include \ + $(NULL) + +AM_CFLAGS = \ + -Wall \ + -ggdb3 \ + $(LIBOSMOCORE_CFLAGS) \ + $(LIBOSMOGSM_CFLAGS) \ + $(LIBASN1C_CFLAGS) \ + $(LIBOSMOVTY_CFLAGS) \ + $(LIBOSMOABIS_CFLAGS) \ + $(LIBOSMOSIGTRAN_CFLAGS) \ + $(LIBOSMORANAP_CFLAGS) \ + $(LIBOSMONETIF_CFLAGS) \ + $(LIBSMPP34_CFLAGS) \ + $(LIBOSMOMGCPCLIENT_CFLAGS) \ + $(LIBOSMOGSUPCLIENT_CFLAGS) \ + $(NULL) + +EXTRA_DIST = \ + db_sms_test.ok \ + db_sms_test.err \ + $(NULL) + +noinst_PROGRAMS = \ + db_sms_test \ + $(NULL) + +db_sms_test_SOURCES = \ + db_sms_test.c \ + $(srcdir)/../stubs.c \ + $(NULL) + +db_sms_test_LDADD = \ + $(top_builddir)/src/libmsc/libmsc.a \ + $(top_builddir)/src/libvlr/libvlr.a \ + $(LIBSMPP34_LIBS) \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOVTY_LIBS) \ + $(LIBOSMOABIS_LIBS) \ + $(LIBOSMOSIGTRAN_LIBS) \ + $(LIBOSMORANAP_LIBS) \ + $(LIBASN1C_LIBS) \ + $(LIBOSMOMGCPCLIENT_LIBS) \ + $(LIBOSMOGSUPCLIENT_LIBS) \ + $(LIBRARY_GSM) \ + -ldbi \ + $(NULL) diff --git a/tests/db_sms/db_sms_test.c b/tests/db_sms/db_sms_test.c new file mode 100644 index 0000000..93aed2b --- /dev/null +++ b/tests/db_sms/db_sms_test.c @@ -0,0 +1,580 @@ +/* + * Test the storage API of the internal SMS Centre. + * + * (C) 2019 by Vadim Yanitskiy + * + * 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 + +/* Talloc context of this unit test */ +static void *talloc_ctx = NULL; + +static const struct sms_tp_ud { + /* Data Coding Scheme */ + uint8_t dcs; + /* TP User-Data-Length (depends on DCS) */ + uint8_t length; + /* Static TP User-Data filler (0 means disabled) */ + uint8_t filler_byte; + /* TP User-Data */ + uint8_t data[GSM340_UDL_OCT_MAX]; + /* Decoded text (for 7-bit default alphabet only) */ + char dec_text[GSM340_UDL_SPT_MAX + 1]; +} sms_tp_ud_set[] = { + { + .dcs = 0x00, /* Default GSM 7-bit alphabet */ + .length = 9, /* in septets */ + .dec_text = "Mahlzeit!", + .data = { + 0xcd, 0x30, 0x9a, 0xad, 0x2f, 0xa7, 0xe9, 0x21, + }, + }, + { + .dcs = 0x08, /* UCS-2 (16-bit) / UTF-16 */ + .length = 120, /* in octets */ + .data = { + 0x04, 0x23, 0x04, 0x32, 0x04, 0x30, 0x04, 0x36, + 0x04, 0x30, 0x04, 0x35, 0x04, 0x3c, 0x04, 0x4b, + 0x04, 0x39, 0x00, 0x20, 0x04, 0x3a, 0x04, 0x3b, + 0x04, 0x38, 0x04, 0x35, 0x04, 0x3d, 0x04, 0x42, + 0x00, 0x21, 0x00, 0x20, 0x04, 0x1d, 0x04, 0x30, + 0x04, 0x41, 0x04, 0x42, 0x04, 0x40, 0x04, 0x3e, + 0x04, 0x39, 0x04, 0x3a, 0x04, 0x38, 0x00, 0x20, + 0x00, 0x49, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x6e, 0x00, 0x65, 0x00, 0x74, + 0x00, 0x20, 0x04, 0x38, 0x00, 0x20, 0x00, 0x4d, + 0x00, 0x4d, 0x00, 0x53, 0x00, 0x20, 0x04, 0x31, + 0x04, 0x43, 0x04, 0x34, 0x04, 0x43, 0x04, 0x42, + 0x00, 0x20, 0x04, 0x34, 0x04, 0x3e, 0x04, 0x41, + 0x04, 0x42, 0x04, 0x30, 0x04, 0x32, 0x04, 0x3b, + 0x04, 0x35, 0x04, 0x3d, 0x04, 0x4b, 0x00, 0x2e, + }, + }, + { + .dcs = 0x04, /* 8-bit data */ + .length = 12, /* in octets */ + .data = { + /* User-Data-Header */ + 0x1e, /* Buffer-overflow! (should be 0x05) */ + /* Concatenated SM, 8-bit reference number */ + 0x00, 0x03, 0x5a, 0x05, 0x01, + + /* Dummy payload... */ + 0x05, 0x04, 0x0b, 0x84, 0x0b, 0x84, + }, + }, + { + .dcs = 0x00, /* Default GSM 7-bit alphabet */ + .length = 160, /* maximum, in septets */ + .filler_byte = 0x41, + }, + { + .dcs = 0x04, /* 8-bit data */ + .length = 140, /* maximum, in octets */ + .filler_byte = 0x42, + }, + { + .dcs = 0x00, /* Default GSM 7-bit alphabet */ + .length = 200, /* invalid, buffer overflow */ + .filler_byte = 0x41, + }, + { + .dcs = 0x04, /* 8-bit data */ + .length = 0xff, /* invalid, buffer overflow */ + .filler_byte = 0x42, + }, +}; + +#define SMS_ADDR(addr) \ + { 0x00, 0x00, addr } + +static struct sms_test { + /* Human-readable name of particular test message */ + const char *name; + /* Whether we expect db_sms_store() to fail */ + bool exp_db_sms_store_fail; + /* Whether we expect db_sms_get() to fail */ + bool exp_db_sms_get_fail; + /* SM TP-User-Data from sms_tp_ud_set[] */ + const struct sms_tp_ud *ud; + /* The message itself */ + struct gsm_sms sms; +} sms_test_set[] = { + { + .name = "Regular MO SMS", + .sms = { + .msg_ref = 0xde, + .src = SMS_ADDR("123456"), + .dst = SMS_ADDR("654321"), + .validity_minutes = 10, + .protocol_id = 0x00, + /* SM TP-User-Data is taken from sms_tp_ud_set[] */ + }, + .ud = &sms_tp_ud_set[0], + }, + { + .name = "Regular MT SMS", + .sms = { + .msg_ref = 0xbe, + .src = SMS_ADDR("654321"), + .dst = SMS_ADDR("123456"), + .validity_minutes = 180, + .protocol_id = 0x00, + /* SM TP-User-Data is taken from sms_tp_ud_set[] */ + }, + .ud = &sms_tp_ud_set[1], + }, + { + .name = "Complete TP-UD (160 septets, 7-bit encoding)", + .sms = { + .msg_ref = 0xee, + .src = SMS_ADDR("266753837248772"), + .dst = SMS_ADDR("266753837248378"), + .validity_minutes = 360, + .protocol_id = 0x00, + /* SM TP-User-Data is taken from sms_tp_ud_set[] */ + }, + .ud = &sms_tp_ud_set[3], + }, + { + .name = "Complete TP-UD (140 octets, 8-bit encoding)", + .sms = { + .msg_ref = 0xee, + .src = SMS_ADDR("266753838248772"), + .dst = SMS_ADDR("266753838248378"), + .validity_minutes = 360, + .protocol_id = 0xaa, + /* SM TP-User-Data is taken from sms_tp_ud_set[] */ + }, + .ud = &sms_tp_ud_set[4], + }, + { + .name = "TP-UD buffer overflow (UDH-Length > UD-Length)", + .sms = { + .msg_ref = 0x88, + .src = SMS_ADDR("834568373569772"), + .dst = SMS_ADDR("834568373569378"), + .validity_minutes = 200, + .protocol_id = 0xbb, + .ud_hdr_ind = 0x01, + /* SM TP-User-Data is taken from sms_tp_ud_set[] */ + }, + .ud = &sms_tp_ud_set[2], + }, + { + .name = "Truncated TP-UD (200 septets, 7-bit encoding)", + .sms = { + .msg_ref = 0xee, + .src = { 0x01, 0x00, "8786228337248772" }, + .dst = { 0x00, 0x01, "8786228337248378" }, + .validity_minutes = 360, + .protocol_id = 0xcc, + /* SM TP-User-Data is taken from sms_tp_ud_set[] */ + }, + .ud = &sms_tp_ud_set[5], + }, + { + .name = "Truncated TP-UD (255 octets, 8-bit encoding)", + .sms = { + .msg_ref = 0xee, + .src = { 0x01, 0x01, "8786228338248772" }, + .dst = { 0xaa, 0xff, "8786228338248378" }, + .validity_minutes = 360, + .protocol_id = 0xbb, + /* SM TP-User-Data is taken from sms_tp_ud_set[] */ + }, + .ud = &sms_tp_ud_set[6], + }, + { + .name = "Same MSISDN #1", + .sms = { + .msg_ref = 0x11, + .src = SMS_ADDR("72631"), + .dst = SMS_ADDR("72632"), + .validity_minutes = 10, + /* SM TP-User-Data is taken from sms_tp_ud_set[] */ + }, + .ud = &sms_tp_ud_set[0], + }, + { + .name = "Same MSISDN #2", + .sms = { + .msg_ref = 0x12, + .src = SMS_ADDR("72632"), + .dst = SMS_ADDR("72631"), + .validity_minutes = 10, + /* SM TP-User-Data is taken from sms_tp_ud_set[] */ + }, + .ud = &sms_tp_ud_set[0], + }, + { + .name = "Expired SMS", + .sms = { + .msg_ref = 0xde, + .src = SMS_ADDR("3974733772"), + .dst = SMS_ADDR("3974733378"), + .validity_minutes = 0, + /* SM TP-User-Data is taken from sms_tp_ud_set[] */ + }, + .ud = &sms_tp_ud_set[0], + }, +#if 0 + /* FIXME: there is a bug that causes ASAN / Valgrind to complain */ + { + .name = "Empty TP-UD", + .sms = { + .msg_ref = 0x38, + .src = SMS_ADDR("3678983772"), + .dst = SMS_ADDR("3678983378"), + .validity_minutes = 450, + .is_report = true, + .reply_path_req = 0x01, + .status_rep_req = 0x01, + .protocol_id = 0x55, + .data_coding_scheme = 0x08, + .ud_hdr_ind = 0x00, + .user_data_len = 0x00, + /* No TP-User-Data */ + }, + .ud = NULL, + }, +#endif +}; + +static void prepare_sms_test_set(void) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(sms_test_set); i++) { + struct sms_test *test = &sms_test_set[i]; + const struct sms_tp_ud *ud = test->ud; + + /* ID auto-increment */ + test->sms.id = i + 1; + + if (ud == NULL) + continue; + + test->sms.data_coding_scheme = ud->dcs; + test->sms.user_data_len = ud->length; + + if (ud->filler_byte) { + memset(test->sms.user_data, ud->filler_byte, + sizeof(test->sms.user_data)); + } else { + memcpy(test->sms.user_data, ud->data, sizeof(ud->data)); + if (ud->dec_text[0] != '\0') + strcpy(test->sms.text, ud->dec_text); + } + } +} + +static void test_db_sms_store(void) +{ + int rc, i; + + LOGP(DDB, LOGL_INFO, "Testing db_sms_store()...\n"); + + /* Store test SMS messages */ + for (i = 0; i < ARRAY_SIZE(sms_test_set); i++) { + struct sms_test *test = &sms_test_set[i]; + + LOGP(DDB, LOGL_NOTICE, "%s('%s'): ", __func__, test->name); + + rc = db_sms_store(&test->sms); + if (!test->exp_db_sms_store_fail && rc == 0) + LOGPC(DDB, LOGL_INFO, "success, as expected\n"); + else if (test->exp_db_sms_store_fail && rc != 0) + LOGPC(DDB, LOGL_INFO, "failure, as expected\n"); + else + LOGPC(DDB, LOGL_ERROR, "unexpected rc=%d\n", rc); + } +} + +static int verify_sms(const struct sms_test *test, const struct gsm_sms *sms) +{ + int rc; + + LOGP(DDB, LOGL_NOTICE, "%s('%s'): ", __func__, test->name); + +#define MATCH_SMS_ADDR(ADDR) \ + if (strcmp(sms->ADDR.addr, test->sms.ADDR.addr) \ + || sms->ADDR.npi != test->sms.ADDR.npi \ + || sms->ADDR.ton != test->sms.ADDR.ton) { \ + LOGPC(DDB, LOGL_ERROR, #ADDR " address mismatch\n"); \ + return -EINVAL; \ + } + + MATCH_SMS_ADDR(src); + MATCH_SMS_ADDR(dst); + +#define MATCH_SMS_PARAM(PARAM, FMT) \ + if (sms->PARAM != test->sms.PARAM) { \ + LOGPC(DDB, LOGL_ERROR, \ + #PARAM " mismatch: E%" FMT " vs A%" FMT "\n", \ + test->sms.PARAM, sms->PARAM); \ + return -EINVAL; \ + } + + MATCH_SMS_PARAM(id, "llu"); + MATCH_SMS_PARAM(validity_minutes, "lu"); + MATCH_SMS_PARAM(is_report, "i"); + MATCH_SMS_PARAM(reply_path_req, PRIu8); + MATCH_SMS_PARAM(status_rep_req, PRIu8); + MATCH_SMS_PARAM(ud_hdr_ind, PRIu8); + MATCH_SMS_PARAM(protocol_id, PRIu8); + MATCH_SMS_PARAM(data_coding_scheme, PRIu8); + MATCH_SMS_PARAM(msg_ref, PRIu8); + MATCH_SMS_PARAM(user_data_len, PRIu8); + + /* Compare TP-User-Data */ + rc = memcmp(sms->user_data, test->sms.user_data, + sizeof(sms->user_data)); + if (rc) { + LOGPC(DDB, LOGL_ERROR, "TP-User-Data mismatch (diff=%d/%zu)\n", + rc, sizeof(sms->user_data)); + return -EINVAL; + } + + /* Compare decoded text */ + rc = strncmp(sms->text, test->sms.text, sizeof(sms->text)); + if (rc) { + LOGPC(DDB, LOGL_ERROR, "TP-User-Data (text) mismatch (diff=%d/%zu)\n", + rc, sizeof(sms->text)); + return -EINVAL; + } + + LOGPC(DDB, LOGL_NOTICE, "match\n"); + return 0; +} + +static void test_db_sms_get(void) +{ + struct gsm_sms *sms; + int i; + + LOGP(DDB, LOGL_INFO, "Testing db_sms_get()...\n"); + + /* Retrieve stored SMS messages */ + for (i = 0; i < ARRAY_SIZE(sms_test_set); i++) { + const struct sms_test *test = &sms_test_set[i]; + + LOGP(DDB, LOGL_NOTICE, "%s('%s'): ", __func__, test->name); + + sms = db_sms_get(NULL, test->sms.id); + if (!test->exp_db_sms_get_fail && sms != NULL) + LOGPC(DDB, LOGL_INFO, "success, as expected\n"); + else if (test->exp_db_sms_get_fail && sms == NULL) + LOGPC(DDB, LOGL_INFO, "failure, as expected\n"); + else + LOGPC(DDB, LOGL_ERROR, "unexpected result\n"); + + if (sms) { + verify_sms(test, sms); + talloc_free(sms); + } + } +} + +static void test_db_sms_delivery(void) +{ + struct gsm_sms *sms1, *sms2; + struct gsm_sms *sms; + int rc; + + LOGP(DDB, LOGL_INFO, "Testing db_sms_get_next_unsent() " + "and db_sms_mark_delivered()...\n"); + + /* Retrieve both #1 and #2 */ + sms1 = db_sms_get_next_unsent(NULL, 1, 0); + LOGP(DDB, LOGL_NOTICE, "db_sms_get_next_unsent(#1): %s\n", + sms1 ? "found" : "not found"); + if (sms1 != NULL) + verify_sms(&sms_test_set[0], sms1); + + sms2 = db_sms_get_next_unsent(NULL, 2, 0); + LOGP(DDB, LOGL_NOTICE, "db_sms_get_next_unsent(#2): %s\n", + sms2 ? "found" : "not found"); + if (sms2 != NULL) + verify_sms(&sms_test_set[1], sms2); + + /* Mark both #1 and #2 and delivered, release memory */ + if (sms1) { + LOGP(DDB, LOGL_DEBUG, "Marking #%llu as delivered: ", sms1->id); + rc = db_sms_mark_delivered(sms1); + LOGPC(DDB, LOGL_DEBUG, "rc=%d\n", rc); + talloc_free(sms1); + } + + if (sms2) { + LOGP(DDB, LOGL_DEBUG, "Marking #%llu as delivered: ", sms2->id); + rc = db_sms_mark_delivered(sms2); + LOGPC(DDB, LOGL_DEBUG, "rc=%d\n", rc); + talloc_free(sms2); + } + + /* Expect #3 as the next undelivered */ + sms = db_sms_get_next_unsent(NULL, 1, 0); + LOGP(DDB, LOGL_NOTICE, "db_sms_get_next_unsent(starting from #1): %s\n", + sms ? "found" : "not found"); + if (sms) { + verify_sms(&sms_test_set[2], sms); + talloc_free(sms); + } +} + +static void test_db_sms_delete(void) +{ + int rc; + + LOGP(DDB, LOGL_INFO, "Testing db_sms_delete_sent_message_by_id()...\n"); + + /* Delete #1, which is marked as sent */ + LOGP(DDB, LOGL_NOTICE, "db_sms_delete_sent_message_by_id(#1, sent): "); + rc = db_sms_delete_sent_message_by_id(1); + LOGPC(DDB, LOGL_NOTICE, "rc=%d\n", rc); + /* Don't expect to retrieve this message anymore */ + sms_test_set[0].exp_db_sms_get_fail = true; + + /* Try to delete #3, which is not marked as sent */ + LOGP(DDB, LOGL_NOTICE, "db_sms_delete_sent_message_by_id(#3, not sent): "); + rc = db_sms_delete_sent_message_by_id(3); + LOGPC(DDB, LOGL_NOTICE, "rc=%d\n", rc); + /* Do expect to retrieve this message anyway */ + sms_test_set[2].exp_db_sms_get_fail = false; + + LOGP(DDB, LOGL_INFO, "Testing db_sms_delete_by_msisdn()...\n"); + + LOGP(DDB, LOGL_NOTICE, "db_sms_delete_by_msisdn('72631'): "); + rc = db_sms_delete_by_msisdn("72631"); + LOGPC(DDB, LOGL_NOTICE, "rc=%d\n", rc); + + /* Don't expect both #8 and #9 anymore */ + sms_test_set[7].exp_db_sms_get_fail = true; + sms_test_set[8].exp_db_sms_get_fail = true; + + LOGP(DDB, LOGL_INFO, "Testing db_sms_delete_oldest_expired_message()...\n"); + + LOGP(DDB, LOGL_NOTICE, "db_sms_delete_oldest_expired_message()\n"); + db_sms_delete_oldest_expired_message(); + + /* Don't expect #10 anymore */ + sms_test_set[9].exp_db_sms_get_fail = true; + + /* We need to make sure that we removed exactly what we expected to remove */ + LOGP(DDB, LOGL_INFO, "Expectations updated, retrieving all messages again\n"); + test_db_sms_get(); +} + +static struct log_info_cat db_sms_test_categories[] = { + [DDB] = { + .name = "DDB", + .description = "Database Layer", + .enabled = 1, .loglevel = LOGL_DEBUG, + }, +}; + +static struct log_info info = { + .cat = db_sms_test_categories, + .num_cat = ARRAY_SIZE(db_sms_test_categories), +}; + +int main(int argc, char **argv) +{ + void *logging_ctx; + int rc; + + /* Track the use of talloc NULL memory contexts */ + talloc_enable_null_tracking(); + + talloc_ctx = talloc_named_const(NULL, 0, "db_sms_test"); + logging_ctx = talloc_named_const(talloc_ctx, 0, "logging"); + osmo_init_logging2(logging_ctx, &info); + + OSMO_ASSERT(osmo_stderr_target); + log_set_use_color(osmo_stderr_target, 0); + log_set_print_timestamp(osmo_stderr_target, 0); + log_set_print_filename(osmo_stderr_target, 0); + log_set_print_category(osmo_stderr_target, 1); + log_set_print_level(osmo_stderr_target, 1); + +#if 0 + /* Having the database stored in a regular file may be useful + * for debugging, but this comes at the price of performance. */ + FILE *dbf = fopen("db_sms_test.db", "wb"); + OSMO_ASSERT(dbf != NULL); + fclose(dbf); +#endif + + /* Init a volatile database in RAM */ + LOGP(DDB, LOGL_DEBUG, "Init a new database\n"); + + /* HACK: db_init() prints libdbi version using LOGL_NOTICE, so + * the test output is not deterministic. Let's suppress this + * message by increasing the log level to LOGL_ERROR. */ + log_parse_category_mask(osmo_stderr_target, "DDB,7"); + rc = db_init(":memory:"); + OSMO_ASSERT(rc == 0); + + /* HACK: relax log level back to LOGL_DEBUG (see note above) */ + log_parse_category_mask(osmo_stderr_target, "DDB,1"); + + /* Prepare some tables */ + rc = db_prepare(); + OSMO_ASSERT(rc == 0); + LOGP(DDB, LOGL_DEBUG, "Init complete\n"); + + /* Prepare the test set */ + prepare_sms_test_set(); + + test_db_sms_store(); + test_db_sms_get(); + + test_db_sms_delivery(); + test_db_sms_delete(); + + /* Close the database */ + db_fini(); + + /* Deinit logging */ + log_fini(); + + /* Check for memory leaks */ + rc = talloc_total_blocks(talloc_ctx); + OSMO_ASSERT(rc == 2); /* db_sms_test + logging */ + talloc_free(talloc_ctx); + + talloc_report_full(NULL, stderr); + talloc_disable_null_tracking(); + + return 0; +} diff --git a/tests/db_sms/db_sms_test.err b/tests/db_sms/db_sms_test.err new file mode 100644 index 0000000..73dbd8e --- /dev/null +++ b/tests/db_sms/db_sms_test.err @@ -0,0 +1,70 @@ +DDB DEBUG Init a new database +DDB DEBUG Init complete +DDB INFO Testing db_sms_store()... +DDB NOTICE test_db_sms_store('Regular MO SMS'): success, as expected +DDB NOTICE test_db_sms_store('Regular MT SMS'): success, as expected +DDB NOTICE test_db_sms_store('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected +DDB NOTICE test_db_sms_store('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected +DDB NOTICE test_db_sms_store('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected +DDB NOTICE test_db_sms_store('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected +DDB NOTICE test_db_sms_store('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected +DDB NOTICE test_db_sms_store('Same MSISDN #1'): success, as expected +DDB NOTICE test_db_sms_store('Same MSISDN #2'): success, as expected +DDB NOTICE test_db_sms_store('Expired SMS'): success, as expected +DDB INFO Testing db_sms_get()... +DDB NOTICE test_db_sms_get('Regular MO SMS'): success, as expected +DDB NOTICE verify_sms('Regular MO SMS'): match +DDB NOTICE test_db_sms_get('Regular MT SMS'): success, as expected +DDB NOTICE verify_sms('Regular MT SMS'): match +DDB NOTICE test_db_sms_get('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB NOTICE test_db_sms_get('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-66/256) +DDB NOTICE test_db_sms_get('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected +DDB NOTICE verify_sms('TP-UD buffer overflow (UDH-Length > UD-Length)'): match +DDB NOTICE test_db_sms_get('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-16896/256) +DDB NOTICE test_db_sms_get('Same MSISDN #1'): success, as expected +DDB NOTICE verify_sms('Same MSISDN #1'): match +DDB NOTICE test_db_sms_get('Same MSISDN #2'): success, as expected +DDB NOTICE verify_sms('Same MSISDN #2'): match +DDB NOTICE test_db_sms_get('Expired SMS'): success, as expected +DDB NOTICE verify_sms('Expired SMS'): match +DDB INFO Testing db_sms_get_next_unsent() and db_sms_mark_delivered()... +DDB NOTICE db_sms_get_next_unsent(#1): found +DDB NOTICE verify_sms('Regular MO SMS'): match +DDB NOTICE db_sms_get_next_unsent(#2): found +DDB NOTICE verify_sms('Regular MT SMS'): match +DDB DEBUG Marking #1 as delivered: rc=0 +DDB DEBUG Marking #2 as delivered: rc=0 +DDB NOTICE db_sms_get_next_unsent(starting from #1): found +DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB INFO Testing db_sms_delete_sent_message_by_id()... +DDB NOTICE db_sms_delete_sent_message_by_id(#1, sent): rc=0 +DDB NOTICE db_sms_delete_sent_message_by_id(#3, not sent): rc=0 +DDB INFO Testing db_sms_delete_by_msisdn()... +DDB NOTICE db_sms_delete_by_msisdn('72631'): rc=0 +DDB INFO Testing db_sms_delete_oldest_expired_message()... +DDB NOTICE db_sms_delete_oldest_expired_message() +DDB INFO Expectations updated, retrieving all messages again +DDB INFO Testing db_sms_get()... +DDB NOTICE test_db_sms_get('Regular MO SMS'): failure, as expected +DDB NOTICE test_db_sms_get('Regular MT SMS'): success, as expected +DDB NOTICE verify_sms('Regular MT SMS'): match +DDB NOTICE test_db_sms_get('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB NOTICE test_db_sms_get('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-66/256) +DDB NOTICE test_db_sms_get('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected +DDB NOTICE verify_sms('TP-UD buffer overflow (UDH-Length > UD-Length)'): match +DDB NOTICE test_db_sms_get('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-16896/256) +DDB NOTICE test_db_sms_get('Same MSISDN #1'): failure, as expected +DDB NOTICE test_db_sms_get('Same MSISDN #2'): failure, as expected +DDB NOTICE test_db_sms_get('Expired SMS'): unexpected result +DDB NOTICE verify_sms('Expired SMS'): match +full talloc report on 'null_context' (total 0 bytes in 1 blocks) diff --git a/tests/db_sms/db_sms_test.ok b/tests/db_sms/db_sms_test.ok new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/db_sms/db_sms_test.ok diff --git a/tests/testsuite.at b/tests/testsuite.at index f27b60c..cd01bf1 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -16,6 +16,13 @@ AT_CHECK([$abs_top_builddir/tests/sms_queue/sms_queue_test], [], [expout], [experr]) AT_CLEANUP +AT_SETUP([db_sms_test]) +AT_KEYWORDS([db_sms_test]) +cat $abs_srcdir/db_sms/db_sms_test.ok > expout +cat $abs_srcdir/db_sms/db_sms_test.err > experr +AT_CHECK([$abs_top_builddir/tests/db_sms/db_sms_test], [], [expout], [experr]) +AT_CLEANUP + AT_SETUP([msc_vlr_test_no_authen]) AT_KEYWORDS([msc_vlr_test_no_authen]) cat $abs_srcdir/msc_vlr/msc_vlr_test_no_authen.ok > expout -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id94ad35b6f78f839137db2e17010fbf9b40111a3 Gerrit-Change-Number: 13629 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Max Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 15:05:43 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 15:05:43 +0000 Subject: Change in ...osmo-msc[master]: libmsc/db.c: fix storing SMS with empty TP-User-Data In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/13630 ) Change subject: libmsc/db.c: fix storing SMS with empty TP-User-Data ...................................................................... libmsc/db.c: fix storing SMS with empty TP-User-Data Thanks to db_sms_test, it was discovered that storing an SMS with empty TP-User-Data (TP-UDL=1) causes buffer overruns in libdbi and it's SQLite3 driver (libdbdsqlite3): DDB NOTICE test_db_sms_store('Empty TP-UD'): ==7791== Invalid write of size 2 ==7791== at 0x857DC60: dbd_quote_binary (in /usr/lib/x86_64-linux-gnu/dbd/libdbdsqlite3.so) ==7791== by 0x5B2B321: dbi_conn_quote_binary_copy (in /usr/lib/x86_64-linux-gnu/libdbi.so.1.1.0) ==7791== by 0x4073B1: db_sms_store (db.c:701) ==7791== by 0x405BB5: test_db_sms_store (db_sms_test.c:310) ==7791== by 0x405BB5: main (db_sms_test.c:546) ==7791== Address 0x7ed1cf0 is 0 bytes after a block of size 0 alloc'd ==7791== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==7791== by 0x857DC4B: dbd_quote_binary (in /usr/lib/x86_64-linux-gnu/dbd/libdbdsqlite3.so) ==7791== by 0x5B2B321: dbi_conn_quote_binary_copy (in /usr/lib/x86_64-linux-gnu/libdbi.so.1.1.0) ==7791== by 0x4073B1: db_sms_store (db.c:701) ==7791== by 0x405BB5: test_db_sms_store (db_sms_test.c:310) ==7791== by 0x405BB5: main (db_sms_test.c:546) ... DDB NOTICE test_db_sms_get('Empty TP-UD'): ==8051== Invalid read of size 1 ==8051== at 0x5B30510: _dbd_decode_binary (in /usr/lib/x86_64-linux-gnu/libdbi.so.1.1.0) ==8051== by 0x857D957: dbd_fetch_row (in /usr/lib/x86_64-linux-gnu/dbd/libdbdsqlite3.so) ==8051== by 0x5B2C86E: dbi_result_seek_row (in /usr/lib/x86_64-linux-gnu/libdbi.so.1.1.0) ==8051== by 0x40828F: next_row (db.c:188) ==8051== by 0x40828F: db_sms_get (db.c:805) ==8051== by 0x406C29: test_db_sms_get (db_sms_test.c:390) ==8051== by 0x405C14: main (db_sms_test.c:547) ==8051== Address 0x8f74641 is 0 bytes after a block of size 1 alloc'd ==8051== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==8051== by 0x5DBEB49: strdup (strdup.c:42) ==8051== by 0x857D93C: dbd_fetch_row (in /usr/lib/x86_64-linux-gnu/dbd/libdbdsqlite3.so) ==8051== by 0x5B2C86E: dbi_result_seek_row (in /usr/lib/x86_64-linux-gnu/libdbi.so.1.1.0) ==8051== by 0x40828F: next_row (db.c:188) ==8051== by 0x40828F: db_sms_get (db.c:805) ==8051== by 0x406C29: test_db_sms_get (db_sms_test.c:390) ==8051== by 0x405C14: main (db_sms_test.c:547) ==8051== success, as expected DDB NOTICE verify_sms('Empty TP-UD'): user_data_len mismatch: E0 vs A3 Apparently, dbi_conn_quote_binary_copy() doesn't properly handle zero-length input. Let's guard against this. Observed with: - libdbi-dev 0.9.0-1 - libdbd-sqlite3:amd64 0.9.0-2ubuntu2 Change-Id: If0b2bb557118c5f0e520a2e6c2816336f6028661 --- M src/libmsc/db.c M tests/db_sms/db_sms_test.c M tests/db_sms/db_sms_test.err 3 files changed, 14 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/src/libmsc/db.c b/src/libmsc/db.c index b564697..add6304 100644 --- a/src/libmsc/db.c +++ b/src/libmsc/db.c @@ -695,14 +695,20 @@ { dbi_result result; char *q_text, *q_daddr, *q_saddr; - unsigned char *q_udata; + unsigned char *q_udata = NULL; time_t now, validity_timestamp; dbi_conn_quote_string_copy(conn, (char *)sms->text, &q_text); dbi_conn_quote_string_copy(conn, (char *)sms->dst.addr, &q_daddr); dbi_conn_quote_string_copy(conn, (char *)sms->src.addr, &q_saddr); - dbi_conn_quote_binary_copy(conn, sms->user_data, sms->user_data_len, - &q_udata); + + /* Guard against zero-length input, as this may cause + * buffer overruns in libdbi / libdbdsqlite3. */ + if (sms->user_data_len > 0) { + dbi_conn_quote_binary_copy(conn, sms->user_data, + sms->user_data_len, + &q_udata); + } now = time(NULL); validity_timestamp = now + sms->validity_minutes * 60; diff --git a/tests/db_sms/db_sms_test.c b/tests/db_sms/db_sms_test.c index 93aed2b..a97f7c7 100644 --- a/tests/db_sms/db_sms_test.c +++ b/tests/db_sms/db_sms_test.c @@ -247,8 +247,6 @@ }, .ud = &sms_tp_ud_set[0], }, -#if 0 - /* FIXME: there is a bug that causes ASAN / Valgrind to complain */ { .name = "Empty TP-UD", .sms = { @@ -267,7 +265,6 @@ }, .ud = NULL, }, -#endif }; static void prepare_sms_test_set(void) diff --git a/tests/db_sms/db_sms_test.err b/tests/db_sms/db_sms_test.err index 73dbd8e..e0a329d 100644 --- a/tests/db_sms/db_sms_test.err +++ b/tests/db_sms/db_sms_test.err @@ -11,6 +11,7 @@ DDB NOTICE test_db_sms_store('Same MSISDN #1'): success, as expected DDB NOTICE test_db_sms_store('Same MSISDN #2'): success, as expected DDB NOTICE test_db_sms_store('Expired SMS'): success, as expected +DDB NOTICE test_db_sms_store('Empty TP-UD'): success, as expected DDB INFO Testing db_sms_get()... DDB NOTICE test_db_sms_get('Regular MO SMS'): success, as expected DDB NOTICE verify_sms('Regular MO SMS'): match @@ -32,6 +33,8 @@ DDB NOTICE verify_sms('Same MSISDN #2'): match DDB NOTICE test_db_sms_get('Expired SMS'): success, as expected DDB NOTICE verify_sms('Expired SMS'): match +DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected +DDB NOTICE verify_sms('Empty TP-UD'): match DDB INFO Testing db_sms_get_next_unsent() and db_sms_mark_delivered()... DDB NOTICE db_sms_get_next_unsent(#1): found DDB NOTICE verify_sms('Regular MO SMS'): match @@ -67,4 +70,6 @@ DDB NOTICE test_db_sms_get('Same MSISDN #2'): failure, as expected DDB NOTICE test_db_sms_get('Expired SMS'): unexpected result DDB NOTICE verify_sms('Expired SMS'): match +DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected +DDB NOTICE verify_sms('Empty TP-UD'): match full talloc report on 'null_context' (total 0 bytes in 1 blocks) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If0b2bb557118c5f0e520a2e6c2816336f6028661 Gerrit-Change-Number: 13630 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: Max Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 15:08:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 15:08:10 +0000 Subject: Change in ...osmo-bts[master]: common/bts.c: bts_supports_cm(): take care about GSM48_CMODE_SIGN In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14335 ) Change subject: common/bts.c: bts_supports_cm(): take care about GSM48_CMODE_SIGN ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8ea98a3eb9dc15a04f665596ee276883eb824b9a Gerrit-Change-Number: 14335 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Eric Wild Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Mon, 03 Jun 2019 15:08: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 3 15:08:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 15:08:12 +0000 Subject: Change in ...osmo-bts[master]: common/bts.c: bts_supports_cm(): take care about GSM48_CMODE_SIGN In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14335 ) Change subject: common/bts.c: bts_supports_cm(): take care about GSM48_CMODE_SIGN ...................................................................... common/bts.c: bts_supports_cm(): take care about GSM48_CMODE_SIGN At the moment, bts_supports_cm() is only called on reception of RSL Channel MODE MODIFY from the BSC. The idea is to check whether the indicated RSL channel mode is supported by a BTS model. RSL Channel MODE MODIFY message may indicate a channel in signalling mode, i.e. GSM48_CMODE_SIGN, which has always been rejected so far. Let's assume that signalling is always supported, as there is no special BTS_FEAT_* definition to check that. This change should make BTS_Tests.TC_rsl_modify_encr pass. Change-Id: I8ea98a3eb9dc15a04f665596ee276883eb824b9a --- M src/common/bts.c 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/bts.c b/src/common/bts.c index 97e7a8b..596e5e0 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -744,6 +744,11 @@ { enum gsm_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) + return 1; + /* Before the requested pchan/cm combination can be checked, we need to * convert it to a feature identifier we can check */ switch (pchan) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8ea98a3eb9dc15a04f665596ee276883eb824b9a Gerrit-Change-Number: 14335 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Eric Wild Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 15:09:14 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 15:09:14 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Start with a number of LAPDm tests In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14341 ) Change subject: bts: Start with a number of LAPDm tests ...................................................................... Patch Set 3: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/14341/3/bts/BTS_Tests_LAPDm.ttcn File bts/BTS_Tests_LAPDm.ttcn: https://gerrit.osmocom.org/#/c/14341/3/bts/BTS_Tests_LAPDm.ttcn at 39 PS3, Line 39: log("YYY stopped"); this shouldn't be here in the commit. Will remove it ASAP. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4e1136c0c0f10d5bc8d01e826ae5d92f17a0b2aa Gerrit-Change-Number: 14341 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Mon, 03 Jun 2019 15:09:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 15:09:40 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 15:09:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add TC_segm_concat to test segmentation+concatenation In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14342 ) Change subject: bts: Add TC_segm_concat to test segmentation+concatenation ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6a9ce3e27f4a01412186b3b5d8d2b86573b6f8ac Gerrit-Change-Number: 14342 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Mon, 03 Jun 2019 15: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 Mon Jun 3 15:09:57 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 15:09:57 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Also test SACCH in TC_segm_concat In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14343 ) Change subject: bts: Also test SACCH in TC_segm_concat ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If9b51b4d6c357aa015f31e1e6851d4d1bb71a58f Gerrit-Change-Number: 14343 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Mon, 03 Jun 2019 15:09:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 15:10:05 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 15:10:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RSL_Types: Fix definition of RLL ERROR INDICATION In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14345 ) Change subject: RSL_Types: Fix definition of RLL ERROR INDICATION ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If3b92ab475817922c05c9af691d9f79da33804ac Gerrit-Change-Number: 14345 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Mon, 03 Jun 2019 15:10:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 15:10:21 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 15:10:21 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add test for expiring T200 N200+1 times In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14346 ) Change subject: bts: Add test for expiring T200 N200+1 times ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9e1dbc889575f8952a4581551076829825b3b1cd Gerrit-Change-Number: 14346 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Mon, 03 Jun 2019 15:10:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 15:10:40 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 15:10:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Implement testcase for RR response frame loss In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14349 ) Change subject: bts: Implement testcase for RR response frame loss ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I32340fff6666fee0ebfb9b31b55e0982d0d917a1 Gerrit-Change-Number: 14349 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Mon, 03 Jun 2019 15:10:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 15:10:50 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 15:10:50 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add test csse for I frame with wrong C/R value In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14350 ) Change subject: bts: Add test csse for I frame with wrong C/R value ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I19e50049625bd31662a1e22b1394b69b2d249104 Gerrit-Change-Number: 14350 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Mon, 03 Jun 2019 15:10:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Jun 3 15:22:51 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 03 Jun 2019 15:22:51 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5cf53b666fadd_2441fa05f01317653@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 106s] #define VERSION "0.1.0" [ 106s] #define STDC_HEADERS 1 [ 106s] #[ 92.176189] serial8250: too much work for irq4 [ 106s] define HAVE_SYS_TYPES_H 1 [ 106s] #define HAVE_SYS_STAT_H 1 [ 106s] #define HAVE_STDLIB_H 1 [ 106s] #define HAVE_STRING_H 1 [ 106s] #define HAVE_MEMORY_H 1 [ 106s] #define HAVE_STRINGS_H 1 [ 106s] #define HAVE_INTTYPES_H 1 [ 106s] #define HAVE_STDINT_H 1 [ 106s] #define HAVE_UNISTD_H 1 [ 106s] #define HAVE_DLFCN_H 1 [ 106s] #define LT_OBJDIR ".libs/" [ 106s] [ 106s] configure: exit 1 [ 106s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 106s] make: *** [debian/rules:45: build] Error 2 [ 106s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 106s] [ 106s] lamb70 failed "build osmo-sysmon_0.1.0.dsc" at Mon Jun 3 15:22:43 UTC 2019. [ 106s] [ 106s] ### VM INTERACTION START ### [ 109s] [ 95.407993] sysrq: SysRq : Power Off [ 109s] [ 95.414353] reboot: Power down [ 109s] ### VM INTERACTION END ### [ 109s] [ 109s] lamb70 failed "build osmo-sysmon_0.1.0.dsc" at Mon Jun 3 15:22:47 UTC 2019. [ 109s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Jun 3 15:27:59 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 03 Jun 2019 15:27:59 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5cf53c9414ea1_2441fa05f0131896d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Testing/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 248s] | configure: exit 0 [ 248s] [ 248s] # -*- compilation -*- [ 248s] 4. testsuite.at:23: testing db ... [ 248s] ./testsuite.at:28: $abs_top_builddir/tests/db/db_test [ 248s] --- expout 2019-06-03 15:27:41.213881439 +0000 [ 248s] +++ /usr/src/packages/BUILD/openbsc/tests/testsuite.dir/at-groups/4/stdout 2019-06-03 15:27:41.433881444 +0000 [ 248s] @@ -1,4 +1,6 @@ [ 248s] Testing subscriber database code. [ 248s] DB: Database initialized. [ 248s] +no tables in statement ! [ 248s] +no tables in statement ! [ 248s] DB: Database prepared. [ 248s] Done [ 248s] 4. testsuite.at:23: 4. db (testsuite.at:23): FAILED (testsuite.at:28) [ 248s] make[1]: *** [debian/rules:30: override_dh_auto_test] Error 1 [ 248s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 248s] make: *** [debian/rules:13: build] Error 2 [ 248s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 248s] [ 248s] cloud117 failed "build openbsc_1.2.0.dsc" at Mon Jun 3 15:27:43 UTC 2019. [ 248s] [ 248s] ### VM INTERACTION START ### [ 251s] [ 213.747634] sysrq: SysRq : Power Off [ 251s] [ 213.756757] reboot: Power down [ 253s] ### VM INTERACTION END ### [ 253s] [ 253s] cloud117 failed "build openbsc_1.2.0.dsc" at Mon Jun 3 15:27:48 UTC 2019. [ 253s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Jun 3 16:00:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 Jun 2019 16:00:02 +0000 Subject: Change in ...docker-playground[master]: ttcn3-*: Enable extended-timestamp in VTY cfg In-Reply-To: References: Message-ID: Hello Harald Welte, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/14353 to look at the new patch set (#2). Change subject: ttcn3-*: Enable extended-timestamp in VTY cfg ...................................................................... ttcn3-*: Enable extended-timestamp in VTY cfg Having extended-timestamp allows for easier matching between osmo-*.log files and pcap traces. Change-Id: I98cdc0adc24edc966d5648d2c215c6ad7c749209 --- M ttcn3-bsc-test/osmo-stp.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg M ttcn3-bts-test/osmo-bsc.cfg M ttcn3-ggsn-test/osmo-ggsn.cfg M ttcn3-mgw-test/osmo-mgw.cfg M ttcn3-msc-test/osmo-msc.cfg M ttcn3-msc-test/osmo-stp.cfg M ttcn3-sgsn-test/osmo-sgsn.cfg M ttcn3-sip-test/osmo-sip-connector.cfg 9 files changed, 10 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/53/14353/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I98cdc0adc24edc966d5648d2c215c6ad7c749209 Gerrit-Change-Number: 14353 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 16:52:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 Jun 2019 16:52:57 +0000 Subject: Change in ...osmo-msc[master]: db: Fix call to mempcy with NULL src ptr Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14355 Change subject: db: Fix call to mempcy with NULL src ptr ...................................................................... db: Fix call to mempcy with NULL src ptr Catched by ASan on db_sms_test unit test: DDB NOTICE test_db_sms_get('Empty TP-UD'): osmo-msc/src/libmsc/db.c:796:2: runtime error: null pointer passed as argument 2, which is declared to never be null That happens on empty PDU because dbi_result_get_binary returns NULL, and sms->user_data_len is 0, so it's harmless but we can avoid calling mempcy and make ASan happy. Change-Id: I545967464c406348b8505d1729213cfb4afcd3e2 --- M src/libmsc/db.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/55/14355/1 diff --git a/src/libmsc/db.c b/src/libmsc/db.c index add6304..e3995a6 100644 --- a/src/libmsc/db.c +++ b/src/libmsc/db.c @@ -793,7 +793,8 @@ user_data = dbi_result_get_binary(result, "user_data"); if (sms->user_data_len > sizeof(sms->user_data)) sms->user_data_len = (uint8_t) sizeof(sms->user_data); - memcpy(sms->user_data, user_data, sms->user_data_len); + if (user_data) + memcpy(sms->user_data, user_data, sms->user_data_len); text = dbi_result_get_string(result, "text"); if (text) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I545967464c406348b8505d1729213cfb4afcd3e2 Gerrit-Change-Number: 14355 Gerrit-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 3 17:05:04 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Jun 2019 17:05:04 +0000 Subject: Change in ...osmo-msc[master]: db: Fix call to mempcy with NULL src ptr In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14355 ) Change subject: db: Fix call to mempcy with NULL src ptr ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I545967464c406348b8505d1729213cfb4afcd3e2 Gerrit-Change-Number: 14355 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 03 Jun 2019 17:05: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 3 17:29:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 Jun 2019 17:29:43 +0000 Subject: Change in ...osmo-msc[master]: db_sms_test: Remove libdbi expected driver load errors Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14356 Change subject: db_sms_test: Remove libdbi expected driver load errors ...................................................................... db_sms_test: Remove libdbi expected driver load errors Newer versions of libdbi print to stderr unconditionally when trying to load drivers from /usr/lib/dbd. This makes test output to change depending on host/distro set up (installed modules). Let's get those messages out to make it easier for people having tests pass. Change-Id: I06dfdc5a7415a4d3b34a3b25f11c8abda1a63f92 --- M tests/db_sms/db_sms_test.err M tests/db_sms/db_sms_test.ok M tests/testsuite.at 3 files changed, 76 insertions(+), 76 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/56/14356/1 diff --git a/tests/db_sms/db_sms_test.err b/tests/db_sms/db_sms_test.err index e0a329d..e69de29 100644 --- a/tests/db_sms/db_sms_test.err +++ b/tests/db_sms/db_sms_test.err @@ -1,75 +0,0 @@ -DDB DEBUG Init a new database -DDB DEBUG Init complete -DDB INFO Testing db_sms_store()... -DDB NOTICE test_db_sms_store('Regular MO SMS'): success, as expected -DDB NOTICE test_db_sms_store('Regular MT SMS'): success, as expected -DDB NOTICE test_db_sms_store('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected -DDB NOTICE test_db_sms_store('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected -DDB NOTICE test_db_sms_store('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected -DDB NOTICE test_db_sms_store('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected -DDB NOTICE test_db_sms_store('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected -DDB NOTICE test_db_sms_store('Same MSISDN #1'): success, as expected -DDB NOTICE test_db_sms_store('Same MSISDN #2'): success, as expected -DDB NOTICE test_db_sms_store('Expired SMS'): success, as expected -DDB NOTICE test_db_sms_store('Empty TP-UD'): success, as expected -DDB INFO Testing db_sms_get()... -DDB NOTICE test_db_sms_get('Regular MO SMS'): success, as expected -DDB NOTICE verify_sms('Regular MO SMS'): match -DDB NOTICE test_db_sms_get('Regular MT SMS'): success, as expected -DDB NOTICE verify_sms('Regular MT SMS'): match -DDB NOTICE test_db_sms_get('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) -DDB NOTICE test_db_sms_get('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-66/256) -DDB NOTICE test_db_sms_get('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected -DDB NOTICE verify_sms('TP-UD buffer overflow (UDH-Length > UD-Length)'): match -DDB NOTICE test_db_sms_get('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) -DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-16896/256) -DDB NOTICE test_db_sms_get('Same MSISDN #1'): success, as expected -DDB NOTICE verify_sms('Same MSISDN #1'): match -DDB NOTICE test_db_sms_get('Same MSISDN #2'): success, as expected -DDB NOTICE verify_sms('Same MSISDN #2'): match -DDB NOTICE test_db_sms_get('Expired SMS'): success, as expected -DDB NOTICE verify_sms('Expired SMS'): match -DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected -DDB NOTICE verify_sms('Empty TP-UD'): match -DDB INFO Testing db_sms_get_next_unsent() and db_sms_mark_delivered()... -DDB NOTICE db_sms_get_next_unsent(#1): found -DDB NOTICE verify_sms('Regular MO SMS'): match -DDB NOTICE db_sms_get_next_unsent(#2): found -DDB NOTICE verify_sms('Regular MT SMS'): match -DDB DEBUG Marking #1 as delivered: rc=0 -DDB DEBUG Marking #2 as delivered: rc=0 -DDB NOTICE db_sms_get_next_unsent(starting from #1): found -DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) -DDB INFO Testing db_sms_delete_sent_message_by_id()... -DDB NOTICE db_sms_delete_sent_message_by_id(#1, sent): rc=0 -DDB NOTICE db_sms_delete_sent_message_by_id(#3, not sent): rc=0 -DDB INFO Testing db_sms_delete_by_msisdn()... -DDB NOTICE db_sms_delete_by_msisdn('72631'): rc=0 -DDB INFO Testing db_sms_delete_oldest_expired_message()... -DDB NOTICE db_sms_delete_oldest_expired_message() -DDB INFO Expectations updated, retrieving all messages again -DDB INFO Testing db_sms_get()... -DDB NOTICE test_db_sms_get('Regular MO SMS'): failure, as expected -DDB NOTICE test_db_sms_get('Regular MT SMS'): success, as expected -DDB NOTICE verify_sms('Regular MT SMS'): match -DDB NOTICE test_db_sms_get('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) -DDB NOTICE test_db_sms_get('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-66/256) -DDB NOTICE test_db_sms_get('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected -DDB NOTICE verify_sms('TP-UD buffer overflow (UDH-Length > UD-Length)'): match -DDB NOTICE test_db_sms_get('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) -DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-16896/256) -DDB NOTICE test_db_sms_get('Same MSISDN #1'): failure, as expected -DDB NOTICE test_db_sms_get('Same MSISDN #2'): failure, as expected -DDB NOTICE test_db_sms_get('Expired SMS'): unexpected result -DDB NOTICE verify_sms('Expired SMS'): match -DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected -DDB NOTICE verify_sms('Empty TP-UD'): match -full talloc report on 'null_context' (total 0 bytes in 1 blocks) diff --git a/tests/db_sms/db_sms_test.ok b/tests/db_sms/db_sms_test.ok index e69de29..e0a329d 100644 --- a/tests/db_sms/db_sms_test.ok +++ b/tests/db_sms/db_sms_test.ok @@ -0,0 +1,75 @@ +DDB DEBUG Init a new database +DDB DEBUG Init complete +DDB INFO Testing db_sms_store()... +DDB NOTICE test_db_sms_store('Regular MO SMS'): success, as expected +DDB NOTICE test_db_sms_store('Regular MT SMS'): success, as expected +DDB NOTICE test_db_sms_store('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected +DDB NOTICE test_db_sms_store('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected +DDB NOTICE test_db_sms_store('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected +DDB NOTICE test_db_sms_store('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected +DDB NOTICE test_db_sms_store('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected +DDB NOTICE test_db_sms_store('Same MSISDN #1'): success, as expected +DDB NOTICE test_db_sms_store('Same MSISDN #2'): success, as expected +DDB NOTICE test_db_sms_store('Expired SMS'): success, as expected +DDB NOTICE test_db_sms_store('Empty TP-UD'): success, as expected +DDB INFO Testing db_sms_get()... +DDB NOTICE test_db_sms_get('Regular MO SMS'): success, as expected +DDB NOTICE verify_sms('Regular MO SMS'): match +DDB NOTICE test_db_sms_get('Regular MT SMS'): success, as expected +DDB NOTICE verify_sms('Regular MT SMS'): match +DDB NOTICE test_db_sms_get('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB NOTICE test_db_sms_get('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-66/256) +DDB NOTICE test_db_sms_get('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected +DDB NOTICE verify_sms('TP-UD buffer overflow (UDH-Length > UD-Length)'): match +DDB NOTICE test_db_sms_get('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-16896/256) +DDB NOTICE test_db_sms_get('Same MSISDN #1'): success, as expected +DDB NOTICE verify_sms('Same MSISDN #1'): match +DDB NOTICE test_db_sms_get('Same MSISDN #2'): success, as expected +DDB NOTICE verify_sms('Same MSISDN #2'): match +DDB NOTICE test_db_sms_get('Expired SMS'): success, as expected +DDB NOTICE verify_sms('Expired SMS'): match +DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected +DDB NOTICE verify_sms('Empty TP-UD'): match +DDB INFO Testing db_sms_get_next_unsent() and db_sms_mark_delivered()... +DDB NOTICE db_sms_get_next_unsent(#1): found +DDB NOTICE verify_sms('Regular MO SMS'): match +DDB NOTICE db_sms_get_next_unsent(#2): found +DDB NOTICE verify_sms('Regular MT SMS'): match +DDB DEBUG Marking #1 as delivered: rc=0 +DDB DEBUG Marking #2 as delivered: rc=0 +DDB NOTICE db_sms_get_next_unsent(starting from #1): found +DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB INFO Testing db_sms_delete_sent_message_by_id()... +DDB NOTICE db_sms_delete_sent_message_by_id(#1, sent): rc=0 +DDB NOTICE db_sms_delete_sent_message_by_id(#3, not sent): rc=0 +DDB INFO Testing db_sms_delete_by_msisdn()... +DDB NOTICE db_sms_delete_by_msisdn('72631'): rc=0 +DDB INFO Testing db_sms_delete_oldest_expired_message()... +DDB NOTICE db_sms_delete_oldest_expired_message() +DDB INFO Expectations updated, retrieving all messages again +DDB INFO Testing db_sms_get()... +DDB NOTICE test_db_sms_get('Regular MO SMS'): failure, as expected +DDB NOTICE test_db_sms_get('Regular MT SMS'): success, as expected +DDB NOTICE verify_sms('Regular MT SMS'): match +DDB NOTICE test_db_sms_get('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB NOTICE test_db_sms_get('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-66/256) +DDB NOTICE test_db_sms_get('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected +DDB NOTICE verify_sms('TP-UD buffer overflow (UDH-Length > UD-Length)'): match +DDB NOTICE test_db_sms_get('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-16896/256) +DDB NOTICE test_db_sms_get('Same MSISDN #1'): failure, as expected +DDB NOTICE test_db_sms_get('Same MSISDN #2'): failure, as expected +DDB NOTICE test_db_sms_get('Expired SMS'): unexpected result +DDB NOTICE verify_sms('Expired SMS'): match +DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected +DDB NOTICE verify_sms('Empty TP-UD'): match +full talloc report on 'null_context' (total 0 bytes in 1 blocks) diff --git a/tests/testsuite.at b/tests/testsuite.at index cd01bf1..1f4f559 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -20,7 +20,7 @@ AT_KEYWORDS([db_sms_test]) cat $abs_srcdir/db_sms/db_sms_test.ok > expout cat $abs_srcdir/db_sms/db_sms_test.err > experr -AT_CHECK([$abs_top_builddir/tests/db_sms/db_sms_test], [], [expout], [experr]) +AT_CHECK([$abs_top_builddir/tests/db_sms/db_sms_test 2>&1 | grep -v "Failed to load driver" | grep -v "cannot open shared object file"], [], [expout], [experr]) AT_CLEANUP AT_SETUP([msc_vlr_test_no_authen]) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I06dfdc5a7415a4d3b34a3b25f11c8abda1a63f92 Gerrit-Change-Number: 14356 Gerrit-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 3 17:41:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 Jun 2019 17:41:25 +0000 Subject: Change in ...osmo-msc[master]: db_sms_test: Do not print exact memcmp result Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14357 Change subject: db_sms_test: Do not print exact memcmp result ...................................................................... db_sms_test: Do not print exact memcmp result man memcp doesn't define exact values for returned integer, it only specifices a meaning for the sign of it. So it happens that different versions/implementations actually return different values when this test is run, making it fail. Let's simply verify only the sign of the returned value. Change-Id: I771fb8f4fc56f337b16561d005ff1803a386d1c6 --- M tests/db_sms/db_sms_test.c M tests/db_sms/db_sms_test.ok 2 files changed, 11 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/57/14357/1 diff --git a/tests/db_sms/db_sms_test.c b/tests/db_sms/db_sms_test.c index a97f7c7..a204ab1 100644 --- a/tests/db_sms/db_sms_test.c +++ b/tests/db_sms/db_sms_test.c @@ -358,7 +358,7 @@ sizeof(sms->user_data)); if (rc) { LOGPC(DDB, LOGL_ERROR, "TP-User-Data mismatch (diff=%d/%zu)\n", - rc, sizeof(sms->user_data)); + rc > 0 ? 1 : -1, sizeof(sms->user_data)); return -EINVAL; } @@ -366,7 +366,7 @@ rc = strncmp(sms->text, test->sms.text, sizeof(sms->text)); if (rc) { LOGPC(DDB, LOGL_ERROR, "TP-User-Data (text) mismatch (diff=%d/%zu)\n", - rc, sizeof(sms->text)); + rc > 0 ? 1 : -1, sizeof(sms->text)); return -EINVAL; } diff --git a/tests/db_sms/db_sms_test.ok b/tests/db_sms/db_sms_test.ok index e0a329d..4722a92 100644 --- a/tests/db_sms/db_sms_test.ok +++ b/tests/db_sms/db_sms_test.ok @@ -18,15 +18,15 @@ DDB NOTICE test_db_sms_get('Regular MT SMS'): success, as expected DDB NOTICE verify_sms('Regular MT SMS'): match DDB NOTICE test_db_sms_get('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-1/256) DDB NOTICE test_db_sms_get('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-66/256) +DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-1/256) DDB NOTICE test_db_sms_get('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected DDB NOTICE verify_sms('TP-UD buffer overflow (UDH-Length > UD-Length)'): match DDB NOTICE test_db_sms_get('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-1/256) DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-16896/256) +DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-1/256) DDB NOTICE test_db_sms_get('Same MSISDN #1'): success, as expected DDB NOTICE verify_sms('Same MSISDN #1'): match DDB NOTICE test_db_sms_get('Same MSISDN #2'): success, as expected @@ -43,7 +43,7 @@ DDB DEBUG Marking #1 as delivered: rc=0 DDB DEBUG Marking #2 as delivered: rc=0 DDB NOTICE db_sms_get_next_unsent(starting from #1): found -DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-1/256) DDB INFO Testing db_sms_delete_sent_message_by_id()... DDB NOTICE db_sms_delete_sent_message_by_id(#1, sent): rc=0 DDB NOTICE db_sms_delete_sent_message_by_id(#3, not sent): rc=0 @@ -57,15 +57,15 @@ DDB NOTICE test_db_sms_get('Regular MT SMS'): success, as expected DDB NOTICE verify_sms('Regular MT SMS'): match DDB NOTICE test_db_sms_get('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-1/256) DDB NOTICE test_db_sms_get('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-66/256) +DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-1/256) DDB NOTICE test_db_sms_get('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected DDB NOTICE verify_sms('TP-UD buffer overflow (UDH-Length > UD-Length)'): match DDB NOTICE test_db_sms_get('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-1/256) DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-16896/256) +DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-1/256) DDB NOTICE test_db_sms_get('Same MSISDN #1'): failure, as expected DDB NOTICE test_db_sms_get('Same MSISDN #2'): failure, as expected DDB NOTICE test_db_sms_get('Expired SMS'): unexpected result -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I771fb8f4fc56f337b16561d005ff1803a386d1c6 Gerrit-Change-Number: 14357 Gerrit-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 3 17:51:42 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 3 Jun 2019 17:51:42 +0000 Subject: Change in ...libosmocore[master]: utils: add gsmtap_logread.py a gsmtap log reader 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/+/14196 to look at the new patch set (#2). Change subject: utils: add gsmtap_logread.py a gsmtap log reader ...................................................................... utils: add gsmtap_logread.py a gsmtap log reader Receive gsmtap logs and feeds it into the python logging framework. Allows to use generic logging features and further utilities. Change-Id: I24478d8e16066c6118e867bdba54c6418c15e170 --- A utils/gsmtap.py A utils/gsmtap_logread.py 2 files changed, 167 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/96/14196/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I24478d8e16066c6118e867bdba54c6418c15e170 Gerrit-Change-Number: 14196 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: Harald Welte Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 17:54:34 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 3 Jun 2019 17:54:34 +0000 Subject: Change in ...libosmocore[master]: utils: add gsmtap_logread.py a gsmtap log reader 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/+/14196 to look at the new patch set (#3). Change subject: utils: add gsmtap_logread.py a gsmtap log reader ...................................................................... utils: add gsmtap_logread.py a gsmtap log reader Receive gsmtap logs and feeds it into the python logging framework. Allows to use generic logging features and further utilities. Change-Id: I24478d8e16066c6118e867bdba54c6418c15e170 --- A utils/gsmtap.py A utils/gsmtap_logread.py 2 files changed, 167 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/96/14196/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I24478d8e16066c6118e867bdba54c6418c15e170 Gerrit-Change-Number: 14196 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: Harald Welte Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 18:11:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 Jun 2019 18:11:26 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: vty: Require ggsn param in cmd In-Reply-To: References: Message-ID: Hello fixeria, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14298 to look at the new patch set (#3). Change subject: ggsn: vty: Require ggsn param in cmd ...................................................................... ggsn: vty: Require ggsn param in cmd Other similar commands already do it. This way we also get rid of deprecated APIs, supporting search when more than one GSN is set up. Related: OS#2873 Change-Id: I8357e20076348c8ded5e9f5b8e7252566b0fbfea --- M doc/manuals/vty/ggsn_vty_reference.xml M ggsn/ggsn_vty.c 2 files changed, 22 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/98/14298/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I8357e20076348c8ded5e9f5b8e7252566b0fbfea Gerrit-Change-Number: 14298 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 18:11:29 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 3 Jun 2019 18:11:29 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn_vty_reference.xml: Update from last code changes Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14358 Change subject: ggsn_vty_reference.xml: Update from last code changes ...................................................................... ggsn_vty_reference.xml: Update from last code changes Change-Id: I5de2e5223e4532bbbec77b928fbdecb57ef2bca7 --- M doc/manuals/vty/ggsn_vty_reference.xml 1 file changed, 52 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/58/14358/1 diff --git a/doc/manuals/vty/ggsn_vty_reference.xml b/doc/manuals/vty/ggsn_vty_reference.xml index 7460026..a226f8f 100644 --- a/doc/manuals/vty/ggsn_vty_reference.xml +++ b/doc/manuals/vty/ggsn_vty_reference.xml @@ -187,7 +187,7 @@ - + @@ -214,6 +214,7 @@ + @@ -332,14 +333,22 @@ - + - - + + + + + + + + + + @@ -351,6 +360,16 @@ + + + + + + + + + + @@ -526,7 +545,7 @@ - + @@ -553,6 +572,7 @@ + @@ -671,14 +691,22 @@ - + - - + + + + + + + + + + @@ -690,6 +718,16 @@ + + + + + + + + + + @@ -821,7 +859,8 @@ - + + @@ -1020,7 +1059,7 @@ - + @@ -1047,6 +1086,7 @@ + @@ -1169,10 +1209,11 @@ - + + -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5de2e5223e4532bbbec77b928fbdecb57ef2bca7 Gerrit-Change-Number: 14358 Gerrit-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 3 18:26:24 2019 From: gerrit-no-reply at lists.osmocom.org (Eric Wild) Date: Mon, 3 Jun 2019 18:26:24 +0000 Subject: Change in ...osmo-bts[master]: vty: adjust config name for unit-id Message-ID: Eric Wild has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14359 Change subject: vty: adjust config name for unit-id ...................................................................... vty: adjust config name for unit-id Having different names for the same config setting is misleading, so let's stick to the one used by osmo-bsc. Change-Id: Ief6f23cc891a528d4295f7b0b85ff49bce299e8b --- M src/common/vty.c 1 file changed, 10 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/59/14359/1 diff --git a/src/common/vty.c b/src/common/vty.c index 1d25bfb..da32c54 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -269,7 +269,7 @@ vty_out(vty, " band %s%s", gsm_band_name(bts->band), VTY_NEWLINE); if (bts->auto_band) vty_out(vty, " auto-band%s", VTY_NEWLINE); - vty_out(vty, " ipa unit-id %u %u%s", + vty_out(vty, " ip.access 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); vty_out(vty, " rtp jitter-buffer %u", bts->rtp_jitter_buf_ms); @@ -422,7 +422,7 @@ DEFUN(cfg_bts_unit_id, cfg_bts_unit_id_cmd, - "ipa unit-id <0-65534> <0-255>", + "ip.access unit_id <0-65534> <0-255>", "ip.access RSL commands\n" "Set the Unit ID of this BTS\n" "Site ID\n" "Unit ID\n") @@ -437,6 +437,13 @@ return CMD_SUCCESS; } +ALIAS_DEPRECATED(cfg_bts_unit_id, + cfg_bts_deprecated_unit_id_cmd, + "ipa unit-id <0-65534> <0-255>", + "ip.access RSL commands\n" + "Set the Unit ID of this BTS\n" + "Site ID\n" "Unit ID\n"); + DEFUN(cfg_bts_band, cfg_bts_band_cmd, "band (450|GSM450|480|GSM480|750|GSM750|810|GSM810|850|GSM850|900|GSM900|1800|DCS1800|1900|PCS1900)", @@ -1628,6 +1635,7 @@ install_element(CONFIG_NODE, &cfg_bts_cmd); install_element(CONFIG_NODE, &cfg_vty_telnet_port_cmd); install_element(BTS_NODE, &cfg_bts_unit_id_cmd); + install_element(BTS_NODE, &cfg_bts_deprecated_unit_id_cmd); install_element(BTS_NODE, &cfg_bts_oml_ip_cmd); install_element(BTS_NODE, &cfg_bts_rtp_bind_ip_cmd); install_element(BTS_NODE, &cfg_bts_rtp_jitbuf_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ief6f23cc891a528d4295f7b0b85ff49bce299e8b Gerrit-Change-Number: 14359 Gerrit-PatchSet: 1 Gerrit-Owner: Eric Wild Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 18:34:16 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Jun 2019 18:34:16 +0000 Subject: Change in ...osmo-bts[master]: vty: adjust config name for unit-id In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14359 ) Change subject: vty: adjust config name for unit-id ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/14359/1/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/#/c/14359/1/src/common/vty.c at 425 PS1, Line 425: unit_id Maybe we should rather keep dash? Most commands here use it, so this would be more consistent. This way OsmoBSC would need a similar patch. https://gerrit.osmocom.org/#/c/14359/1/src/common/vty.c at 446 PS1, Line 446: ws -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ief6f23cc891a528d4295f7b0b85ff49bce299e8b Gerrit-Change-Number: 14359 Gerrit-PatchSet: 1 Gerrit-Owner: Eric Wild Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 03 Jun 2019 18:34:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 18:36:46 2019 From: gerrit-no-reply at lists.osmocom.org (Eric Wild) Date: Mon, 3 Jun 2019 18:36:46 +0000 Subject: Change in ...osmo-bts[master]: vty: adjust config name for unit-id 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/+/14359 to look at the new patch set (#2). Change subject: vty: adjust config name for unit-id ...................................................................... vty: adjust config name for unit-id Having different names for the same config setting is misleading, so let's stick to the one used by osmo-bsc. Change-Id: Ief6f23cc891a528d4295f7b0b85ff49bce299e8b --- M src/common/vty.c 1 file changed, 10 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/59/14359/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ief6f23cc891a528d4295f7b0b85ff49bce299e8b Gerrit-Change-Number: 14359 Gerrit-PatchSet: 2 Gerrit-Owner: Eric Wild Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 18:37:54 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Mon, 3 Jun 2019 18:37:54 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Extend LAPDm test suite with a number of new tests In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14341 to look at the new patch set (#4). Change subject: bts: Extend LAPDm test suite with a number of new tests ...................................................................... bts: Extend LAPDm test suite with a number of new tests This adds the following test cases to BTS_Tests_LAPDm.ttcn: * TC_sabm_retransmit_bts() * TC_sabm_invalid_resp() * TC_sabm_dm() * TC_establish_ign_first_sabm() * TC_iframe_seq_and_ack() * TC_iframe_timer_recovery() Change-Id: I4e1136c0c0f10d5bc8d01e826ae5d92f17a0b2aa --- M bts/BTS_Tests.ttcn M bts/BTS_Tests_LAPDm.ttcn M library/LAPDm_Types.ttcn 3 files changed, 511 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/41/14341/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4e1136c0c0f10d5bc8d01e826ae5d92f17a0b2aa Gerrit-Change-Number: 14341 Gerrit-PatchSet: 4 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte 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 3 18:44:59 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 3 Jun 2019 18:44:59 +0000 Subject: Change in ...osmo-bts[master]: vty: adjust config name for unit-id In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14359 ) Change subject: vty: adjust config name for unit-id ...................................................................... Patch Set 2: (1 comment) > Patch Set 1: > > (2 comments) https://gerrit.osmocom.org/#/c/14359/1/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/#/c/14359/1/src/common/vty.c at 425 PS1, Line 425: unit_id > Maybe we should rather keep dash? [?] I didn't want to change both settings, and changing a _ to a - is kind of hard to spot. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ief6f23cc891a528d4295f7b0b85ff49bce299e8b Gerrit-Change-Number: 14359 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 03 Jun 2019 18:44:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 3 19:39:10 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Jun 2019 19:39:10 +0000 Subject: Change in ...osmo-msc[master]: db_sms_test: Remove libdbi expected driver load errors In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14356 ) Change subject: db_sms_test: Remove libdbi expected driver load errors ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14356/1/tests/testsuite.at File tests/testsuite.at: https://gerrit.osmocom.org/#/c/14356/1/tests/testsuite.at at 23 PS1, Line 23: 2>&1 I found this solution: https://stackoverflow.com/a/15936384/10668583, that would allow us to avoid swapping / mixing both stdin and stderr. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I06dfdc5a7415a4d3b34a3b25f11c8abda1a63f92 Gerrit-Change-Number: 14356 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 03 Jun 2019 19:39: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 3 19:42:18 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 3 Jun 2019 19:42:18 +0000 Subject: Change in ...osmo-msc[master]: db_sms_test: Do not print exact memcmp result In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14357 ) Change subject: db_sms_test: Do not print exact memcmp result ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/14357/1/tests/db_sms/db_sms_test.c File tests/db_sms/db_sms_test.c: https://gerrit.osmocom.org/#/c/14357/1/tests/db_sms/db_sms_test.c at 360 PS1, Line 360: (diff=%d/%zu) Ok, so now it does not make sense to print this part. Feel free to remove it completely. https://gerrit.osmocom.org/#/c/14357/1/tests/db_sms/db_sms_test.ok File tests/db_sms/db_sms_test.ok: https://gerrit.osmocom.org/#/c/14357/1/tests/db_sms/db_sms_test.ok at 21 PS1, Line 21: (diff=-1/256) That's why: it looks more confusing than informative. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I771fb8f4fc56f337b16561d005ff1803a386d1c6 Gerrit-Change-Number: 14357 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 03 Jun 2019 19:42:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Jun 4 03:16:00 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 03:16:00 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5cf5e282457e9_2441fa05f0143302b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 113s] #define VERSION "0.1.0" [ 113s] #define STDC_HEADERS 1 [ 113s] #[ 96.696583] serial8250: too much work for irq4 [ 113s] define HAVE_SYS_TYPES_H 1 [ 113s] #define HAVE_SYS_STAT_H 1 [ 113s] #define HAVE_STDLIB_H 1 [ 113s] #define HAVE_STRING_H 1 [ 113s] #define HAVE_MEMORY_H 1 [ 113s] #define HAVE_STRINGS_H 1 [ 113s] #define HAVE_INTTYPES_H 1 [ 113s] #define HAVE_STDINT_H 1 [ 113s] #define HAVE_UNISTD_H 1 [ 113s] #define HAVE_DLFCN_H 1 [ 113s] #define LT_OBJDIR ".libs/" [ 113s] [ 113s] configure: exit 1 [ 113s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 113s] make: *** [debian/rules:45: build] Error 2 [ 113s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 113s] [ 113s] morla3 failed "build osmo-sysmon_0.1.0.dsc" at Tue Jun 4 03:15:44 UTC 2019. [ 113s] [ 113s] ### VM INTERACTION START ### [ 117s] [ 99.860962] sysrq: SysRq : Power Off [ 117s] [ 99.875882] reboot: Power down [ 117s] ### VM INTERACTION END ### [ 117s] [ 117s] morla3 failed "build osmo-sysmon_0.1.0.dsc" at Tue Jun 4 03:15:48 UTC 2019. [ 117s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 03:19:59 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 03:19:59 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5cf5e373c4a38_2441fa05f01433582@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Unstable/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 161s] | #define HAVE_MEMORY_H 1 [ 161s] | #define HAVE_STRINGS_H 1 [ 161s] | #define HAVE_INTTYPES_H 1 [ 161s] | #define HAVE_STDINT_H 1 [ 161s] | #define HAVE_UNISTD_H 1 [ 161s] | #define HAVE_DLFCN_H 1 [ 161s] | #define LT_OBJDIR ".libs/" [ 161s] | #define BUILD_SMPP 1 [ 161s] | #define STDC_HEADERS 1 [ 161s] | #define HAVE_DBI_DBD_H 1 [ 161s] | #define HAVE_PCAP_PCAP_H 1 [ 161s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 161s] | [ 161s] | configure: exit 0 [ 161s] [ 161s] make[1]: *** [debian/rules:30: override_dh_auto_test] Error 1 [ 161s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 161s] make: *** [debian/rules:13: build] Error 2 [ 161s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 161s] [ 161s] morla5 failed "build openbsc_1.2.0.dsc" at Tue Jun 4 03:19:49 UTC 2019. [ 161s] [ 161s] ### VM INTERACTION START ### [ 164s] [ 150.446872] sysrq: SysRq : Power Off [ 164s] [ 150.454398] reboot: Power down [ 164s] ### VM INTERACTION END ### [ 164s] [ 164s] morla5 failed "build openbsc_1.2.0.dsc" at Tue Jun 4 03:19:53 UTC 2019. [ 164s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 07:46:52 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 07:46:52 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5cf6220974cd_2441fa05f014636ae@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 174s] | #define HAVE_STDINT_H 1 [ 174s] | #define HAVE_UNISTD_H 1 [ 174s] | #define HAVE_DLFCN_H 1 [ 174s] | #define LT_OBJDIR ".libs/" [ 174s] | #define HAVE_LIBSCTP 1 [ 174s] | #define BUILD_SMPP 1 [ 174s] | #define BUILD_IU 1 [ 174s] | #define STDC_HEADERS 1 [ 174s] | #define HAVE_DBI_DBD_H 1 [ 174s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 174s] | [ 174s] | configure: exit 0 [ 174s] [ 174s] debian/rules:63: recipe for target 'override_dh_auto_test' failed [ 174s] make[1]: *** [override_dh_auto_test] Error 1 [ 174s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 174s] debian/rules:45: recipe for target 'build' failed [ 174s] make: *** [build] Error 2 [ 174s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 174s] [ 174s] sheep83 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:46:34 UTC 2019. [ 174s] [ 174s] ### VM INTERACTION START ### [ 175s] Powering off. [ 175s] [ 165.632858] reboot: Power down [ 175s] ### VM INTERACTION END ### [ 175s] [ 175s] sheep83 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:46:37 UTC 2019. [ 175s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 07:50:51 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 07:50:51 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in xUbuntu_16.04/x86_64 In-Reply-To: References: Message-ID: <5cf622de88aa_2441fa05f01465342@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/xUbuntu_16.04/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in xUbuntu_16.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 361s] | lt_cv_path_mainfest_tool=no [ 361s] | lt_cv_prog_compiler_c_o=yes [ 361s] | lt_cv_prog_compiler_pic='-fPIC -DPIC' [ 361s] | lt_cv_prog_compiler_pic_works=yes [ 361s] | lt_cv_prog_compiler_rtti_exceptions=no [ 361s] | lt_cv_prog_compiler_static_works=yes [ 361s] | lt_cv_prog_gnu_ld=yes [ 361s] | lt_cv_sharedlib_from_linklib_cmd='printf %s\n' [ 361s] | lt_cv_shlibpath_overrides_runpath=no [ 361s] | lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | sed '\''/ __gnu_lto/d'\''' [ 361s] | lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"\1", (void *) \&\1},/p'\''' [ 361s] | lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(lib.*\)$/ {"\1", (void *) \&\1},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"lib\1", (void *) \&\1},/p'\''' [ 361s] | lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\''' [ 361s] | lt_cv_sys_global_symbol_to_import= [ 361s] | lt_cv_sys_max_cmd_len=1572864 [ 361s] | lt_cv_to_host_file_cmd=func_convert_file_noop [ 361s] | lt_cv_to_tool_file_cmd=func_convert_file_noop [ 361s] | lt_cv_truncate_bin='/bin/dd bs=4096 count=1' [ 361s] | osmo_cv_tm_includes_tm_gmtoff=yes [ 361s] | pkg_cv_LIBASN1C_CFLAGS='-I/usr/include/ -I/usr/include/asn1c' [ 361s] | pkg_cv_LIBASN1C_LIBS='-ltalloc -lasn1c' [ 361s] | pkg_cv_LIBOSMOABIS_CFLAGS=-I/usr/include/ [ 361s] | pkg_cv_LIBOSMOABIS_LIBS=-losmoabis [ 363s] | pkg_cv_LIBOSMOCORE_CFLAGS=-I/usr/incl[ 299.364969] sysrq: SysRq : Power Off [ 363s] [ 299.370243] reboot: Power down [ 364s] ### VM INTERACTION END ### [ 365s] [ 365s] cloud101 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:50:46 UTC 2019. [ 365s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 07:52:51 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 07:52:51 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5cf62370dec0b_2441fa05f0146789@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 344s] | #define HAVE_STRINGS_H 1 [ 344s] | #define HAVE_INTTYPES_H 1 [ 344s] | #define HAVE_STDINT_H 1 [ 344s] | #define HAVE_UNISTD_H 1 [ 344s] | #define HAVE_DLFCN_H 1 [ 344s] | #define LT_OBJDIR ".libs/" [ 344s] | #define HAVE_LIBSCTP 1 [ 344s] | #define BUILD_SMPP 1 [ 344s] | #define BUILD_IU 1 [ 344s] | #define STDC_HEADERS 1 [ 344s] | #define HAVE_DBI_DBD_H 1 [ 344s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 344s] | [ 344s] | configure: exit 0 [ 344s] [ 344s] make[1]: *** [debian/rules:63: override_dh_auto_test] Error 1 [ 344s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 344s] make: *** [debian/rules:45: build] Error 2 [ 344s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 344s] [ 344s] lamb72 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:52:30 UTC 2019. [ 344s] [ 344s] ### VM INTERACTION START ### [ 346s] [ 332.248421] sysrq: SysRq : Power Off [ 346s] [ 332.254931] reboot: Power down [ 346s] ### VM INTERACTION END ### [ 346s] [ 346s] lamb72 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:52:34 UTC 2019. [ 346s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 07:53:08 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 07:53:08 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5cf62371b1d79_2441fa05f0146792c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 254s] -DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) [ 254s] -DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected [ 254s] -DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-16896/256) [ 254s] -DDB NOTICE test_db_sms_get('Same MSISDN #1'): failure, as expected [ 254s] -DDB NOTICE test_db_sms_get('Same MSISDN #2'): failure, as expected [ 254s] -DDB NOTICE test_db_sms_get('Expired SMS'): unexpected result [ 254s] -DDB NOTICE verify_sms('Expired SMS'): match [ 254s] -DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected [ 254s] -DDB NOTICE verify_sms('Empty TP-UD'): match [ 254s] -full talloc report on 'null_context' (total 0 bytes in 1 blocks) [ 254s] +DDB FATAL Failed to create database connection to sqlite3 db ':memory:'; Is the sqlite3 database driver for libdbi installed on this system? [ 254s] +Assert failed rc == 0 db_sms_test.c:543 [ 254s] +/usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/test-source: line 26: 31736 Aborted $abs_top_builddir/tests/db_sms/db_sms_test [ 254s] ./testsuite.at:23: exit code was 134, expected 0 [ 254s] 3. testsuite.at:19: 3. db_sms_test (testsuite.at:19): FAILED (testsuite.at:23) [ 254s] make[1]: *** [debian/rules:63: override_dh_auto_test] Error 1 [ 254s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 254s] make: *** [debian/rules:45: build] Error 2 [ 254s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 254s] [ 254s] sheep82 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:52:57 UTC 2019. [ 254s] [ 254s] ### VM INTERACTION START ### [ 257s] [ 247.513718] sysrq: SysRq : Power Off [ 257s] [ 247.519635] reboot: Power down [ 257s] ### VM INTERACTION END ### [ 257s] [ 257s] sheep82 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:53:02 UTC 2019. [ 257s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 07:54:51 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 07:54:51 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5cf623e78e8cb_2441fa05f014681db@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_9.0/i586 Package network:osmocom:nightly/osmo-msc failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 247s] +DDB FATAL Failed to create database connection to sqlite3 db ':memory:'; Is the sqlite3 database driver for libdbi installed on this system? [ 247s] +Assert failed rc == 0 db_sms_test.c:543 [ 247s] +/usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/test-source: line 26: 28498 Aborted $abs_top_builddir/tests/db_sms/db_sms_test [ 247s] --- expout 2019-06-04 07:54:33.700000000 +0000 [ 247s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/stdout 2019-06-04 07:54:33.708000000 +0000 [ 247s] @@ -0,0 +1,5 @@ [ 247s] +backtrace() returned 5 addresses [ 247s] +/usr/lib/i386-linux-gnu/libosmocore.so.12(osmo_panic+0x4c) [0xf763d24c] [ 247s] +/usr/src/packages/BUILD/tests/db_sms/db_sms_test(main+0xa9e) [0x565f7f4e] [ 247s] +/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf6) [0xf7251286] [ 247s] +/usr/src/packages/BUILD/tests/db_sms/db_sms_test(+0x8307) [0x565f8307] [ 247s] ./testsuite.at:23: exit code was 134, expected 0 [ 247s] 3. testsuite.at:19: 3. db_sms_test (testsuite.at:19): FAILED (testsuite.at:23) [ 247s] debian/rules:63: recipe for target 'override_dh_auto_test' failed [ 247s] make[1]: *** [override_dh_auto_test] Error 1 [ 247s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 247s] debian/rules:45: recipe for target 'build' failed [ 247s] make: *** [build] Error 2 [ 247s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 247s] [ 247s] sheep83 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:54:34 UTC 2019. [ 247s] [ 247s] ### VM INTERACTION START ### [ 250s] [ 240.122939] sysrq: SysRq : Power Off [ 250s] [ 240.129549] reboot: Power down [ 250s] ### VM INTERACTION END ### [ 250s] [ 250s] sheep83 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:54:38 UTC 2019. [ 250s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 07:54:51 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 07:54:51 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5cf623e8147c2_2441fa05f0146824b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_8.0/i586 Package network:osmocom:nightly/osmo-msc failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 234s] | #define HAVE_STDINT_H 1 [ 234s] | #define HAVE_UNISTD_H 1 [ 234s] | #define HAVE_DLFCN_H 1 [ 234s] | #define LT_OBJDIR ".libs/" [ 234s] | #define HAVE_LIBSCTP 1 [ 234s] | #define BUILD_SMPP 1 [ 234s] | #define BUILD_IU 1 [ 234s] | #define STDC_HEADERS 1 [ 234s] | #define HAVE_DBI_DBD_H 1 [ 234s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 234s] | [ 234s] | configure: exit 0 [ 234s] [ 234s] debian/rules:63: recipe for target 'override_dh_auto_test' failed [ 234s] make[1]: *** [override_dh_auto_test] Error 1 [ 234s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 234s] debian/rules:45: recipe for target 'build' failed [ 234s] make: *** [build] Error 2 [ 234s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 234s] [ 234s] lamb11 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:54:42 UTC 2019. [ 234s] [ 234s] ### VM INTERACTION START ### [ 235s] Powering off. [ 235s] [ 222.855674] reboot: Power down [ 235s] ### VM INTERACTION END ### [ 235s] [ 235s] lamb11 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:54:43 UTC 2019. [ 235s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 07:55:25 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 07:55:25 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in xUbuntu_16.04/i586 In-Reply-To: References: Message-ID: <5cf6240481b40_2441fa05f0146853c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/xUbuntu_16.04/i586 Package network:osmocom:nightly/osmo-msc failed to build in xUbuntu_16.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 309s] | lt_cv_prog_compiler_static_works=yes [ 309s] | lt_cv_prog_gnu_ld=yes [ 309s] | lt_cv_sharedlib_from_linklib_cmd='printf %s\n' [ 309s] | lt_cv_shlibpath_overrides_runpath=no [ 309s] | lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | sed '\''/ __gnu_lto/d'\''' [ 309s] | lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"\1", (void *) \&\1},/p'\''' [ 309s] | lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(lib.*\)$/ {"\1", (void *) \&\1},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"lib\1", (void *) \&\1},/p'\''' [ 309s] | lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\''' [ 309s] | lt_cv_sys_global_symbol_to_import= [ 309s] | lt_cv_sys_max_cmd_len=1572864 [ 309s] | lt_cv_to_host_file_cmd=func_convert_file_noop [ 309s] | lt_cv_to_tool_file_cmd=func_convert_file_noop [ 309s] | lt_cv_truncate_bin='/bin/dd bs=4096 count=1' [ 309s] | osmo_cv_tm_includes_tm_gmtoff=yes [ 309s] | pkg_cv_LIBASN1C_CFLAGS='-I/usr/include/ -I/usr/include/asn1c' [ 309s] | pkg_cv_LIBASN1C_LIBS='-ltalloc -lasn1c' [ 309s] | pkg_cv_LIBOSMOABIS_CFLAGS=-I/usr/include/ [ 309s] | pkg_cv_LIBOSMOABIS_LIBS=-losmoabis [ 309s] | pkg_cv_LIBOSMOCORE_CFLAGS=-I/usr/include/ [ 309s] | pkg_cv_LIBOSMOCORE_LIBS='-ltalloc -losmocore' [ 309s] | pkg_cv_LIBOSMOCTRL_CFLAGS=-I/usr/include/ [ 309s] | pkg_cv_LIBOSMOCTRL_LIBS='-ltalloc -losmoctrl -losmogsm -losmocore' [ 309s] | pkg_cv_LIBOSMOGSM_CFLAGS=-I/usr/include/ [ 311s] | pkg_cv_LIBOSMOGSM[ 286.052418] sysrq: SysRq : Power Off [ 311s] [ 286.066712] reboot: Power down [ 313s] ### VM INTERACTION END ### [ 313s] [ 313s] cloud127 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:55:23 UTC 2019. [ 313s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 07:55:59 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 07:55:59 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5cf6242459cac_2441fa05f014686f7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_9.0/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 355s] | #define HAVE_STDINT_H 1 [ 355s] | #define HAVE_UNISTD_H 1 [ 355s] | #define HAVE_DLFCN_H 1 [ 355s] | #define LT_OBJDIR ".libs/" [ 355s] | #define HAVE_LIBSCTP 1 [ 355s] | #define BUILD_SMPP 1 [ 355s] | #define BUILD_IU 1 [ 355s] | #define STDC_HEADERS 1 [ 355s] | #define HAVE_DBI_DBD_H 1 [ 355s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 355s] | [ 355s] | configure: exit 0 [ 355s] [ 355s] debian/rules:63: recipe for target 'override_dh_auto_test' failed [ 355s] make[1]: *** [override_dh_auto_test] Error 1 [ 355s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 355s] debian/rules:45: recipe for target 'build' failed [ 355s] make: *** [build] Error 2 [ 355s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 355s] [ 355s] lamb25 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:55:47 UTC 2019. [ 355s] [ 355s] ### VM INTERACTION START ### [ 358s] [ 342.906324] sysrq: SysRq : Power Off [ 358s] [ 342.927428] reboot: Power down [ 358s] ### VM INTERACTION END ### [ 358s] [ 358s] lamb25 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:55:51 UTC 2019. [ 358s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 07:56:17 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 07:56:17 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5cf62425486c5_2441fa05f0146872b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 554s] -DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) [ 554s] -DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected [ 554s] -DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-16896/256) [ 554s] -DDB NOTICE test_db_sms_get('Same MSISDN #1'): failure, as expected [ 554s] -DDB NOTICE test_db_sms_get('Same MSISDN #2'): failure, as expected [ 554s] -DDB NOTICE test_db_sms_get('Expired SMS'): unexpected result [ 554s] -DDB NOTICE verify_sms('Expired SMS'): match [ 554s] -DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected [ 554s] -DDB NOTICE verify_sms('Empty TP-UD'): match [ 554s] -full talloc report on 'null_context' (total 0 bytes in 1 blocks) [ 554s] +DDB FATAL Failed to create database connection to sqlite3 db ':memory:'; Is the sqlite3 database driver for libdbi installed on this system? [ 554s] +Assert failed rc == 0 db_sms_test.c:543 [ 554s] +/usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/test-source: line 15: 31068 Aborted $abs_top_builddir/tests/db_sms/db_sms_test [ 554s] ./testsuite.at:23: exit code was 134, expected 0 [ 554s] 3. testsuite.at:19: 3. db_sms_test (testsuite.at:19): FAILED (testsuite.at:23) [ 554s] make[1]: *** [debian/rules:63: override_dh_auto_test] Error 1 [ 554s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 554s] make: *** [debian/rules:45: build] Error 2 [ 554s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 554s] [ 554s] lamb53 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:56:09 UTC 2019. [ 554s] [ 554s] ### VM INTERACTION START ### [ 556s] [ 503.402385] sysrq: SysRq : Power Off [ 556s] [ 503.418490] reboot: Power down [ 556s] ### VM INTERACTION END ### [ 556s] [ 556s] lamb53 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:56:12 UTC 2019. [ 556s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 07:59:08 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 07:59:08 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5cf624e2388a4_2441fa05f0146995@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/xUbuntu_18.10/i586 Package network:osmocom:nightly/osmo-msc failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 388s] | #define HAVE_STRINGS_H 1 [ 388s] | #define HAVE_INTTYPES_H 1 [ 388s] | #define HAVE_STDINT_H 1 [ 388s] | #define HAVE_UNISTD_H 1 [ 388s] | #define HAVE_DLFCN_H 1 [ 388s] | #define LT_OBJDIR ".libs/" [ 388s] | #define HAVE_LIBSCTP 1 [ 388s] | #define BUILD_SMPP 1 [ 388s] | #define BUILD_IU 1 [ 388s] | #define STDC_HEADERS 1 [ 388s] | #define HAVE_DBI_DBD_H 1 [ 388s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 388s] | [ 388s] | configure: exit 0 [ 388s] [ 388s] make[1]: *** [debian/rules:63: override_dh_auto_test] Error 1 [ 388s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 388s] make: *** [debian/rules:45: build] Error 2 [ 388s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 388s] [ 388s] lamb56 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:58:53 UTC 2019. [ 388s] [ 388s] ### VM INTERACTION START ### [ 392s] [ 377.748241] sysrq: SysRq : Power Off [ 392s] [ 377.756137] reboot: Power down [ 392s] ### VM INTERACTION END ### [ 392s] [ 392s] lamb56 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:58:57 UTC 2019. [ 392s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 07:59:59 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 07:59:59 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5cf62515e3cca_2441fa05f0147002b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 359s] -DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-16896/256) [ 359s] -DDB NOTICE test_db_sms_get('Same MSISDN #1'): failure, as expected [ 359s] -DDB NOTICE test_db_sms_get('Same MSISDN #2'): failure, as expected [ 359s] -DDB NOTICE test_db_sms_get('Expired SMS'): unexpected result [ 359s] -DDB NOTICE verify_sms('Expired SMS'): match [ 359s] -DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected [ 359s] -DDB NOTICE verify_sms('Empty TP-UD'): match [ 359s] -full talloc report on 'null_context' (total 0 bytes in 1 blocks) [ 359s] +DDB FATAL Failed to create database connection to sqlite3 db ':memory:'; Is the sqlite3 database driver for libdbi installed on this system? [ 359s] +Assert failed rc == 0 db_sms_test.c:543 [ 359s] +/usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/test-source: line 26: 31928 Aborted $abs_top_builddir/tests/db_sms/db_sms_test [ 359s] ./testsuite.at:23: exit code was 134, expected 0 [ 359s] 3. testsuite.at:19: 3. db_sms_test (testsuite.at:19): FAILED (testsuite.at:23) [ 359s] debian/rules:63: recipe for target 'override_dh_auto_test' failed [ 359s] make[1]: *** [override_dh_auto_test] Error 1 [ 359s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 359s] debian/rules:45: recipe for target 'build' failed [ 359s] make: *** [build] Error 2 [ 359s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 359s] [ 359s] build71 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:59:43 UTC 2019. [ 359s] [ 359s] ### VM INTERACTION START ### [ 361s] [ 347.996622] sysrq: SysRq : Power Off [ 361s] [ 348.003644] reboot: Power down [ 361s] ### VM INTERACTION END ### [ 361s] [ 361s] build71 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:59:46 UTC 2019. [ 361s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 07:59:59 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 07:59:59 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5cf625165099c_2441fa05f01470172@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 339s] | #define HAVE_STRINGS_H 1 [ 339s] | #define HAVE_INTTYPES_H 1 [ 339s] | #define HAVE_STDINT_H 1 [ 339s] | #define HAVE_UNISTD_H 1 [ 339s] | #define HAVE_DLFCN_H 1 [ 339s] | #define LT_OBJDIR ".libs/" [ 339s] | #define HAVE_LIBSCTP 1 [ 339s] | #define BUILD_SMPP 1 [ 339s] | #define BUILD_IU 1 [ 339s] | #define STDC_HEADERS 1 [ 339s] | #define HAVE_DBI_DBD_H 1 [ 339s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 339s] | [ 339s] | configure: exit 0 [ 339s] [ 339s] make[1]: *** [debian/rules:63: override_dh_auto_test] Error 1 [ 339s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 339s] make: *** [debian/rules:45: build] Error 2 [ 339s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 339s] [ 339s] lamb02 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:59:51 UTC 2019. [ 339s] [ 339s] ### VM INTERACTION START ### [ 342s] [ 326.341927] sysrq: SysRq : Power Off [ 342s] [ 326.347909] reboot: Power down [ 342s] ### VM INTERACTION END ### [ 342s] [ 342s] lamb02 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 07:59:54 UTC 2019. [ 342s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 08:02:20 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 08:02:20 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5cf62591d8870_2441fa05f01471174@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/xUbuntu_18.04/i586 Package network:osmocom:nightly/osmo-msc failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 358s] -DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-16896/256) [ 358s] -DDB NOTICE test_db_sms_get('Same MSISDN #1'): failure, as expected [ 358s] -DDB NOTICE test_db_sms_get('Same MSISDN #2'): failure, as expected [ 358s] -DDB NOTICE test_db_sms_get('Expired SMS'): unexpected result [ 358s] -DDB NOTICE verify_sms('Expired SMS'): match [ 358s] -DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected [ 358s] -DDB NOTICE verify_sms('Empty TP-UD'): match [ 358s] -full talloc report on 'null_context' (total 0 bytes in 1 blocks) [ 358s] +DDB FATAL Failed to create database connection to sqlite3 db ':memory:'; Is the sqlite3 database driver for libdbi installed on this system? [ 358s] +Assert failed rc == 0 db_sms_test.c:543 [ 358s] +/usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/test-source: line 26: 31817 Aborted $abs_top_builddir/tests/db_sms/db_sms_test [ 358s] ./testsuite.at:23: exit code was 134, expected 0 [ 358s] 3. testsuite.at:19: 3. db_sms_test (testsuite.at:19): FAILED (testsuite.at:23) [ 358s] debian/rules:63: recipe for target 'override_dh_auto_test' failed [ 358s] make[1]: *** [override_dh_auto_test] Error 1 [ 358s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 358s] debian/rules:45: recipe for target 'build' failed [ 358s] make: *** [build] Error 2 [ 358s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 359s] [ 359s] lamb18 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 08:01:58 UTC 2019. [ 359s] [ 359s] ### VM INTERACTION START ### [ 362s] [ 348.570019] sysrq: SysRq : Power Off [ 362s] [ 348.578155] reboot: Power down [ 362s] ### VM INTERACTION END ### [ 362s] [ 362s] lamb18 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 08:02:01 UTC 2019. [ 362s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Jun 4 08:34:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:34:09 +0000 Subject: Change in ...osmo-msc[master]: db: Fix call to mempcy with NULL src ptr In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14355 ) Change subject: db: Fix call to mempcy with NULL src ptr ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I545967464c406348b8505d1729213cfb4afcd3e2 Gerrit-Change-Number: 14355 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 04 Jun 2019 08:34: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 4 08:35:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:35:04 +0000 Subject: Change in ...osmo-msc[master]: db_sms_test: Remove libdbi expected driver load errors In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14356 ) Change subject: db_sms_test: Remove libdbi expected driver load errors ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14356/1/tests/testsuite.at File tests/testsuite.at: https://gerrit.osmocom.org/#/c/14356/1/tests/testsuite.at at 23 PS1, Line 23: 2>&1 > I found this solution: https://stackoverflow. [?] nice find! -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I06dfdc5a7415a4d3b34a3b25f11c8abda1a63f92 Gerrit-Change-Number: 14356 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: Harald Welte Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 04 Jun 2019 08:35:04 +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 4 08:35:07 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:35:07 +0000 Subject: Change in ...osmo-msc[master]: db: Fix call to mempcy with NULL src ptr In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14355 ) Change subject: db: Fix call to mempcy with NULL src ptr ...................................................................... db: Fix call to mempcy with NULL src ptr Catched by ASan on db_sms_test unit test: DDB NOTICE test_db_sms_get('Empty TP-UD'): osmo-msc/src/libmsc/db.c:796:2: runtime error: null pointer passed as argument 2, which is declared to never be null That happens on empty PDU because dbi_result_get_binary returns NULL, and sms->user_data_len is 0, so it's harmless but we can avoid calling mempcy and make ASan happy. Change-Id: I545967464c406348b8505d1729213cfb4afcd3e2 --- M src/libmsc/db.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved Harald Welte: Looks good to me, approved diff --git a/src/libmsc/db.c b/src/libmsc/db.c index add6304..e3995a6 100644 --- a/src/libmsc/db.c +++ b/src/libmsc/db.c @@ -793,7 +793,8 @@ user_data = dbi_result_get_binary(result, "user_data"); if (sms->user_data_len > sizeof(sms->user_data)) sms->user_data_len = (uint8_t) sizeof(sms->user_data); - memcpy(sms->user_data, user_data, sms->user_data_len); + if (user_data) + memcpy(sms->user_data, user_data, sms->user_data_len); text = dbi_result_get_string(result, "text"); if (text) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I545967464c406348b8505d1729213cfb4afcd3e2 Gerrit-Change-Number: 14355 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 08:36:22 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:36:22 +0000 Subject: Change in ...osmo-bts[master]: vty: adjust config name for unit-id In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14359 ) Change subject: vty: adjust config name for unit-id ...................................................................... Patch Set 2: Code-Review-1 AFAICT it's the wrong way around. "ipa" is the new name, while "ip.access" is the old. We should standardize on "ipa" -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ief6f23cc891a528d4295f7b0b85ff49bce299e8b Gerrit-Change-Number: 14359 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 04 Jun 2019 08:36: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 4 08:36:55 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:36:55 +0000 Subject: Change in ...docker-playground[master]: ttcn3-*: Enable extended-timestamp in VTY cfg In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14353 ) Change subject: ttcn3-*: Enable extended-timestamp in VTY cfg ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I98cdc0adc24edc966d5648d2c215c6ad7c749209 Gerrit-Change-Number: 14353 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Tue, 04 Jun 2019 08:36:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 08:37:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:37:04 +0000 Subject: Change in ...libosmocore[master]: utils: add gsmtap_logread.py a gsmtap log reader In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14196 ) Change subject: utils: add gsmtap_logread.py a gsmtap log reader ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I24478d8e16066c6118e867bdba54c6418c15e170 Gerrit-Change-Number: 14196 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 04 Jun 2019 08:37:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 08:37:06 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:37:06 +0000 Subject: Change in ...libosmocore[master]: utils: add gsmtap_logread.py a gsmtap log reader In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14196 ) Change subject: utils: add gsmtap_logread.py a gsmtap log reader ...................................................................... utils: add gsmtap_logread.py a gsmtap log reader Receive gsmtap logs and feeds it into the python logging framework. Allows to use generic logging features and further utilities. Change-Id: I24478d8e16066c6118e867bdba54c6418c15e170 --- A utils/gsmtap.py A utils/gsmtap_logread.py 2 files changed, 167 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/utils/gsmtap.py b/utils/gsmtap.py new file mode 100644 index 0000000..b7211ad --- /dev/null +++ b/utils/gsmtap.py @@ -0,0 +1,75 @@ +#!/usr/bin/env python +# License: MIT +# Copyright 2019 by Sysmocom s.f.m.c. GmbH +# Author: Alexander Couzens + +import struct + +GSMTAP_VERSION = 0x02 + +GSMTAP_TYPE_OSMOCORE_LOG = 0x10 + +class TooSmall(RuntimeError): + pass + +# struct gsmtap_hdr { +# uint8_t version; /*!< version, set to 0x01 currently */ +# uint8_t hdr_len; /*!< length in number of 32bit words */ +# uint8_t type; /*!< see GSMTAP_TYPE_* */ +# uint8_t timeslot; /*!< timeslot (0..7 on Um) */ +# +# uint16_t arfcn; /*!< ARFCN (frequency) */ +# int8_t signal_dbm; /*!< signal level in dBm */ +# int8_t snr_db; /*!< signal/noise ratio in dB */ +# +# uint32_t frame_number; /*!< GSM Frame Number (FN) */ +# +# uint8_t sub_type; /*!< Type of burst/channel, see above */ +# uint8_t antenna_nr; /*!< Antenna Number */ +# uint8_t sub_slot; /*!< sub-slot within timeslot */ +# uint8_t res; /*!< reserved for future use (RFU) */ +# +# } + +class gsmtap_hdr(): + def __init__(self, data): + if len(data) < 2: + raise TooSmall() + self.version, self.hdr_len = struct.unpack('!BB', data[0:2]) + self.hdr_len *= 4 + + if self.hdr_len >= 3: + self.type = struct.unpack('!B', data[2:3])[0] + +# /*! Structure of the GSMTAP libosmocore logging header */ +# struct gsmtap_osmocore_log_hdr { +# struct { +# uint32_t sec; +# uint32_t usec; +# } ts; +# char proc_name[16]; /*!< name of process */ +# uint32_t pid; /*!< process ID */ +# uint8_t level; /*!< logging level */ +# uint8_t _pad[3]; +# /* TODO: color */ +# char subsys[16]; /*!< logging sub-system */ +# struct { +# char name[32]; /*!< source file name */ +# uint32_t line_nr;/*!< line number */ +# } src_file; +# } __attribute__((packed)); + +class gsmtap_log(): + def __init__(self, data): + packformat = '!II16sIBxxx16s32sI' + packlen = struct.calcsize(packformat) + if len(data) < packlen: + raise TooSmall() + self.sec, self.usec, \ + self.proc_name, self.pid, \ + self.level, self.subsys, \ + self.filename, self.fileline_nr = struct.unpack(packformat, data[:packlen]) + + message_len = len(data) - packlen + if message_len > 0: + self.message = data[packlen:].decode('utf-8') diff --git a/utils/gsmtap_logread.py b/utils/gsmtap_logread.py new file mode 100644 index 0000000..a29f149 --- /dev/null +++ b/utils/gsmtap_logread.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python +# +# License: MIT +# Copyright 2019 by Sysmocom s.f.m.c. GmbH +# Author: Alexander Couzens + +import logging +import socket + +from gsmtap import GSMTAP_TYPE_OSMOCORE_LOG, gsmtap_hdr, gsmtap_log, TooSmall + +LOG = logging.getLogger("gsmlogreader") + +def parse_gsm(packet): + hdr = None + + try: + hdr = gsmtap_hdr(packet) + except TooSmall: + return None + + if hdr.type != GSMTAP_TYPE_OSMOCORE_LOG: + return None + + if len(packet) <= hdr.hdr_len: + return None + + try: + return gsmtap_log(packet[hdr.hdr_len:]) + except TooSmall: + return None + +def gsmtaplevel_to_loglevel(level): + """ convert a gsmtap log level into a python log level """ + if level <= 1: + return logging.DEBUG + if level <= 3: + return logging.INFO + if level <= 5: + return logging.WARNING + + return logging.ERROR + +def convert_gsmtap_log(gsmtap): + level = gsmtaplevel_to_loglevel(gsmtap.level) + + attr = { + "name": "gsmtap", + "levelno": level, + "levelname": gsmtap_get_logname(gsmtap.level), + "pathname": gsmtap.filename, + "lineno": gsmtap.fileline_nr, + "processName": gsmtap.proc_name, + "process": gsmtap.pid, + "module": gsmtap.subsys, + "created": float(gsmtap.sec + gsmtap.usec / 1000000.0), + "msec": int(gsmtap.usec / 1000), + "msg": gsmtap.message.replace('\n', ' '), + } + return attr + +def gsmtap_get_logname(level): + names = { + 1: "DEBUG", + 3: "INFO", + 5: "NOTICE", + 7: "ERROR", + 8: "FATAL", + } + if level in names: + return names[level] + return "UNKNOWN" + +if __name__ == "__main__": + # Create a UDP socket + sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + server_address = ('0.0.0.0', 4729) + sock.bind(server_address) + + logger = logging.getLogger("gsmtap") + logformat = "%(asctime)s %(message)s" + logging.basicConfig(format=logformat, level=logging.DEBUG) + + + while True: + data, address = sock.recvfrom(4096) + log = parse_gsm(data) + if not log: + continue + + record = logging.makeLogRecord(convert_gsmtap_log(log)) + logger.handle(record) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I24478d8e16066c6118e867bdba54c6418c15e170 Gerrit-Change-Number: 14196 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 08:37:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:37:31 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: vty: Require ggsn param in cmd In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14298 ) Change subject: ggsn: vty: Require ggsn param in cmd ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I8357e20076348c8ded5e9f5b8e7252566b0fbfea Gerrit-Change-Number: 14298 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 Jun 2019 08:37:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 08:37:45 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:37:45 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn_vty_reference.xml: Update from last code changes In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14358 ) Change subject: ggsn_vty_reference.xml: Update from last code changes ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5de2e5223e4532bbbec77b928fbdecb57ef2bca7 Gerrit-Change-Number: 14358 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 08:37: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 4 08:38:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:38:12 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: Add tests to check GTP retransmit queue In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14262 ) Change subject: sgsn: Add tests to check GTP retransmit queue ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3c4a3573482bb1fa1549c732a0f78c2d00eadd86 Gerrit-Change-Number: 14262 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 08:38:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 08:38:13 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:38:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: Add tests to check GTP retransmit queue In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14262 ) Change subject: sgsn: Add tests to check GTP retransmit queue ...................................................................... sgsn: Add tests to check GTP retransmit queue Change-Id: I3c4a3573482bb1fa1549c732a0f78c2d00eadd86 --- M sgsn/SGSN_Tests.ttcn M sgsn/expected-results.xml 2 files changed, 121 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 5633183..1f63dfa 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -1536,6 +1536,123 @@ vc_conn.done; } +/* ATTACH + PDP CTX ACT dropped + retrans */ +private function f_TC_attach_pdp_act_deact_gtp_retrans(charstring id) runs on BSSGP_ConnHdlr { + var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip)); + var Gtp1cUnitdata g_ud_first, g_ud_second; + /* first perform regular attach */ + f_TC_attach(id); + + /* then activate PDP context on the Gb side */ + f_send_l3_gmm_llc(ts_SM_ACT_PDP_REQ(apars.tid, apars.nsapi, apars.sapi, apars.qos, apars.addr, + apars.apn, apars.pco), 0); + + GTP.receive(tr_GTPC_MsgType(?, createPDPContextRequest, ?)) -> value g_ud_first {} + log("First createPDPContextRequest received, dropping & waiting for retransmission"); + GTP.receive(tr_GTPC_MsgType(?, createPDPContextRequest, ?)) -> value g_ud_second { + if (g_ud_first != g_ud_second) { + setverdict(fail, "Retransmitted GTP message createPDPContextRequest is different from original one!"); + mtc.stop; + } + f_process_gtp_ctx_act_req(apars, g_ud_second.gtpc); + var integer seq_nr := oct2int(g_ud_second.gtpc.opt_part.sequenceNumber); + GTP.send(ts_GTPC_CreatePdpResp(g_ud_second.peer, seq_nr, + apars.sgsn_tei_c, apars.gtp_resp_cause, + apars.ggsn_tei_c, apars.ggsn_tei_u, + apars.nsapi, + apars.ggsn_ip_c, apars.ggsn_ip_u, apars.chg_id, + omit, omit)); + } + BSSGP[0].receive(tr_BD_L3_MT(tr_SM_ACT_PDP_ACCEPT)) {} + + /* Now the same with Deact */ + f_send_l3_gmm_llc(ts_SM_DEACT_PDP_REQ_MO(apars.tid, '00'O, false, omit), 0); + GTP.receive(tr_GTPC_MsgType(?, deletePDPContextRequest, apars.ggsn_tei_c)) -> value g_ud_first {} + log("First deletePDPContextRequest received, dropping & waiting for retransmission"); + GTP.receive(tr_GTPC_MsgType(?, deletePDPContextRequest, apars.ggsn_tei_c)) -> value g_ud_second { + if (g_ud_first != g_ud_second) { + setverdict(fail, "Retransmitted GTP message deletePDPContextRequest is different from original one!"); + mtc.stop; + } + var integer seq_nr := oct2int(g_ud_second.gtpc.opt_part.sequenceNumber); + BSSGP[0].clear; + GTP.send(ts_GTPC_DeletePdpResp(g_ud_second.peer, seq_nr, apars.sgsn_tei_c, '7F'O)); + } + alt { + [] BSSGP[0].receive(tr_BD_L3_MT(tr_SM_DEACT_PDP_ACCEPT_MT(apars.tid))) { + setverdict(pass); + } + [] as_xid(apars, 0); + } + + setverdict(pass); +} +testcase TC_attach_pdp_act_deact_gtp_retrans() runs on test_CT { + var BSSGP_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_deact_gtp_retrans), testcasename(), g_gb, 27); + vc_conn.done; +} + +/* Test that SGSN GTP response retransmit queue works fine */ +private function f_TC_attach_pdp_act_deact_gtp_retrans_resp(charstring id) runs on BSSGP_ConnHdlr { + var PdpActPars apars := valueof(t_PdpActPars(mp_ggsn_ip)); + var integer seq_nr := 23; + var Gtp1cUnitdata g_ud_first, g_ud_second; + var template Gtp1cUnitdata g_delete_req; + /* first perform regular attach + PDP context act */ + f_TC_attach(id); + f_pdp_ctx_act(apars); + + /* Now perform an MT DeleteCtxReq and emulate GGSN didn't receive response and sends a duplicated DeleteCtxReq */ + BSSGP[0].clear; + var GtpPeer peer := valueof(ts_GtpPeerC(apars.sgsn_ip_c)); + g_delete_req := ts_GTPC_DeletePDP(peer, seq_nr, apars.sgsn_tei_c, apars.nsapi, '1'B); + GTP.send(g_delete_req); + alt { + [] BSSGP[0].receive(tr_BD_L3_MT(tr_SM_DEACT_PDP_REQ_MT(apars.tid, ?, true))) { + f_send_l3_gmm_llc(ts_SM_DEACT_PDP_ACCEPT_MO(apars.tid), 0); + } + [] as_xid(apars, 0); + } + GTP.receive(tr_GTPC_MsgType(?, deletePDPContextResponse, apars.ggsn_tei_c)) -> value g_ud_first { + if (g_ud_first.gtpc.gtpc_pdu.deletePDPContextResponse.cause.causevalue != '80'O) { + setverdict(fail, "Received deletePDPContextResponse cause is not 'Request accepted'"); + mtc.stop; + } + }; + + /* Send duplicate DeleteCtxReq */ + log("First deletePDPContextResponse received, dropping & retransmitting retransmission of deletePDPContextRequest"); + GTP.send(g_delete_req); + GTP.receive(tr_GTPC_MsgType(?, deletePDPContextResponse, apars.ggsn_tei_c)) -> value g_ud_second { + if (g_ud_first != g_ud_second) { + setverdict(fail, "Retransmitted GTP message deletePDPContextResponse is different from original one!"); + mtc.stop; + } + } + + /* Let's send now a new DeleteCtxReq (increased seq_nr) to make sure it + * is handled differently by SGSN (expect "non-existent" cause) */ + g_delete_req := ts_GTPC_DeletePDP(peer, seq_nr + 1, apars.sgsn_tei_c, apars.nsapi, '1'B); + GTP.send(g_delete_req); + /* Response with cause "non-existent" must be sent with TEID 0 according to specs */ + GTP.receive(tr_GTPC_MsgType(?, deletePDPContextResponse, '00000000'O)) -> value g_ud_second { + if (g_ud_second.gtpc.gtpc_pdu.deletePDPContextResponse.cause.causevalue != 'C0'O) { + setverdict(fail, "Received deletePDPContextResponse cause is not 'Non-existent'"); + mtc.stop; + } + } + + setverdict(pass); +} +testcase TC_attach_pdp_act_deact_gtp_retrans_resp() runs on test_CT { + var BSSGP_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_deact_gtp_retrans_resp), testcasename(), g_gb, 28); + vc_conn.done; +} + private function f_TC_hlr_location_cancel_request_update(charstring id) runs on BSSGP_ConnHdlr { /* MS: perform regular attach */ f_TC_attach(id); @@ -2369,6 +2486,8 @@ execute( TC_attach_restart_ctr_echo() ); execute( TC_attach_restart_ctr_create() ); execute( TC_attach_pdp_act_deact_mt_t3395_expire() ); + execute( TC_attach_pdp_act_deact_gtp_retrans() ); + execute( TC_attach_pdp_act_deact_gtp_retrans_resp() ); execute( TC_attach_pdp_act_user_error_ind_ggsn() ); execute( TC_attach_pdp_act_gmm_detach() ); execute( TC_attach_gmm_attach_req_while_gmm_attach() ); diff --git a/sgsn/expected-results.xml b/sgsn/expected-results.xml index b53a6f3..0b477d1 100644 --- a/sgsn/expected-results.xml +++ b/sgsn/expected-results.xml @@ -56,6 +56,8 @@ + + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3c4a3573482bb1fa1549c732a0f78c2d00eadd86 Gerrit-Change-Number: 14262 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 08:43:02 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:43:02 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: Fix undefined behaviour shifting beyond sign bit In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14287 ) Change subject: ggsn: Fix undefined behaviour shifting beyond sign bit ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2b8d163dbc108b0fb5a1e820dc23181835d12869 Gerrit-Change-Number: 14287 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 04 Jun 2019 08:43: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 4 08:43:03 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:43:03 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: Fix undefined behaviour shifting beyond sign bit In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14287 ) Change subject: ggsn: Fix undefined behaviour shifting beyond sign bit ...................................................................... ggsn: Fix undefined behaviour shifting beyond sign bit Fixes following ASan complaint during VTY "show running-config": osmo-ggsn/ggsn/ggsn_vty.c:657:37: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' Change-Id: I2b8d163dbc108b0fb5a1e820dc23181835d12869 --- M ggsn/ggsn_vty.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Harald Welte: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/ggsn/ggsn_vty.c b/ggsn/ggsn_vty.c index 3f012d2..9101361 100644 --- a/ggsn/ggsn_vty.c +++ b/ggsn/ggsn_vty.c @@ -654,9 +654,9 @@ vty_out(vty, " ipdown-script %s%s", apn->tun.cfg.ipdown_script, VTY_NEWLINE); for (i = 0; i < 32; i++) { - if (!(apn->cfg.apn_type_mask & (1 << i))) + if (!(apn->cfg.apn_type_mask & (UINT32_C(1) << i))) continue; - vty_out(vty, " type-support %s%s", get_value_string(pdp_type_names, (1 << i)), + vty_out(vty, " type-support %s%s", get_value_string(pdp_type_names, (UINT32_C(1) << i)), VTY_NEWLINE); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2b8d163dbc108b0fb5a1e820dc23181835d12869 Gerrit-Change-Number: 14287 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 08:44:03 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:44:03 +0000 Subject: Change in ...libosmocore[master]: make all library-internal static buffers thread-local In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/13436 to look at the new patch set (#8). Change subject: make all library-internal static buffers thread-local ...................................................................... make all library-internal static buffers thread-local We have a number of library-internal static global buffers which are mainly used for various stringification functions. This worked as all of the related Osmocom programs were strictly single-threaded. Let's make those buffers at least thread-local. This way every thread gets their own set of buffers, and it's safe for multiple threads to execute the same functions once. They're of course still not re-entrant. If you need re-entrancy, you will need to use the _c() or _buf() suffix version of those functions and work with your own (stack or heap) buffers. Change-Id: I50eb2436a7c1261d79a9d2955584dce92780ca07 --- M src/fsm.c M src/gb/gprs_ns.c M src/gsm/abis_nm.c M src/gsm/apn.c M src/gsm/gsm0808_utils.c M src/gsm/gsm23003.c M src/gsm/gsm48.c M src/gsm/gsm_utils.c M src/gsm/rsl.c M src/msgb.c M src/sim/core.c M src/socket.c M src/utils.c 13 files changed, 32 insertions(+), 33 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/36/13436/8 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/13436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I50eb2436a7c1261d79a9d2955584dce92780ca07 Gerrit-Change-Number: 13436 Gerrit-PatchSet: 8 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: Max Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 08:45:14 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 Jun 2019 08:45:14 +0000 Subject: Change in ...docker-playground[master]: ttcn3-*: Enable extended-timestamp in VTY cfg In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14353 ) Change subject: ttcn3-*: Enable extended-timestamp in VTY cfg ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I98cdc0adc24edc966d5648d2c215c6ad7c749209 Gerrit-Change-Number: 14353 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 Jun 2019 08: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 4 08:45:21 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 Jun 2019 08:45:21 +0000 Subject: Change in ...docker-playground[master]: ttcn3-*: Enable extended-timestamp in VTY cfg In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/14353 ) Change subject: ttcn3-*: Enable extended-timestamp in VTY cfg ...................................................................... ttcn3-*: Enable extended-timestamp in VTY cfg Having extended-timestamp allows for easier matching between osmo-*.log files and pcap traces. Change-Id: I98cdc0adc24edc966d5648d2c215c6ad7c749209 --- M ttcn3-bsc-test/osmo-stp.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg M ttcn3-bts-test/osmo-bsc.cfg M ttcn3-ggsn-test/osmo-ggsn.cfg M ttcn3-mgw-test/osmo-mgw.cfg M ttcn3-msc-test/osmo-msc.cfg M ttcn3-msc-test/osmo-stp.cfg M ttcn3-sgsn-test/osmo-sgsn.cfg M ttcn3-sip-test/osmo-sip-connector.cfg 9 files changed, 10 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved pespin: Verified diff --git a/ttcn3-bsc-test/osmo-stp.cfg b/ttcn3-bsc-test/osmo-stp.cfg index 0f25f0f..7cee48b 100644 --- a/ttcn3-bsc-test/osmo-stp.cfg +++ b/ttcn3-bsc-test/osmo-stp.cfg @@ -7,6 +7,7 @@ logging color 0 logging print category 1 logging timestamp 1 + logging print extended-timestamp 1 logging level all everything logging level lglobal notice logging level llapd notice diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index 49855d2..3f29361 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -8,6 +8,7 @@ logging color 0 logging print category 1 logging timestamp 1 + logging print extended-timestamp 1 logging level all everything logging level rll notice logging level cc notice diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index e4edf50..e98cc57 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -8,6 +8,7 @@ logging color 0 logging print category 1 logging timestamp 1 + logging print extended-timestamp 1 logging print file 1 logging level all everything logging level rll info diff --git a/ttcn3-ggsn-test/osmo-ggsn.cfg b/ttcn3-ggsn-test/osmo-ggsn.cfg index 097c968..11a2309 100644 --- a/ttcn3-ggsn-test/osmo-ggsn.cfg +++ b/ttcn3-ggsn-test/osmo-ggsn.cfg @@ -7,6 +7,7 @@ logging color 0 logging print category 1 logging timestamp 1 + logging print extended-timestamp 1 logging level ip info logging level tun info logging level ggsn info diff --git a/ttcn3-mgw-test/osmo-mgw.cfg b/ttcn3-mgw-test/osmo-mgw.cfg index 7b0094f..8158860 100644 --- a/ttcn3-mgw-test/osmo-mgw.cfg +++ b/ttcn3-mgw-test/osmo-mgw.cfg @@ -6,7 +6,8 @@ logging filter all 1 logging color 1 logging print category 1 - logging timestamp 0 + logging timestamp 1 + logging print extended-timestamp 1 logging level all everything logging level rtp notice logging level lglobal notice diff --git a/ttcn3-msc-test/osmo-msc.cfg b/ttcn3-msc-test/osmo-msc.cfg index d19f039..db2029c 100644 --- a/ttcn3-msc-test/osmo-msc.cfg +++ b/ttcn3-msc-test/osmo-msc.cfg @@ -7,6 +7,7 @@ logging color 0 logging print category 1 logging timestamp 1 + logging print extended-timestamp 1 logging level all everything logging level rll notice logging level cc debug diff --git a/ttcn3-msc-test/osmo-stp.cfg b/ttcn3-msc-test/osmo-stp.cfg index a2a6210..cefaef1 100644 --- a/ttcn3-msc-test/osmo-stp.cfg +++ b/ttcn3-msc-test/osmo-stp.cfg @@ -7,6 +7,7 @@ logging color 0 logging print category 1 logging timestamp 1 + logging print extended-timestamp 1 logging level all everything logging level lglobal notice logging level llapd notice diff --git a/ttcn3-sgsn-test/osmo-sgsn.cfg b/ttcn3-sgsn-test/osmo-sgsn.cfg index 72ca46d..37f4ed8 100644 --- a/ttcn3-sgsn-test/osmo-sgsn.cfg +++ b/ttcn3-sgsn-test/osmo-sgsn.cfg @@ -7,6 +7,7 @@ logging color 1 logging print category 1 logging timestamp 1 + logging print extended-timestamp 1 logging print file 1 logging level all everything logging level mm debug diff --git a/ttcn3-sip-test/osmo-sip-connector.cfg b/ttcn3-sip-test/osmo-sip-connector.cfg index 1834325..5df7468 100644 --- a/ttcn3-sip-test/osmo-sip-connector.cfg +++ b/ttcn3-sip-test/osmo-sip-connector.cfg @@ -7,6 +7,7 @@ logging color 0 logging print category 1 logging timestamp 0 + logging print extended-timestamp 1 logging print file basename logging level all everything logging level sip debug -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I98cdc0adc24edc966d5648d2c215c6ad7c749209 Gerrit-Change-Number: 14353 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 08:47:29 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:47:29 +0000 Subject: Change in ...libosmocore[master]: WIP: CBSP (3GPP TS 48.049) support Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14360 Change subject: WIP: CBSP (3GPP TS 48.049) support ...................................................................... WIP: CBSP (3GPP TS 48.049) support This introduces definitions as well as a parser/encoder for the Cell Broadcast Service Protocol (CBSP) as specified in 3GPP TS 48.049. CBSP is used on the interface between CBC and BSC. Related: OS#3537 Change-Id: I5b7ae08f67e415967b60ac4b824db9e22ca00935 --- M include/Makefile.am A include/osmocom/gsm/cbsp.h A include/osmocom/gsm/protocol/gsm_48_049.h M src/gsm/Makefile.am A src/gsm/cbsp.c A src/gsm/gsm48049.c M src/gsm/libosmogsm.map 7 files changed, 1,697 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/60/14360/1 diff --git a/include/Makefile.am b/include/Makefile.am index 7b9e347..7835fab 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -72,6 +72,7 @@ osmocom/gsm/abis_nm.h \ osmocom/gsm/apn.h \ osmocom/gsm/bts_features.h \ + osmocom/gsm/cbsp.h \ osmocom/gsm/comp128.h \ osmocom/gsm/comp128v23.h \ osmocom/gsm/bitvec_gsm.h \ @@ -124,6 +125,7 @@ osmocom/gsm/protocol/gsm_23_003.h \ osmocom/gsm/protocol/gsm_29_118.h \ osmocom/gsm/protocol/gsm_44_318.h \ + osmocom/gsm/protocol/gsm_48_049.h \ osmocom/gsm/protocol/ipaccess.h \ osmocom/gsm/protocol/smpp34_osmocom.h \ osmocom/gsm/rsl.h \ diff --git a/include/osmocom/gsm/cbsp.h b/include/osmocom/gsm/cbsp.h new file mode 100644 index 0000000..4a76d5a --- /dev/null +++ b/include/osmocom/gsm/cbsp.h @@ -0,0 +1,262 @@ +#pragma once + +#include +#include +#include +#include + +/* Decoded 8.2.3 Message Content */ +struct osmo_cbsp_content { + struct llist_head list; + uint8_t user_len; + uint8_t data[82]; +}; + +/* Decoded Entry in a 8.2.6 Cell List */ +struct osmo_cbsp_cell_ent { + struct llist_head list; + union gsm0808_cell_id_u cell_id; +}; +struct osmo_cbsp_cell_list { + enum CELL_IDENT id_discr; + struct llist_head list; +}; + +/* Decoded Entry in a 8.2.10 Completed List */ +struct osmo_cbsp_num_compl_ent { + struct llist_head list; + union gsm0808_cell_id_u cell_id; + uint16_t num_compl; + uint8_t num_bcast_info; +}; +struct osmo_cbsp_num_compl_list { + enum CELL_IDENT id_discr; + struct llist_head list; /* osmo_cbsp_num_compl_ent */ +}; + +/* Decoded Entry in a 8.2.12 Radio Resource Loading List */ +struct osmo_cbsp_loading_ent { + struct llist_head list; + union gsm0808_cell_id_u cell_id; + uint8_t load[2]; +}; +struct osmo_cbsp_loading_list { + enum CELL_IDENT id_discr; + struct llist_head list; +}; + +/* Decoded Entry in a 8.2.11 Failure List */ +struct osmo_cbsp_fail_ent { + struct llist_head list; + enum CELL_IDENT id_discr; + union gsm0808_cell_id_u cell_id; +}; + + +/* 8.1.3.1 */ +struct osmo_cbsp_write_replace { + uint16_t msg_id; /* 8.2.16 M */ + uint16_t new_serial_nr; /* 8.2.5 M */ + uint16_t *old_serial_nr; /* 8.2.4 */ + struct osmo_cbsp_cell_list cell_list; + + bool is_cbs; + union { + struct { + enum cbsp_channel_ind channel_ind; + enum cbsp_category category; + uint16_t rep_period; + uint16_t num_bcast_req; + /* num_of_pages implicit as llist_count(msg_content) */ + uint8_t dcs; + struct llist_head msg_content; + } cbs; + struct { + uint8_t indicator; + uint16_t warning_type; + uint8_t warning_sec_info[50]; + uint32_t warning_period; /* in seconds; 0xffffffff = unlimited */ + } emergency; + } u; +}; + +/* 8.1.3.2 */ +struct osmo_cbsp_write_replace_complete { + uint16_t msg_id; + uint16_t new_serial_nr; + uint16_t *old_serial_nr; + struct osmo_cbsp_num_compl_list num_compl_list; + struct osmo_cbsp_cell_list cell_list; + enum cbsp_channel_ind *channel_ind; +}; + +/* 8.1.3.3 */ +struct osmo_cbsp_write_replace_failure { + uint16_t msg_id; + uint16_t new_serial_nr; + uint16_t *old_serial_nr; + struct llist_head fail_list; /* osmo_cbsp_fail_ent */ + struct osmo_cbsp_num_compl_list num_compl_list; + struct osmo_cbsp_cell_list cell_list; + enum cbsp_channel_ind *channel_ind; +}; + +/* 8.1.3.4 */ +struct osmo_cbsp_kill { + uint16_t msg_id; + uint16_t old_serial_nr; + struct osmo_cbsp_cell_list cell_list; + enum cbsp_channel_ind *channel_ind; +}; + +/* 8.1.3.5 */ +struct osmo_cbsp_kill_complete { + uint16_t msg_id; + uint16_t old_serial_nr; + struct osmo_cbsp_num_compl_list num_compl_list; + struct osmo_cbsp_cell_list cell_list; + enum cbsp_channel_ind *channel_ind; +}; + +/* 8.1.3.6 */ +struct osmo_cbsp_kill_failure { + uint16_t msg_id; + uint16_t old_serial_nr; + struct llist_head fail_list; /* osmo_cbsp_fail_ent */ + struct osmo_cbsp_num_compl_list num_compl_list; + struct osmo_cbsp_cell_list cell_list; + enum cbsp_channel_ind *channel_ind; +}; + +/* 8.1.3.7 */ +struct osmo_cbsp_load_query { + struct osmo_cbsp_cell_list cell_list; + enum cbsp_channel_ind channel_ind; +}; + +/* 8.1.3.8 */ +struct osmo_cbsp_load_query_complete { + struct osmo_cbsp_loading_list loading_list; + enum cbsp_channel_ind channel_ind; +}; + +/* 8.1.3.9 */ +struct osmo_cbsp_load_query_failure { + struct llist_head fail_list; /* osmo_cbsp_fail_ent */ + enum cbsp_channel_ind channel_ind; + struct osmo_cbsp_loading_list loading_list; +}; + +/* 8.1.3.10 */ +struct osmo_cbsp_msg_status_query { + uint16_t msg_id; + uint16_t old_serial_nr; + struct osmo_cbsp_cell_list cell_list; + enum cbsp_channel_ind channel_ind; +}; + +/* 8.1.3.11 */ +struct osmo_cbsp_msg_status_query_complete { + uint16_t msg_id; + uint16_t old_serial_nr; + struct osmo_cbsp_num_compl_list num_compl_list; + enum cbsp_channel_ind channel_ind; +}; + +/* 8.1.3.12 */ +struct osmo_cbsp_msg_status_query_failure { + uint16_t msg_id; + uint16_t old_serial_nr; + struct llist_head fail_list; /* osmo_cbsp_fail_ent */ + enum cbsp_channel_ind channel_ind; + struct osmo_cbsp_num_compl_list num_compl_list; +}; + +/* 8.1.3.16 */ +struct osmo_cbsp_reset { + struct osmo_cbsp_cell_list cell_list; +}; + +/* 8.1.3.17 */ +struct osmo_cbsp_reset_complete { + struct osmo_cbsp_cell_list cell_list; +}; + +/* 8.1.3.18 */ +struct osmo_cbsp_reset_failure { + struct llist_head fail_list; /* osmo_cbsp_fail_ent */ + struct osmo_cbsp_cell_list cell_list; +}; + +/* 8.1.3.18a */ +struct osmo_cbsp_keep_alive { + uint8_t repetition_period; +}; + +/* 8.1.3.18b */ +struct osmo_cbsp_keep_alive_complete { +}; + +/* 8.1.3.19 */ +struct osmo_cbsp_restart { + struct osmo_cbsp_cell_list cell_list; + uint8_t bcast_msg_type; + uint8_t recovery_ind; +}; + +/* 8.1.3.20 */ +struct osmo_cbsp_failure { + struct llist_head fail_list; /* osmo_cbsp_fail_ent */ + uint8_t bcast_msg_type; +}; + +/* 8.1.3.21 */ +struct osmo_cbsp_error_ind { + enum cbsp_cell_id_cause cause; + uint16_t *msg_id; + uint16_t *new_serial_nr; + uint16_t *old_serial_nr; + enum cbsp_channel_ind *channel_ind; +}; + + +/* decoded CBSP message */ +struct osmo_cbsp_decoded { + enum cbsp_msg_type msg_type; + union { + struct osmo_cbsp_write_replace write_replace; + struct osmo_cbsp_write_replace_complete write_replace_compl; + struct osmo_cbsp_write_replace_failure write_replace_fail; + + struct osmo_cbsp_kill kill; + struct osmo_cbsp_kill_complete kill_compl; + struct osmo_cbsp_kill_failure kill_fail; + + struct osmo_cbsp_load_query load_query; + struct osmo_cbsp_load_query_complete load_query_compl; + struct osmo_cbsp_load_query_failure load_query_fail; + + struct osmo_cbsp_msg_status_query msg_status_query; + struct osmo_cbsp_msg_status_query_complete msg_status_query_compl; + struct osmo_cbsp_msg_status_query_failure msg_status_query_fail; + + /* set DRX */ + + struct osmo_cbsp_reset reset; + struct osmo_cbsp_reset_complete reset_compl; + struct osmo_cbsp_reset_failure reset_fail; + + struct osmo_cbsp_restart restart; + + struct osmo_cbsp_failure failure; + + struct osmo_cbsp_error_ind error_ind; + + struct osmo_cbsp_keep_alive keep_alive; + struct osmo_cbsp_keep_alive_complete keep_alive_compl; + } u; +}; + +struct msgb *osmo_cbsp_msgb_alloc(const char *name); +struct msgb *osmo_cbsp_encode(const struct osmo_cbsp_decoded *in); +struct osmo_cbsp_decoded *osmo_cbsp_decode(void *ctx, struct msgb *in); diff --git a/include/osmocom/gsm/protocol/gsm_48_049.h b/include/osmocom/gsm/protocol/gsm_48_049.h new file mode 100644 index 0000000..544febe --- /dev/null +++ b/include/osmocom/gsm/protocol/gsm_48_049.h @@ -0,0 +1,125 @@ +#pragma once +#include +#include + +/* CBSP is an ETSI/3GPP standard protocol used between CBC (Cell Brodadcast Centre) + * and BSC (Base Station Controller0 in 2G/GSM/GERAN networks. It is specified + * in 3GPP TS 48.049 + * + * (C) 2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of the GNU General Public License, Version 2 or + * (at your option) any later version. + */ + +#define CBSP_TCP_PORT 48049 + +/* 8.2.1 Information Element Identifiers */ +enum cbsp_iei { + CBSP_IEI_MSG_CONTENT = 0x01, + CBSP_IEI_OLD_SERIAL_NR = 0x02, + CBSP_IEI_NEW_SERIAL_NR = 0x03, + CBSP_IEI_CELL_LIST = 0x04, + CBSP_IEI_CATEGORY = 0x05, + CBSP_IEI_REP_PERIOD = 0x06, + CBSP_IEI_NUM_BCAST_REQ = 0x07, + CBSP_IEI_NUM_BCAST_COMPL_LIST = 0x08, + CBSP_IEI_FAILURE_LIST = 0x09, + CBSP_IEI_RR_LOADING_LIST = 0x0a, + CBSP_IEI_CAUSE = 0x0b, + CBSP_IEI_DCS = 0x0c, + CBSP_IEI_RECOVERY_IND = 0x0d, + CBSP_IEI_MSG_ID = 0x0e, + CBSP_IEI_EMERG_IND = 0x0f, + CBSP_IEI_WARN_TYPE = 0x10, + CBSP_IEI_WARN_SEC_INFO = 0x11, + CBSP_IEI_CHANNEL_IND = 0x12, + CBSP_IEI_NUM_OF_PAGES = 0x13, + CBSP_IEI_SCHEDULE_PERIOD = 0x14, + CBSP_IEI_NUM_OF_RES_SLOTS = 0x15, + CBSP_IEI_BCAST_MSG_TYPE = 0x16, + CBSP_IEI_WARNING_PERIOD = 0x17, + CBSP_IEI_KEEP_ALIVE_REP_PERIOD = 0x18, +}; + +/* 8.2.2 Message Type */ +enum cbsp_msg_type { + CBSP_MSGT_WRITE_REPLACE = 0x01, + CBSP_MSGT_WRITE_REPLACE_COMPL = 0x02, + CBSP_MSGT_WRITE_REPLACE_FAIL = 0x03, + CBSP_MSGT_KILL = 0x04, + CBSP_MSGT_KILL_COMPL = 0x05, + CBSP_MSGT_KILL_FAIL = 0x06, + CBSP_MSGT_LOAD_QUERY = 0x07, + CBSP_MSGT_LOAD_QUERY_COMPL = 0x08, + CBSP_MSGT_LOAD_QUERY_FAIL = 0x09, + CBSP_MSGT_MSG_STATUS_QUERY = 0x0a, + CBSP_MSGT_MSG_STATUS_QUERY_COMPL= 0x0b, + CBSP_MSGT_MSG_STATUS_QUERY_FAIL = 0x0c, + CBSP_MSGT_SET_DRX = 0x0d, + CBSP_MSGT_SET_DRX_COMPL = 0x0e, + CBSP_MSGT_SET_DRX_FAIL = 0x0f, + CBSP_MSGT_RESET = 0x10, + CBSP_MSGT_RESET_COMPL = 0x11, + CBSP_MSGT_RESET_FAIL = 0x12, + CBSP_MSGT_RESTART = 0x13, + CBSP_MSGT_FAILURE = 0x14, + CBSP_MSGT_ERROR_IND = 0x15, + CBSP_MSGT_KEEP_ALIVE = 0x16, + CBSP_MSGT_KEEP_ALIVE_COMPL = 0x17, +}; + +/* 8.2.7 Category */ +enum cbsp_category { + CBSP_CATEG_HIGH_PRIO = 0x00, + CBSP_CATEG_BACKGROUND = 0x01, + CBSP_CATEG_NORMAL = 0x02, +}; + +/* Cell ID Discriminator (8.2.11, ...) */ +enum cbsp_cell_id_disc { + CBSP_CIDD_WHOLE_CGI = 0x0, + CBSP_CIDD_LAC_CI = 0x1, + CBSP_CIDD_CI = 0x2, + CBSP_CIDD_LAI = 0x4, + CBSP_CIDD_LAC = 0x5, + CBSP_CIDD_ALL_IN_BSC = 0x6, +}; + +/* 8.2.13 Cause */ +enum cbsp_cell_id_cause { + CBSP_CAUSE_PARAM_NOT_RECOGNISED = 0x00, + CBSP_CAUSE_PARAM_VAL_INVALID = 0x01, + CBSP_CAUSE_MSG_REF_NOT_IDENTIFIED = 0x02, + CBSP_CAUSE_CELL_ID_NOT_VALID = 0x03, + CBSP_CAUSE_UNRECOGNISED_MSG = 0x04, + CBSP_CAUSE_MISSING_MAND_IE = 0x05, + CBSP_CAUSE_BSC_CAPACITY_EXCEEDED = 0x06, + CBSP_CAUSE_CELL_MEMORY_EXCEEDED = 0x07, + CBSP_CAUSE_BSC_MEMORY_EXCEEDED = 0x08, + CBSP_CAUSE_CB_NOT_SUPPORTED = 0x09, + CBSP_CAUSE_CB_NOT_OPERATIONAL = 0x0a, + CBSP_CAUSE_INCOMPATIBLE_DRX_PARAM = 0x0b, + CBSP_CAUSE_EXT_CHAN_NOT_SUPPORTED = 0x0c, + CBSP_CAUSE_MSG_REF_ALREADY_USED = 0x0d, + CBSP_CAUSE_UNSPECIFIED_ERROR = 0x0e, + CBSP_CAUSE_LAI_OR_LAC_NPT_VALID = 0x0f, +}; + +/* 8.2.20 Chanel Indicator */ +enum cbsp_channel_ind { + CBSP_CHAN_IND_BASIC = 0, + CBSP_CHAN_IND_EXTENDED = 1, +}; + +/* not explicitly specified, but every message starts with those mandatory eleemnts */ +struct cbsp_header { + uint8_t msg_type; + uint8_t len[3]; /* excluding the header */ +} __attribute__((packed)); + +extern const struct value_string cbsp_msg_type_names[]; +extern const struct value_string cbsp_iei_names[]; +extern const struct value_string cbsp_category_names[]; +extern const struct tlv_definition cbsp_att_tlvdef; diff --git a/src/gsm/Makefile.am b/src/gsm/Makefile.am index 5740b67..5b33556 100644 --- a/src/gsm/Makefile.am +++ b/src/gsm/Makefile.am @@ -32,7 +32,7 @@ milenage/milenage.c gan.c ipa.c gsm0341.c apn.c \ gsup.c gsup_sms.c gprs_gea.c gsm0503_conv.c oap.c gsm0808_utils.c \ gsm23003.c mncc.c bts_features.c oap_client.c \ - gsm29118.c gsm48_rest_octets.c + gsm29118.c gsm48_rest_octets.c cbsp.c libgsmint_la_LDFLAGS = -no-undefined libgsmint_la_LIBADD = $(top_builddir)/src/libosmocore.la diff --git a/src/gsm/cbsp.c b/src/gsm/cbsp.c new file mode 100644 index 0000000..a9434c3 --- /dev/null +++ b/src/gsm/cbsp.c @@ -0,0 +1,1185 @@ +/* + * Copyright (C) 2019 Harald Welte + * + * All Rights Reserved + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include + +#include +#include + +#include +#include +#include + +struct msgb *osmo_cbsp_msgb_alloc(const char *name) +{ + /* make the messages rather large as the cell lists can be long! */ + return msgb_alloc_headroom(65535, 16, name); +} + +/*********************************************************************** + * IE Encoding + ***********************************************************************/ + +/* 8.2.6 Cell List */ +static void msgb_put_cbsp_cell_list(struct msgb *msg, const struct osmo_cbsp_cell_list *cl) +{ + const struct osmo_cbsp_cell_ent *ent; + uint8_t *lenptr; + + /* put tag; reserve space for length; put discriminator */ + msgb_put_u8(msg, CBSP_IEI_CELL_LIST); + lenptr = msgb_put(msg, sizeof(uint16_t)); + msgb_put_u8(msg, cl->id_discr); + /* put list elements */ + llist_for_each_entry(ent, &cl->list, list) { + gsm0808_msgb_put_cell_id_u(msg, cl->id_discr, &ent->cell_id); + } + /* update IE length */ + osmo_store16be(msg->tail - (lenptr+2), lenptr); +} + +/* 8.2.11 Failure List (discriminator per entry) */ +static void msgb_put_cbsp_fail_list(struct msgb *msg, const struct llist_head *fl) +{ + const struct osmo_cbsp_fail_ent *ent; + uint8_t *lenptr; + + /* put tag; reserve space for length; put discriminator */ + msgb_put_u8(msg, CBSP_IEI_FAILURE_LIST); + lenptr = msgb_put(msg, sizeof(uint16_t)); + /* put list elements */ + llist_for_each_entry(ent, fl, list) { + msgb_put_u8(msg, ent->id_discr); + gsm0808_msgb_put_cell_id_u(msg, ent->id_discr, &ent->cell_id); + } + /* update IE length */ + osmo_store16be(msg->tail - (lenptr+2), lenptr); +} + +/* 8.2.12 Radio Resource Loading List */ +static void msgb_put_cbsp_loading_list(struct msgb *msg, const struct osmo_cbsp_loading_list *ll) +{ + const struct osmo_cbsp_loading_ent *ent; + uint8_t *lenptr; + + /* put tag; reserve space for length; put discriminator */ + msgb_put_u8(msg, CBSP_IEI_RR_LOADING_LIST); + lenptr = msgb_put(msg, sizeof(uint16_t)); + msgb_put_u8(msg, ll->id_discr); + /* put list elements */ + llist_for_each_entry(ent, &ll->list, list) { + gsm0808_msgb_put_cell_id_u(msg, ll->id_discr, &ent->cell_id); + msgb_put_u8(msg, ent->load[0]); + msgb_put_u8(msg, ent->load[1]); + } + /* update IE length */ + osmo_store16be(msg->tail - (lenptr+2), lenptr); +} + +/* 8.2.10 Completed List */ +static void msgb_put_cbsp_num_compl_list(struct msgb *msg, const struct osmo_cbsp_num_compl_list *cl) +{ + const struct osmo_cbsp_num_compl_ent *ent; + uint8_t *lenptr; + + /* put tag; reserve space for length; put discriminator */ + msgb_put_u8(msg, CBSP_IEI_NUM_BCAST_COMPL_LIST); + lenptr = msgb_put(msg, sizeof(uint16_t)); + msgb_put_u8(msg, cl->id_discr); + /* put list elements */ + llist_for_each_entry(ent, &cl->list, list) { + gsm0808_msgb_put_cell_id_u(msg, cl->id_discr, &ent->cell_id); + msgb_put_u16(msg, ent->num_compl); + msgb_put_u8(msg, ent->num_bcast_info); + } + /* update IE length */ + osmo_store16be(msg->tail - (lenptr+2), lenptr); +} + +static int encode_wperiod(uint32_t secs) +{ + if (secs == 0xffffffff) + return 0; /* infinite */ + if (secs <= 10) + return secs; + if (secs <= 30) + return (secs-10)/2; + if (secs <= 120) + return (secs-30)/5; + if (secs <= 600) + return (secs-120)/10; + if (secs <= 60*60) + return (secs-600)/30; + return -1; +} + +/*********************************************************************** + * Message Encoding + ***********************************************************************/ + +/* 8.1.3.1 WRITE REPLACE */ +static int cbsp_enc_write_repl(struct msgb *msg, const struct osmo_cbsp_write_replace *in) +{ + msgb_tv16_put(msg, CBSP_IEI_MSG_ID, in->msg_id); + msgb_tv16_put(msg, CBSP_IEI_NEW_SERIAL_NR, in->new_serial_nr); + if (in->old_serial_nr) + msgb_tv16_put(msg, CBSP_IEI_OLD_SERIAL_NR, *in->old_serial_nr); + msgb_put_cbsp_cell_list(msg, &in->cell_list); + if (in->is_cbs) { + int num_of_pages = llist_count(&in->u.cbs.msg_content); + struct osmo_cbsp_content *ce; + if (num_of_pages == 0 || num_of_pages > 15) + return -EINVAL; + msgb_tv_put(msg, CBSP_IEI_CHANNEL_IND, in->u.cbs.channel_ind); + msgb_tv_put(msg, CBSP_IEI_CATEGORY, in->u.cbs.category); + msgb_tv16_put(msg, CBSP_IEI_REP_PERIOD, in->u.cbs.rep_period); + msgb_tv16_put(msg, CBSP_IEI_NUM_BCAST_REQ, in->u.cbs.num_bcast_req); + msgb_tv_put(msg, CBSP_IEI_NUM_OF_PAGES, num_of_pages); + msgb_tv_put(msg, CBSP_IEI_DCS, in->u.cbs.dcs); + llist_for_each_entry(ce, &in->u.cbs.msg_content, list) { + uint8_t *out; + /* cannot use msgb_tlv_put() as 'len' isn't actually the length of + * the data field */ + msgb_put_u8(msg, CBSP_IEI_MSG_CONTENT); + msgb_put_u8(msg, ce->user_len); + out = msgb_put(msg, sizeof(ce->data)); + memcpy(out, ce->data, sizeof(ce->data)); + } + } else { + int wperiod = encode_wperiod(in->u.emergency.warning_period); + if (wperiod < 0) + return -EINVAL; + msgb_tv_put(msg, CBSP_IEI_EMERG_IND, in->u.emergency.indicator); + msgb_tv16_put(msg, CBSP_IEI_WARN_TYPE, in->u.emergency.warning_type); + msgb_tlv_put(msg, CBSP_IEI_WARN_SEC_INFO, sizeof(in->u.emergency.warning_sec_info), + in->u.emergency.warning_sec_info); + msgb_tv_put(msg, CBSP_IEI_WARNING_PERIOD, wperiod); + } + return 0; +} + +/* 8.1.3.2 WRITE REPLACE COMPLETE*/ +static int cbsp_enc_write_repl_compl(struct msgb *msg, const struct osmo_cbsp_write_replace_complete *in) +{ + msgb_tv16_put(msg, CBSP_IEI_MSG_ID, in->msg_id); + msgb_tv16_put(msg, CBSP_IEI_NEW_SERIAL_NR, in->new_serial_nr); + if (in->old_serial_nr) + msgb_tv16_put(msg, CBSP_IEI_OLD_SERIAL_NR, *in->old_serial_nr); + + msgb_put_cbsp_num_compl_list(msg, &in->num_compl_list); + msgb_put_cbsp_cell_list(msg, &in->cell_list); + if (in->channel_ind) + msgb_tv_put(msg, CBSP_IEI_CHANNEL_IND, *in->channel_ind); + return 0; +} + +/* 8.1.3.3 WRITE REPLACE FAILURE */ +static int cbsp_enc_write_repl_fail(struct msgb *msg, const struct osmo_cbsp_write_replace_failure *in) +{ + msgb_tv16_put(msg, CBSP_IEI_MSG_ID, in->msg_id); + msgb_tv16_put(msg, CBSP_IEI_NEW_SERIAL_NR, in->new_serial_nr); + if (in->old_serial_nr) + msgb_tv16_put(msg, CBSP_IEI_OLD_SERIAL_NR, *in->old_serial_nr); + + msgb_put_cbsp_fail_list(msg, &in->fail_list); + msgb_put_cbsp_num_compl_list(msg, &in->num_compl_list); + msgb_put_cbsp_cell_list(msg, &in->cell_list); + if (in->channel_ind) + msgb_tv_put(msg, CBSP_IEI_CHANNEL_IND, *in->channel_ind); + return 0; +} + +/* 8.1.3.4 KILL */ +static int cbsp_enc_kill(struct msgb *msg, const struct osmo_cbsp_kill *in) +{ + msgb_tv16_put(msg, CBSP_IEI_MSG_ID, in->msg_id); + msgb_tv16_put(msg, CBSP_IEI_OLD_SERIAL_NR, in->old_serial_nr); + msgb_put_cbsp_cell_list(msg, &in->cell_list); + if (in->channel_ind) + msgb_tv_put(msg, CBSP_IEI_CHANNEL_IND, *in->channel_ind); + return 0; +} + +/* 8.1.3.5 KILL COMPLETE */ +static int cbsp_enc_kill_compl(struct msgb *msg, const struct osmo_cbsp_kill_complete *in) +{ + msgb_tv16_put(msg, CBSP_IEI_MSG_ID, in->msg_id); + msgb_tv16_put(msg, CBSP_IEI_OLD_SERIAL_NR, in->old_serial_nr); + msgb_put_cbsp_num_compl_list(msg, &in->num_compl_list); + msgb_put_cbsp_cell_list(msg, &in->cell_list); + if (in->channel_ind) + msgb_tv_put(msg, CBSP_IEI_CHANNEL_IND, *in->channel_ind); + return 0; +} + +/* 8.1.3.6 KILL FAILURE */ +static int cbsp_enc_kill_fail(struct msgb *msg, const struct osmo_cbsp_kill_failure *in) +{ + msgb_tv16_put(msg, CBSP_IEI_MSG_ID, in->msg_id); + msgb_tv16_put(msg, CBSP_IEI_OLD_SERIAL_NR, in->old_serial_nr); + msgb_put_cbsp_fail_list(msg, &in->fail_list); + msgb_put_cbsp_num_compl_list(msg, &in->num_compl_list); + msgb_put_cbsp_cell_list(msg, &in->cell_list); + if (in->channel_ind) + msgb_tv_put(msg, CBSP_IEI_CHANNEL_IND, *in->channel_ind); + return 0; +} + +/* 8.1.3.7 LOAD QUERY */ +static int cbsp_enc_load_query(struct msgb *msg, const struct osmo_cbsp_load_query *in) +{ + msgb_put_cbsp_cell_list(msg, &in->cell_list); + msgb_tv_put(msg, CBSP_IEI_CHANNEL_IND, in->channel_ind); + return 0; +} + +/* 8.1.3.8 LOAD QUERY COMPLETE */ +static int cbsp_enc_load_query_compl(struct msgb *msg, const struct osmo_cbsp_load_query_complete *in) +{ + msgb_put_cbsp_loading_list(msg, &in->loading_list); + msgb_tv_put(msg, CBSP_IEI_CHANNEL_IND, in->channel_ind); + return 0; +} + +/* 8.1.3.9 LOAD QUERY FAILURE */ +static int cbsp_enc_load_query_fail(struct msgb *msg, const struct osmo_cbsp_load_query_failure *in) +{ + msgb_put_cbsp_fail_list(msg, &in->fail_list); + msgb_tv_put(msg, CBSP_IEI_CHANNEL_IND, in->channel_ind); + msgb_put_cbsp_loading_list(msg, &in->loading_list); + return 0; +} + +/* 8.1.3.10 STATUS QUERY */ +static int cbsp_enc_msg_status_query(struct msgb *msg, const struct osmo_cbsp_msg_status_query *in) +{ + msgb_tv16_put(msg, CBSP_IEI_MSG_ID, in->msg_id); + msgb_tv16_put(msg, CBSP_IEI_OLD_SERIAL_NR, in->old_serial_nr); + msgb_put_cbsp_cell_list(msg, &in->cell_list); + msgb_tv_put(msg, CBSP_IEI_CHANNEL_IND, in->channel_ind); + return 0; +} + +/* 8.1.3.11 STATUS QUERY COMPLETE */ +static int cbsp_enc_msg_status_query_compl(struct msgb *msg, + const struct osmo_cbsp_msg_status_query_complete *in) +{ + msgb_tv16_put(msg, CBSP_IEI_MSG_ID, in->msg_id); + msgb_tv16_put(msg, CBSP_IEI_OLD_SERIAL_NR, in->old_serial_nr); + msgb_put_cbsp_num_compl_list(msg, &in->num_compl_list); + msgb_tv_put(msg, CBSP_IEI_CHANNEL_IND, in->channel_ind); + return 0; +} + +/* 8.1.3.12 STATUS QUERY FAILURE */ +static int cbsp_enc_msg_status_query_fail(struct msgb *msg, + const struct osmo_cbsp_msg_status_query_failure *in) +{ + msgb_tv16_put(msg, CBSP_IEI_MSG_ID, in->msg_id); + msgb_tv16_put(msg, CBSP_IEI_OLD_SERIAL_NR, in->old_serial_nr); + msgb_put_cbsp_fail_list(msg, &in->fail_list); + msgb_tv_put(msg, CBSP_IEI_CHANNEL_IND, in->channel_ind); + msgb_put_cbsp_num_compl_list(msg, &in->num_compl_list); + return 0; +} + +/* 8.1.3.16 RESET */ +static int cbsp_enc_reset(struct msgb *msg, const struct osmo_cbsp_reset *in) +{ + msgb_put_cbsp_cell_list(msg, &in->cell_list); + return 0; +} + +/* 8.1.3.17 RESET COMPLETE */ +static int cbsp_enc_reset_compl(struct msgb *msg, const struct osmo_cbsp_reset_complete *in) +{ + msgb_put_cbsp_cell_list(msg, &in->cell_list); + return 0; +} + +/* 8.1.3.18 RESET FAILURE */ +static int cbsp_enc_reset_fail(struct msgb *msg, const struct osmo_cbsp_reset_failure *in) +{ + msgb_put_cbsp_fail_list(msg, &in->fail_list); + msgb_put_cbsp_cell_list(msg, &in->cell_list); + return 0; +} + +/* 8.1.3.18a KEEP ALIVE */ +static int cbsp_enc_keep_alive(struct msgb *msg, const struct osmo_cbsp_keep_alive *in) +{ + msgb_tv_put(msg, CBSP_IEI_KEEP_ALIVE_REP_PERIOD, in->repetition_period); + return 0; +} + +/* 8.1.3.18b KEEP ALIVE COMPLETE */ +static int cbsp_enc_keep_alive_compl(struct msgb *msg, const struct osmo_cbsp_keep_alive_complete *in) +{ + return 0; +} + +/* 8.1.3.19 RESTART */ +static int cbsp_enc_restart(struct msgb *msg, const struct osmo_cbsp_restart *in) +{ + msgb_put_cbsp_cell_list(msg, &in->cell_list); + msgb_tv_put(msg, CBSP_IEI_BCAST_MSG_TYPE, in->bcast_msg_type); + msgb_tv_put(msg, CBSP_IEI_RECOVERY_IND, in->recovery_ind); + return 0; +} + +/* 8.1.3.20 FAILURE */ +static int cbsp_enc_failure(struct msgb *msg, const struct osmo_cbsp_failure *in) +{ + msgb_put_cbsp_fail_list(msg, &in->fail_list); + msgb_tv_put(msg, CBSP_IEI_BCAST_MSG_TYPE, in->bcast_msg_type); + return 0; +} + +/* 8.1.3.21 ERROR INDICATION */ +static int cbsp_enc_error_ind(struct msgb *msg, const struct osmo_cbsp_error_ind *in) +{ + msgb_tv_put(msg, CBSP_IEI_CAUSE, in->cause); + if (in->msg_id) + msgb_tv16_put(msg, CBSP_IEI_MSG_ID, *in->msg_id); + if (in->new_serial_nr) + msgb_tv16_put(msg, CBSP_IEI_NEW_SERIAL_NR, *in->new_serial_nr); + if (in->old_serial_nr) + msgb_tv16_put(msg, CBSP_IEI_OLD_SERIAL_NR, *in->old_serial_nr); + if (in->channel_ind) + msgb_tv_put(msg, CBSP_IEI_CHANNEL_IND, *in->channel_ind); + return 0; +} + +struct msgb *osmo_cbsp_encode(const struct osmo_cbsp_decoded *in) +{ + struct msgb *msg = osmo_cbsp_msgb_alloc(__func__); + unsigned int len; + int rc; + + if (!msg) + return NULL; + + switch (in->msg_type) { + case CBSP_MSGT_WRITE_REPLACE: + rc = cbsp_enc_write_repl(msg, &in->u.write_replace); + break; + case CBSP_MSGT_WRITE_REPLACE_COMPL: + rc = cbsp_enc_write_repl_compl(msg, &in->u.write_replace_compl); + break; + case CBSP_MSGT_WRITE_REPLACE_FAIL: + rc = cbsp_enc_write_repl_fail(msg, &in->u.write_replace_fail); + break; + case CBSP_MSGT_KILL: + rc = cbsp_enc_kill(msg, &in->u.kill); + break; + case CBSP_MSGT_KILL_COMPL: + rc = cbsp_enc_kill_compl(msg, &in->u.kill_compl); + break; + case CBSP_MSGT_KILL_FAIL: + rc = cbsp_enc_kill_fail(msg, &in->u.kill_fail); + break; + case CBSP_MSGT_LOAD_QUERY: + rc = cbsp_enc_load_query(msg, &in->u.load_query); + break; + case CBSP_MSGT_LOAD_QUERY_COMPL: + rc = cbsp_enc_load_query_compl(msg, &in->u.load_query_compl); + break; + case CBSP_MSGT_LOAD_QUERY_FAIL: + rc = cbsp_enc_load_query_fail(msg, &in->u.load_query_fail); + break; + case CBSP_MSGT_MSG_STATUS_QUERY: + rc = cbsp_enc_msg_status_query(msg, &in->u.msg_status_query); + break; + case CBSP_MSGT_MSG_STATUS_QUERY_COMPL: + rc = cbsp_enc_msg_status_query_compl(msg, &in->u.msg_status_query_compl); + break; + case CBSP_MSGT_MSG_STATUS_QUERY_FAIL: + rc = cbsp_enc_msg_status_query_fail(msg, &in->u.msg_status_query_fail); + break; + case CBSP_MSGT_RESET: + rc = cbsp_enc_reset(msg, &in->u.reset); + break; + case CBSP_MSGT_RESET_COMPL: + rc = cbsp_enc_reset_compl(msg, &in->u.reset_compl); + break; + case CBSP_MSGT_RESET_FAIL: + rc = cbsp_enc_reset_fail(msg, &in->u.reset_fail); + break; + case CBSP_MSGT_RESTART: + rc = cbsp_enc_restart(msg, &in->u.restart); + break; + case CBSP_MSGT_FAILURE: + rc = cbsp_enc_failure(msg, &in->u.failure); + break; + case CBSP_MSGT_ERROR_IND: + rc = cbsp_enc_error_ind(msg, &in->u.error_ind); + break; + case CBSP_MSGT_KEEP_ALIVE: + rc = cbsp_enc_keep_alive(msg, &in->u.keep_alive); + break; + case CBSP_MSGT_KEEP_ALIVE_COMPL: + rc = cbsp_enc_keep_alive_compl(msg, &in->u.keep_alive_compl); + break; + case CBSP_MSGT_SET_DRX: + case CBSP_MSGT_SET_DRX_COMPL: + case CBSP_MSGT_SET_DRX_FAIL: + rc = -1; + break; + default: + rc = -1; + break; + } + + if (rc < 0) { + msgb_free(msg); + return NULL; + } + + /* push header in front */ + len = msgb_length(msg); + msgb_push_u8(msg, len & 0xff); + msgb_push_u8(msg, (len >> 8) & 0xff); + msgb_push_u8(msg, (len >> 16) & 0xff); + msgb_push_u8(msg, in->msg_type); + + return msg; +} + +/*********************************************************************** + * IE Decoding + ***********************************************************************/ + +/* 8.2.6 Cell List */ +static int cbsp_decode_cell_list(struct osmo_cbsp_cell_list *cl, void *ctx, + const uint8_t *buf, unsigned int len) +{ + const uint8_t *cur = buf; + int rc; + + cl->id_discr = *cur++; + + while (cur < buf + len) { + struct osmo_cbsp_cell_ent *ent = talloc_zero(ctx, struct osmo_cbsp_cell_ent); + unsigned int len_remain = len - (cur - buf); + OSMO_ASSERT(ent); + rc = gsm0808_decode_cell_id_u(&ent->cell_id, cl->id_discr, cur, len_remain); + if (rc < 0) + return rc; + cur += rc; + llist_add_tail(&ent->list, &cl->list); + } + return 0; +} + +/* 8.2.11 Failure List (discriminator per entry) */ +static int cbsp_decode_fail_list(struct llist_head *fl, void *ctx, + const uint8_t *buf, unsigned int len) +{ + const uint8_t *cur = buf; + int rc; + + while (cur < buf + len) { + struct osmo_cbsp_fail_ent *ent = talloc_zero(ctx, struct osmo_cbsp_fail_ent); + unsigned int len_remain = len - (cur - buf); + OSMO_ASSERT(ent); + ent->id_discr = cur[0]; + rc = gsm0808_decode_cell_id_u(&ent->cell_id, ent->id_discr, cur+1, len_remain-1); + if (rc < 0) + return rc; + cur += rc; + llist_add_tail(&ent->list, fl); + } + return 0; +} + +/* 8.2.12 Radio Resource Loading List */ +static int cbsp_decode_loading_list(struct osmo_cbsp_loading_list *ll, void *ctx, + const uint8_t *buf, unsigned int len) +{ + const uint8_t *cur = buf; + int rc; + + ll->id_discr = *cur++; + while (cur < buf + len) { + struct osmo_cbsp_loading_ent *ent = talloc_zero(ctx, struct osmo_cbsp_loading_ent); + unsigned int len_remain = len - (cur - buf); + OSMO_ASSERT(ent); + rc = gsm0808_decode_cell_id_u(&ent->cell_id, ll->id_discr, cur, len_remain); + if (rc < 0) + return rc; + cur += rc; + if (cur + 2 > buf + len) { + talloc_free(ent); + return -EINVAL; + } + ent->load[0] = *cur++; + ent->load[1] = *cur++; + llist_add_tail(&ent->list, &ll->list); + } + return 0; +} + +/* 8.2.10 Completed List */ +static int cbsp_decode_num_compl_list(struct osmo_cbsp_num_compl_list *cl, void *ctx, + const uint8_t *buf, unsigned int len) +{ + const uint8_t *cur = buf; + int rc; + + cl->id_discr = *cur++; + while (cur < buf + len) { + struct osmo_cbsp_num_compl_ent *ent = talloc_zero(ctx, struct osmo_cbsp_num_compl_ent); + unsigned int len_remain = len - (cur - buf); + OSMO_ASSERT(ent); + rc = gsm0808_decode_cell_id_u(&ent->cell_id, cl->id_discr, cur, len_remain); + if (rc < 0) + return rc; + cur += rc; + if (cur + 3 > buf + len) { + talloc_free(ent); + return -EINVAL; + } + ent->num_compl = osmo_load16be(cur); cur += 2; + ent->num_bcast_info = *cur++; + llist_add_tail(&ent->list, &cl->list); + } + return 0; +} + +/* 8.2.25 */ +static uint32_t decode_wperiod(uint8_t in) +{ + if (in == 0x00) + return 0xffffffff; /* infinite */ + if (in <= 10) + return in; + if (in <= 20) + return 10 + (in - 10)*2; + if (in <= 38) + return 30 + (in - 20)*5; + if (in <= 86) + return 120 + (in - 38)*10; + if (in <= 186) + return 600 + (in - 86)*30; + else + return 0; +} + + +/*********************************************************************** + * Message Decoding + ***********************************************************************/ + +/* 8.1.3.1 WRITE REPLACE */ +static int cbsp_dec_write_repl(struct osmo_cbsp_write_replace *out, const struct tlv_parsed *tp, + struct msgb *in) +{ + unsigned int i; + + /* check for mandatory IEs */ + if (!TLVP_PRESENT(tp, CBSP_IEI_MSG_ID) || + !TLVP_PRESENT(tp, CBSP_IEI_NEW_SERIAL_NR) || + !TLVP_PRESENT(tp, CBSP_IEI_CELL_LIST)) + return -EINVAL; + + out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); + out->new_serial_nr = tlvp_val16be(tp, CBSP_IEI_NEW_SERIAL_NR); + if (TLVP_PRESENT(tp, CBSP_IEI_OLD_SERIAL_NR)) { + out->old_serial_nr = talloc(out, uint16_t); + *out->old_serial_nr = tlvp_val16be(tp, CBSP_IEI_OLD_SERIAL_NR); + } + + INIT_LLIST_HEAD(&out->cell_list.list); + cbsp_decode_cell_list(&out->cell_list, out, TLVP_VAL(tp, CBSP_IEI_CELL_LIST), + TLVP_LEN(tp, CBSP_IEI_CELL_LIST)); + + if (TLVP_PRESENT(tp, CBSP_IEI_CHANNEL_IND)) { + uint8_t num_of_pages; + INIT_LLIST_HEAD(&out->u.cbs.msg_content); + if (TLVP_PRESENT(tp, CBSP_IEI_EMERG_IND)) + return -EINVAL; + if (!TLVP_PRESENT(tp, CBSP_IEI_CATEGORY) || + !TLVP_PRESENT(tp, CBSP_IEI_REP_PERIOD) || + !TLVP_PRESENT(tp, CBSP_IEI_NUM_BCAST_REQ) || + !TLVP_PRESENT(tp, CBSP_IEI_NUM_OF_PAGES) || + !TLVP_PRESENT(tp, CBSP_IEI_DCS)) + return -EINVAL; + out->is_cbs = true; + out->u.cbs.channel_ind = *TLVP_VAL(tp, CBSP_IEI_CHANNEL_IND); + out->u.cbs.category = *TLVP_VAL(tp, CBSP_IEI_CATEGORY); + out->u.cbs.rep_period = tlvp_val16be(tp, CBSP_IEI_REP_PERIOD); + out->u.cbs.num_bcast_req = tlvp_val16be(tp, CBSP_IEI_NUM_BCAST_REQ); + num_of_pages = *TLVP_VAL(tp, CBSP_IEI_NUM_OF_PAGES); + if (num_of_pages < 1) + return -EINVAL; + /* parse pages */ + for (i = 0; i < num_of_pages; i++) { + const uint8_t *ie = TLVP_VAL(&tp[i], CBSP_IEI_MSG_CONTENT); + struct osmo_cbsp_content *page; + if (!ie) + return -EINVAL; + page = talloc_zero(out, struct osmo_cbsp_content); + OSMO_ASSERT(page); + page->user_len = *(ie-1); /* length byte before payload */ + memcpy(page->data, ie, sizeof(page->data)); + llist_add_tail(&page->list, &out->u.cbs.msg_content); + } + } else { + if (!TLVP_PRES_LEN(tp, CBSP_IEI_EMERG_IND, 1) || + !TLVP_PRES_LEN(tp, CBSP_IEI_WARN_TYPE, 2) || + !TLVP_PRES_LEN(tp, CBSP_IEI_WARN_SEC_INFO, 50) || + !TLVP_PRES_LEN(tp, CBSP_IEI_WARNING_PERIOD, 1)) + return -EINVAL; + out->u.emergency.indicator = *TLVP_VAL(tp, CBSP_IEI_EMERG_IND); + out->u.emergency.warning_type = tlvp_val16be(tp, CBSP_IEI_WARN_TYPE); + memcpy(&out->u.emergency.warning_sec_info, TLVP_VAL(tp, CBSP_IEI_WARN_SEC_INFO), + sizeof(out->u.emergency.warning_sec_info)); + out->u.emergency.warning_period = decode_wperiod(*TLVP_VAL(tp, CBSP_IEI_WARNING_PERIOD)); + } + return 0; +} + +/* 8.1.3.2 WRITE REPLACE COMPLETE*/ +static int cbsp_dec_write_repl_compl(struct osmo_cbsp_write_replace_complete *out, + const struct tlv_parsed *tp, struct msgb *in) +{ + if (!TLVP_PRES_LEN(tp, CBSP_IEI_MSG_ID, 2) || + !TLVP_PRES_LEN(tp, CBSP_IEI_NEW_SERIAL_NR, 2)) + return -EINVAL; + + out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); + out->new_serial_nr = tlvp_val16be(tp, CBSP_IEI_NEW_SERIAL_NR); + if (TLVP_PRES_LEN(tp, CBSP_IEI_OLD_SERIAL_NR, 2)) { + out->old_serial_nr = talloc(out, uint16_t); + *out->old_serial_nr = tlvp_val16be(tp, CBSP_IEI_OLD_SERIAL_NR); + } + + INIT_LLIST_HEAD(&out->num_compl_list.list); + if (TLVP_PRES_LEN(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST, 7)) { + cbsp_decode_num_compl_list(&out->num_compl_list, out, + TLVP_VAL(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST), + TLVP_LEN(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST)); + } + + INIT_LLIST_HEAD(&out->cell_list.list); + cbsp_decode_cell_list(&out->cell_list, out, TLVP_VAL(tp, CBSP_IEI_CELL_LIST), + TLVP_LEN(tp, CBSP_IEI_CELL_LIST)); + + if (TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) { + out->channel_ind = talloc(out, enum cbsp_channel_ind); + *out->channel_ind = *TLVP_VAL(tp, CBSP_IEI_CHANNEL_IND); + } + return 0; +} + +/* 8.1.3.3 WRITE REPLACE FAILURE */ +static int cbsp_dec_write_repl_fail(struct osmo_cbsp_write_replace_failure *out, + const struct tlv_parsed *tp, struct msgb *in) +{ + if (!TLVP_PRES_LEN(tp, CBSP_IEI_MSG_ID, 2) || + !TLVP_PRES_LEN(tp, CBSP_IEI_NEW_SERIAL_NR, 2) || + !TLVP_PRES_LEN(tp, CBSP_IEI_FAILURE_LIST, 5)) + return -EINVAL; + + out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); + out->new_serial_nr = tlvp_val16be(tp, CBSP_IEI_NEW_SERIAL_NR); + if (TLVP_PRES_LEN(tp, CBSP_IEI_OLD_SERIAL_NR, 2)) { + out->old_serial_nr = talloc(out, uint16_t); + *out->old_serial_nr = tlvp_val16be(tp, CBSP_IEI_OLD_SERIAL_NR); + } + + INIT_LLIST_HEAD(&out->fail_list); + cbsp_decode_fail_list(&out->fail_list, out, + TLVP_VAL(tp, CBSP_IEI_FAILURE_LIST), + TLVP_LEN(tp, CBSP_IEI_FAILURE_LIST)); + + INIT_LLIST_HEAD(&out->num_compl_list.list); + if (TLVP_PRES_LEN(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST, 7)) { + cbsp_decode_num_compl_list(&out->num_compl_list, out, + TLVP_VAL(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST), + TLVP_LEN(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST)); + } + + INIT_LLIST_HEAD(&out->cell_list.list); + if (TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1)) { + cbsp_decode_cell_list(&out->cell_list, out, TLVP_VAL(tp, CBSP_IEI_CELL_LIST), + TLVP_LEN(tp, CBSP_IEI_CELL_LIST)); + } + + if (TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) { + out->channel_ind = talloc(out, enum cbsp_channel_ind); + *out->channel_ind = *TLVP_VAL(tp, CBSP_IEI_CHANNEL_IND); + } + return 0; +} + +/* 8.1.3.4 KILL */ +static int cbsp_dec_kill(struct osmo_cbsp_kill *out, const struct tlv_parsed *tp, struct msgb *in) +{ + if (!TLVP_PRES_LEN(tp, CBSP_IEI_MSG_ID, 2) || + !TLVP_PRES_LEN(tp, CBSP_IEI_OLD_SERIAL_NR, 2) || + !TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1)) + return -EINVAL; + out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); + out->old_serial_nr = tlvp_val16be(tp, CBSP_IEI_OLD_SERIAL_NR); + + INIT_LLIST_HEAD(&out->cell_list.list); + cbsp_decode_cell_list(&out->cell_list, out, TLVP_VAL(tp, CBSP_IEI_CELL_LIST), + TLVP_LEN(tp, CBSP_IEI_CELL_LIST)); + + if (TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) { + out->channel_ind = talloc(out, enum cbsp_channel_ind); + *out->channel_ind = *TLVP_VAL(tp, CBSP_IEI_CHANNEL_IND); + } + return 0; +} + +/* 8.1.3.5 KILL COMPLETE */ +static int cbsp_dec_kill_compl(struct osmo_cbsp_kill_complete *out, const struct tlv_parsed *tp, + struct msgb *in) +{ + if (!TLVP_PRES_LEN(tp, CBSP_IEI_MSG_ID, 2) || + !TLVP_PRES_LEN(tp, CBSP_IEI_OLD_SERIAL_NR, 2) || + !TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1)) + return -EINVAL; + + out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); + out->old_serial_nr = tlvp_val16be(tp, CBSP_IEI_OLD_SERIAL_NR); + + INIT_LLIST_HEAD(&out->num_compl_list.list); + if (TLVP_PRES_LEN(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST, 7)) { + cbsp_decode_num_compl_list(&out->num_compl_list, out, + TLVP_VAL(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST), + TLVP_LEN(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST)); + } + + INIT_LLIST_HEAD(&out->cell_list.list); + cbsp_decode_cell_list(&out->cell_list, out, TLVP_VAL(tp, CBSP_IEI_CELL_LIST), + TLVP_LEN(tp, CBSP_IEI_CELL_LIST)); + + if (TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) { + out->channel_ind = talloc(out, enum cbsp_channel_ind); + *out->channel_ind = *TLVP_VAL(tp, CBSP_IEI_CHANNEL_IND); + } + return 0; +} + +/* 8.1.3.6 KILL FAILURE */ +static int cbsp_dec_kill_fail(struct osmo_cbsp_kill_failure *out, const struct tlv_parsed *tp, + struct msgb *in) +{ + if (!TLVP_PRES_LEN(tp, CBSP_IEI_MSG_ID, 2) || + !TLVP_PRES_LEN(tp, CBSP_IEI_OLD_SERIAL_NR, 2) || + !TLVP_PRES_LEN(tp, CBSP_IEI_FAILURE_LIST, 5)) + return -EINVAL; + + out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); + out->old_serial_nr = tlvp_val16be(tp, CBSP_IEI_OLD_SERIAL_NR); + + INIT_LLIST_HEAD(&out->fail_list); + cbsp_decode_fail_list(&out->fail_list, out, + TLVP_VAL(tp, CBSP_IEI_FAILURE_LIST), + TLVP_LEN(tp, CBSP_IEI_FAILURE_LIST)); + + INIT_LLIST_HEAD(&out->num_compl_list.list); + if (TLVP_PRES_LEN(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST, 7)) { + cbsp_decode_num_compl_list(&out->num_compl_list, out, + TLVP_VAL(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST), + TLVP_LEN(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST)); + } + + INIT_LLIST_HEAD(&out->cell_list.list); + if (TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1)) { + cbsp_decode_cell_list(&out->cell_list, out, TLVP_VAL(tp, CBSP_IEI_CELL_LIST), + TLVP_LEN(tp, CBSP_IEI_CELL_LIST)); + } + + if (TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) { + out->channel_ind = talloc(out, enum cbsp_channel_ind); + *out->channel_ind = *TLVP_VAL(tp, CBSP_IEI_CHANNEL_IND); + } + return 0; +} + +/* 8.1.3.7 LOAD QUERY */ +static int cbsp_dec_load_query(struct osmo_cbsp_load_query *out, const struct tlv_parsed *tp, + struct msgb *in) +{ + if (!TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1) || + !TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) + return -EINVAL; + + INIT_LLIST_HEAD(&out->cell_list.list); + cbsp_decode_cell_list(&out->cell_list, out, TLVP_VAL(tp, CBSP_IEI_CELL_LIST), + TLVP_LEN(tp, CBSP_IEI_CELL_LIST)); + + out->channel_ind = *TLVP_VAL(tp, CBSP_IEI_CHANNEL_IND); + return 0; +} + +/* 8.1.3.8 LOAD QUERY COMPLETE */ +static int cbsp_dec_load_query_compl(struct osmo_cbsp_load_query_complete *out, + const struct tlv_parsed *tp, struct msgb *in) +{ + if (!TLVP_PRES_LEN(tp, CBSP_IEI_RR_LOADING_LIST, 6) || + !TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) + return -EINVAL; + + INIT_LLIST_HEAD(&out->loading_list.list); + cbsp_decode_loading_list(&out->loading_list, out, + TLVP_VAL(tp, CBSP_IEI_RR_LOADING_LIST), + TLVP_LEN(tp, CBSP_IEI_RR_LOADING_LIST)); + + out->channel_ind = *TLVP_VAL(tp, CBSP_IEI_CHANNEL_IND); + return 0; +} + +/* 8.1.3.9 LOAD QUERY FAILURE */ +static int cbsp_dec_load_query_fail(struct osmo_cbsp_load_query_failure *out, + const struct tlv_parsed *tp, struct msgb *in) +{ + if (!TLVP_PRES_LEN(tp, CBSP_IEI_FAILURE_LIST, 5) || + !TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) + return -EINVAL; + + INIT_LLIST_HEAD(&out->fail_list); + cbsp_decode_fail_list(&out->fail_list, out, + TLVP_VAL(tp, CBSP_IEI_FAILURE_LIST), + TLVP_LEN(tp, CBSP_IEI_FAILURE_LIST)); + + out->channel_ind = *TLVP_VAL(tp, CBSP_IEI_CHANNEL_IND); + + INIT_LLIST_HEAD(&out->loading_list.list); + if (TLVP_PRES_LEN(tp, CBSP_IEI_RR_LOADING_LIST, 6)) { + cbsp_decode_loading_list(&out->loading_list, out, + TLVP_VAL(tp, CBSP_IEI_RR_LOADING_LIST), + TLVP_LEN(tp, CBSP_IEI_RR_LOADING_LIST)); + } + return 0; +} + +/* 8.1.3.10 STATUS QUERY */ +static int cbsp_dec_msg_status_query(struct osmo_cbsp_msg_status_query *out, + const struct tlv_parsed *tp, struct msgb *in) +{ + if (!TLVP_PRES_LEN(tp, CBSP_IEI_MSG_ID, 2) || + !TLVP_PRES_LEN(tp, CBSP_IEI_OLD_SERIAL_NR, 2) || + !TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1) || + !TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) + return -EINVAL; + out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); + out->old_serial_nr = tlvp_val16be(tp, CBSP_IEI_OLD_SERIAL_NR); + + INIT_LLIST_HEAD(&out->cell_list.list); + cbsp_decode_cell_list(&out->cell_list, out, TLVP_VAL(tp, CBSP_IEI_CELL_LIST), + TLVP_LEN(tp, CBSP_IEI_CELL_LIST)); + + out->channel_ind = *TLVP_VAL(tp, CBSP_IEI_CHANNEL_IND); + return 0; +} + +/* 8.1.3.11 STATUS QUERY COMPLETE */ +static int cbsp_dec_msg_status_query_compl(struct osmo_cbsp_msg_status_query_complete *out, + const struct tlv_parsed *tp, struct msgb *in) +{ + if (!TLVP_PRES_LEN(tp, CBSP_IEI_MSG_ID, 2) || + !TLVP_PRES_LEN(tp, CBSP_IEI_OLD_SERIAL_NR, 2) || + !TLVP_PRES_LEN(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST, 7) || + !TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) + return -EINVAL; + + out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); + out->old_serial_nr = tlvp_val16be(tp, CBSP_IEI_OLD_SERIAL_NR); + + INIT_LLIST_HEAD(&out->num_compl_list.list); + cbsp_decode_num_compl_list(&out->num_compl_list, out, + TLVP_VAL(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST), + TLVP_LEN(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST)); + out->channel_ind = *TLVP_VAL(tp, CBSP_IEI_CHANNEL_IND); + return 0; +} + +/* 8.1.3.12 STATUS QUERY FAILURE */ +static int cbsp_dec_msg_status_query_fail(struct osmo_cbsp_msg_status_query_failure *out, + const struct tlv_parsed *tp, struct msgb *in) +{ + if (!TLVP_PRES_LEN(tp, CBSP_IEI_MSG_ID, 2) || + !TLVP_PRES_LEN(tp, CBSP_IEI_OLD_SERIAL_NR, 2) || + !TLVP_PRES_LEN(tp, CBSP_IEI_FAILURE_LIST, 5) || + !TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) + return -EINVAL; + + out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); + out->old_serial_nr = tlvp_val16be(tp, CBSP_IEI_OLD_SERIAL_NR); + + INIT_LLIST_HEAD(&out->fail_list); + cbsp_decode_fail_list(&out->fail_list, out, + TLVP_VAL(tp, CBSP_IEI_FAILURE_LIST), + TLVP_LEN(tp, CBSP_IEI_FAILURE_LIST)); + + out->channel_ind = *TLVP_VAL(tp, CBSP_IEI_CHANNEL_IND); + + INIT_LLIST_HEAD(&out->num_compl_list.list); + if (TLVP_PRES_LEN(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST, 7)) { + cbsp_decode_num_compl_list(&out->num_compl_list, out, + TLVP_VAL(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST), + TLVP_LEN(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST)); + } + return 0; +} + +/* 8.1.3.16 RESET */ +static int cbsp_dec_reset(struct osmo_cbsp_reset *out, const struct tlv_parsed *tp, struct msgb *in) +{ + if (!TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1)) + return -EINVAL; + + INIT_LLIST_HEAD(&out->cell_list.list); + cbsp_decode_cell_list(&out->cell_list, out, TLVP_VAL(tp, CBSP_IEI_CELL_LIST), + TLVP_LEN(tp, CBSP_IEI_CELL_LIST)); + return 0; +} + +/* 8.1.3.17 RESET COMPLETE */ +static int cbsp_dec_reset_compl(struct osmo_cbsp_reset_complete *out, const struct tlv_parsed *tp, + struct msgb *in) +{ + if (!TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1)) + return -EINVAL; + + INIT_LLIST_HEAD(&out->cell_list.list); + cbsp_decode_cell_list(&out->cell_list, out, TLVP_VAL(tp, CBSP_IEI_CELL_LIST), + TLVP_LEN(tp, CBSP_IEI_CELL_LIST)); + return 0; +} + +/* 8.1.3.18 RESET FAILURE */ +static int cbsp_dec_reset_fail(struct osmo_cbsp_reset_failure *out, const struct tlv_parsed *tp, + struct msgb *in) +{ + if (!TLVP_PRES_LEN(tp, CBSP_IEI_FAILURE_LIST, 5)) + return -EINVAL; + + INIT_LLIST_HEAD(&out->fail_list); + cbsp_decode_fail_list(&out->fail_list, out, + TLVP_VAL(tp, CBSP_IEI_FAILURE_LIST), + TLVP_LEN(tp, CBSP_IEI_FAILURE_LIST)); + + INIT_LLIST_HEAD(&out->cell_list.list); + if (TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1)) { + cbsp_decode_cell_list(&out->cell_list, out, TLVP_VAL(tp, CBSP_IEI_CELL_LIST), + TLVP_LEN(tp, CBSP_IEI_CELL_LIST)); + } + return 0; +} + +/* 8.1.3.18a KEEP ALIVE */ +static int cbsp_dec_keep_alive(struct osmo_cbsp_keep_alive *out, const struct tlv_parsed *tp, + struct msgb *in) +{ + if (!TLVP_PRES_LEN(tp, CBSP_IEI_KEEP_ALIVE_REP_PERIOD, 1)) + return -EINVAL; + + out->repetition_period = *TLVP_VAL(tp, CBSP_IEI_KEEP_ALIVE_REP_PERIOD); + return 0; +} + +/* 8.1.3.18b KEEP ALIVE COMPLETE */ +static int cbsp_dec_keep_alive_compl(struct osmo_cbsp_keep_alive_complete *out, + const struct tlv_parsed *tp, struct msgb *in) +{ + return 0; +} + +/* 8.1.3.19 RESTART */ +static int cbsp_dec_restart(struct osmo_cbsp_restart *out, const struct tlv_parsed *tp, + struct msgb *in) +{ + if (!TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1) || + !TLVP_PRES_LEN(tp, CBSP_IEI_BCAST_MSG_TYPE, 1) || + !TLVP_PRES_LEN(tp, CBSP_IEI_RECOVERY_IND, 1)) + return -EINVAL; + + INIT_LLIST_HEAD(&out->cell_list.list); + cbsp_decode_cell_list(&out->cell_list, out, TLVP_VAL(tp, CBSP_IEI_CELL_LIST), + TLVP_LEN(tp, CBSP_IEI_CELL_LIST)); + + out->bcast_msg_type = *TLVP_VAL(tp, CBSP_IEI_BCAST_MSG_TYPE); + out->recovery_ind = *TLVP_VAL(tp, CBSP_IEI_RECOVERY_IND); + return 0; +} + +/* 8.1.3.20 FAILURE */ +static int cbsp_dec_failure(struct osmo_cbsp_failure *out, const struct tlv_parsed *tp, struct msgb *in) +{ + if (!TLVP_PRES_LEN(tp, CBSP_IEI_FAILURE_LIST, 5) || + !TLVP_PRES_LEN(tp, CBSP_IEI_BCAST_MSG_TYPE, 1)) + return -EINVAL; + + INIT_LLIST_HEAD(&out->fail_list); + cbsp_decode_fail_list(&out->fail_list, out, + TLVP_VAL(tp, CBSP_IEI_FAILURE_LIST), + TLVP_LEN(tp, CBSP_IEI_FAILURE_LIST)); + + out->bcast_msg_type = *TLVP_VAL(tp, CBSP_IEI_BCAST_MSG_TYPE); + return 0; +} + +/* 8.1.3.21 ERROR INDICATION */ +static int cbsp_dec_error_ind(struct osmo_cbsp_error_ind *out, const struct tlv_parsed *tp, + struct msgb *in) +{ + if (!TLVP_PRES_LEN(tp, CBSP_IEI_CAUSE, 1)) + return -EINVAL; + + out->cause = *TLVP_VAL(tp, CBSP_IEI_CAUSE); + if (TLVP_PRES_LEN(tp, CBSP_IEI_MSG_ID, 2)) { + out->msg_id = talloc(out, uint16_t); + *out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); + } + if (TLVP_PRES_LEN(tp, CBSP_IEI_NEW_SERIAL_NR, 2)) { + out->new_serial_nr = talloc(out, uint16_t); + *out->new_serial_nr = tlvp_val16be(tp, CBSP_IEI_NEW_SERIAL_NR); + } + if (TLVP_PRES_LEN(tp, CBSP_IEI_OLD_SERIAL_NR, 2)) { + out->old_serial_nr = talloc(out, uint16_t); + *out->old_serial_nr = tlvp_val16be(tp, CBSP_IEI_OLD_SERIAL_NR); + } + if (TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) { + out->channel_ind = talloc(out, enum cbsp_channel_ind); + *out->channel_ind = *TLVP_VAL(tp, CBSP_IEI_CHANNEL_IND); + } + return 0; +} + +struct osmo_cbsp_decoded *osmo_cbsp_decode(void *ctx, struct msgb *in) +{ + struct osmo_cbsp_decoded *out = talloc_zero(ctx, struct osmo_cbsp_decoded); + const struct cbsp_header *h = msgb_l1(in); + struct tlv_parsed tp[16]; /* max. number of pages in a given CBS message */ + unsigned int len; + int rc; + + if (!out) + return NULL; + + if (msgb_l1len(in) < sizeof(*h)) { + goto out_err; + } + len = h->len[0] << 16 | h->len[1] << 8 | h->len[2]; + + /* discard messages where indicated length is more than we have */ + if (len > msgb_l2len(in)) { + goto out_err; + } + + /* trim any messages with extra payload at the end */ + if (len < msgb_l2len(in)) + msgb_trim(in, (in->l2h - in->data) + msgb_l2len(in)); + out->msg_type = h->msg_type; + + rc = tlv_parse2(tp, ARRAY_SIZE(tp), &cbsp_att_tlvdef, msgb_l2(in), msgb_l2len(in), 0, 0); + if (rc < 0) { + goto out_err; + } + + switch (h->msg_type) { + case CBSP_MSGT_WRITE_REPLACE: + rc = cbsp_dec_write_repl(&out->u.write_replace, tp, in); + break; + case CBSP_MSGT_WRITE_REPLACE_COMPL: + rc = cbsp_dec_write_repl_compl(&out->u.write_replace_compl, tp, in); + break; + case CBSP_MSGT_WRITE_REPLACE_FAIL: + rc = cbsp_dec_write_repl_fail(&out->u.write_replace_fail, tp, in); + break; + case CBSP_MSGT_KILL: + rc = cbsp_dec_kill(&out->u.kill, tp, in); + break; + case CBSP_MSGT_KILL_COMPL: + rc = cbsp_dec_kill_compl(&out->u.kill_compl, tp, in); + break; + case CBSP_MSGT_KILL_FAIL: + rc = cbsp_dec_kill_fail(&out->u.kill_fail, tp, in); + break; + case CBSP_MSGT_LOAD_QUERY: + rc = cbsp_dec_load_query(&out->u.load_query, tp, in); + break; + case CBSP_MSGT_LOAD_QUERY_COMPL: + rc = cbsp_dec_load_query_compl(&out->u.load_query_compl, tp, in); + break; + case CBSP_MSGT_LOAD_QUERY_FAIL: + rc = cbsp_dec_load_query_fail(&out->u.load_query_fail, tp, in); + break; + case CBSP_MSGT_MSG_STATUS_QUERY: + rc = cbsp_dec_msg_status_query(&out->u.msg_status_query, tp, in); + break; + case CBSP_MSGT_MSG_STATUS_QUERY_COMPL: + rc = cbsp_dec_msg_status_query_compl(&out->u.msg_status_query_compl, tp, in); + break; + case CBSP_MSGT_MSG_STATUS_QUERY_FAIL: + rc = cbsp_dec_msg_status_query_fail(&out->u.msg_status_query_fail, tp, in); + break; + case CBSP_MSGT_RESET: + rc = cbsp_dec_reset(&out->u.reset, tp, in); + break; + case CBSP_MSGT_RESET_COMPL: + rc = cbsp_dec_reset_compl(&out->u.reset_compl, tp, in); + break; + case CBSP_MSGT_RESET_FAIL: + rc = cbsp_dec_reset_fail(&out->u.reset_fail, tp, in); + break; + case CBSP_MSGT_RESTART: + rc = cbsp_dec_restart(&out->u.restart, tp, in); + break; + case CBSP_MSGT_FAILURE: + rc = cbsp_dec_failure(&out->u.failure, tp, in); + break; + case CBSP_MSGT_ERROR_IND: + rc = cbsp_dec_error_ind(&out->u.error_ind, tp, in); + break; + case CBSP_MSGT_KEEP_ALIVE: + rc = cbsp_dec_keep_alive(&out->u.keep_alive, tp, in); + break; + case CBSP_MSGT_KEEP_ALIVE_COMPL: + rc = cbsp_dec_keep_alive_compl(&out->u.keep_alive_compl, tp, in); + break; + case CBSP_MSGT_SET_DRX: + case CBSP_MSGT_SET_DRX_COMPL: + case CBSP_MSGT_SET_DRX_FAIL: + rc = -1; + break; + default: + rc = -1; + break; + } + + if (rc < 0) { + goto out_err; + } + + return out; + +out_err: + talloc_free(out); + return NULL; +} diff --git a/src/gsm/gsm48049.c b/src/gsm/gsm48049.c new file mode 100644 index 0000000..bb204dc --- /dev/null +++ b/src/gsm/gsm48049.c @@ -0,0 +1,114 @@ +/* CBSP is an ETSI/3GPP standard protocol used between CBC (Cell Brodadcast Centre) + * and BSC (Base Station Controller0 in 2G/GSM/GERAN networks. It is specified + * in 3GPP TS 48.049 + * + * (C) 2019 by Harald Welte + * All rights reserved. + * + * Released under the terms of the GNU General Public License, Version 2 or + * (at your option) any later version. + */ + +#include +#include +#include + +/*********************************************************************** + * Protocol Definitions + ***********************************************************************/ + +const struct value_string cbsp_msg_type_names[] = { + { CBSP_MSGT_WRITE_REPLACE, "WRITE-REPLACE" }, + { CBSP_MSGT_WRITE_REPLACE_COMPL, "WRITE-REPLACE COMPLETE" }, + { CBSP_MSGT_WRITE_REPLACE_FAIL, "WRITE-REPLACE FAILURE" }, + { CBSP_MSGT_KILL, "KILL" }, + { CBSP_MSGT_KILL_COMPL, "KILL COMPLETE" }, + { CBSP_MSGT_KILL_FAIL, "KILL FAILURE" }, + { CBSP_MSGT_LOAD_QUERY, "LOAD QUERY" }, + { CBSP_MSGT_LOAD_QUERY_COMPL, "LOAD QUERY COMPLETE" }, + { CBSP_MSGT_LOAD_QUERY_FAIL, "LOAD QUERY FAILURE" }, + { CBSP_MSGT_MSG_STATUS_QUERY, "MESSAGE STATUS QUERY" }, + { CBSP_MSGT_MSG_STATUS_QUERY_COMPL, "MESSAGE STATUS QUERY COMPLETE" }, + { CBSP_MSGT_MSG_STATUS_QUERY_FAIL, "MESSAGE STATUS QUERY FAILURE" }, + { CBSP_MSGT_SET_DRX, "SET-DRX" }, + { CBSP_MSGT_SET_DRX_COMPL, "SET-DRX COMPLETE" }, + { CBSP_MSGT_SET_DRX_FAIL, "SET-DRX FAILURE" }, + { CBSP_MSGT_RESET, "RESET" }, + { CBSP_MSGT_RESET_COMPL, "RESET COMPLETE" }, + { CBSP_MSGT_RESET_FAIL, "RESET FAILURE" }, + { CBSP_MSGT_RESTART, "RESTART" }, + { CBSP_MSGT_FAILURE, "FAILURE" }, + { CBSP_MSGT_ERROR_IND, "ERROR INDICATION" }, + { CBSP_MSGT_KEEP_ALIVE, "KEEP-ALIVE" }, + { CBSP_MSGT_KEEP_ALIVE_COMPL, "KEEP-ALIVE COMPLETE" }, + { 0, NULL } +}; + +const struct value_string cbsp_iei_names[] = { + { CBSP_IEI_MSG_CONTENT, "Message Content" }, + { CBSP_IEI_OLD_SERIAL_NR, "Old Serial Number" }, + { CBSP_IEI_NEW_SERIAL_NR, "New Serial Number" }, + { CBSP_IEI_CELL_LIST, "Cell List" }, + { CBSP_IEI_CATEGORY, "Category" }, + { CBSP_IEI_REP_PERIOD, "Repetition Period" }, + { CBSP_IEI_NUM_BCAST_REQ, "Number of Broadcasts Requested" }, + { CBSP_IEI_NUM_BCAST_COMPL_LIST,"Number of Broadcasts Completed List" }, + { CBSP_IEI_FAILURE_LIST, "Failure List" }, + { CBSP_IEI_RR_LOADING_LIST, "Radio Resource Loading List" }, + { CBSP_IEI_CAUSE, "Cause" }, + { CBSP_IEI_DCS, "Data Coding Scheme" }, + { CBSP_IEI_RECOVERY_IND, "Recovery Indication" }, + { CBSP_IEI_MSG_ID, "Message Identifier" }, + { CBSP_IEI_EMERG_IND, "Emergency Indicator" }, + { CBSP_IEI_WARN_TYPE, "Warning Type" }, + { CBSP_IEI_WARN_SEC_INFO, "warning Security Information" }, + { CBSP_IEI_CHANNEL_IND, "Channel Indicator" }, + { CBSP_IEI_NUM_OF_PAGES, "Number of Pages" }, + { CBSP_IEI_SCHEDULE_PERIOD, "Schedule Period" }, + { CBSP_IEI_NUM_OF_RES_SLOTS, "Number of Reserved Slots" }, + { CBSP_IEI_BCAST_MSG_TYPE, "Broadcast Message Type" }, + { CBSP_IEI_WARNING_PERIOD, "Waring Period" }, + { CBSP_IEI_KEEP_ALIVE_REP_PERIOD, "Keep Alive Repetition Period" }, + { 0, NULL } +}; + +const struct value_string cbsp_category_names[] = { + { CBSP_CATEG_HIGH_PRIO, "High Priority" }, + { CBSP_CATEG_BACKGROUND, "Background" }, + { CBSP_CATEG_NORMAL, "Normal" }, + { 0, NULL } +}; + +const struct tlv_definition cbsp_att_tlvdef = { + .def = { + [CBSP_IEI_MSG_CONTENT] = { TLV_TYPE_FIXED, 83 }, + [CBSP_IEI_OLD_SERIAL_NR] = { TLV_TYPE_FIXED, 2 }, + [CBSP_IEI_NEW_SERIAL_NR] = { TLV_TYPE_FIXED, 2 }, + [CBSP_IEI_CELL_LIST] = { TLV_TYPE_TL16V }, + [CBSP_IEI_CATEGORY] = { TLV_TYPE_TV }, + [CBSP_IEI_REP_PERIOD] = { TLV_TYPE_FIXED, 2 }, + [CBSP_IEI_NUM_BCAST_REQ] = { TLV_TYPE_FIXED, 2 }, + [CBSP_IEI_NUM_BCAST_COMPL_LIST] = { TLV_TYPE_TL16V }, + [CBSP_IEI_FAILURE_LIST] = { TLV_TYPE_TL16V }, + [CBSP_IEI_RR_LOADING_LIST] = { TLV_TYPE_TL16V }, + [CBSP_IEI_CAUSE] = { TLV_TYPE_TV }, + [CBSP_IEI_DCS] = { TLV_TYPE_TV }, + [CBSP_IEI_RECOVERY_IND] { TLV_TYPE_TV }, + [CBSP_IEI_MSG_ID] = { TLV_TYPE_FIXED, 2 }, + [CBSP_IEI_EMERG_IND] = { TLV_TYPE_TV }, + [CBSP_IEI_WARN_TYPE] = { TLV_TYPE_FIXED, 2 }, + [CBSP_IEI_WARN_SEC_INFO] = { TLV_TYPE_FIXED, 50 }, + [CBSP_IEI_CHANNEL_IND] = { TLV_TYPE_TV }, + [CBSP_IEI_NUM_OF_PAGES] = { TLV_TYPE_TV }, + [CBSP_IEI_SCHEDULE_PERIOD] = { TLV_TYPE_TV }, + [CBSP_IEI_NUM_OF_RES_SLOTS] = { TLV_TYPE_TV }, + [CBSP_IEI_BCAST_MSG_TYPE] = { TLV_TYPE_TV }, + [CBSP_IEI_WARNING_PERIOD] = { TLV_TYPE_TV }, + [CBSP_IEI_KEEP_ALIVE_REP_PERIOD] = { TLV_TYPE_TV }, + }, +}; + + +/*********************************************************************** + * Protocol Implementation + ***********************************************************************/ diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 9aa9683..203591a 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -644,5 +644,13 @@ osmo_gsm48_classmark_a5_name_c; osmo_gsm48_classmark_update; +cbsp_msg_type_names; +cbsp_iei_names; +cbsp_category_names; +cbsp_att_tlvdef; +osmo_cbsp_msgb_alloc; +osmo_cbsp_encode; +osmo_cbsp_decode; + local: *; }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5b7ae08f67e415967b60ac4b824db9e22ca00935 Gerrit-Change-Number: 14360 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 08:48:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:48:31 +0000 Subject: Change in ...libosmocore[master]: make all library-internal static buffers thread-local In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/13436 to look at the new patch set (#9). Change subject: make all library-internal static buffers thread-local ...................................................................... make all library-internal static buffers thread-local We have a number of library-internal static global buffers which are mainly used for various stringification functions. This worked as all of the related Osmocom programs were strictly single-threaded. Let's make those buffers at least thread-local. This way every thread gets their own set of buffers, and it's safe for multiple threads to execute the same functions once. They're of course still not re-entrant. If you need re-entrancy, you will need to use the _c() or _buf() suffix version of those functions and work with your own (stack or heap) buffers. Change-Id: I50eb2436a7c1261d79a9d2955584dce92780ca07 --- M src/fsm.c M src/gb/gprs_ns.c M src/gsm/abis_nm.c M src/gsm/apn.c M src/gsm/gsm0808_utils.c M src/gsm/gsm23003.c M src/gsm/gsm48.c M src/gsm/gsm_utils.c M src/gsm/rsl.c M src/msgb.c M src/sim/core.c M src/socket.c M src/utils.c 13 files changed, 32 insertions(+), 33 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/36/13436/9 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/13436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I50eb2436a7c1261d79a9d2955584dce92780ca07 Gerrit-Change-Number: 13436 Gerrit-PatchSet: 9 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: Max Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 08:48:32 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:48:32 +0000 Subject: Change in ...libosmocore[master]: fsm.c: Print error message for FSM with allstate_action but no events Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14361 Change subject: fsm.c: Print error message for FSM with allstate_action but no events ...................................................................... fsm.c: Print error message for FSM with allstate_action but no events As suggested by Vadim while reviewing a related fix for ipa_keepalive.c in libosmo-abis (see https://gerrit.osmocom.org/#/c/libosmo-abis/+/13540/), it makes sense to print an error message if anyone registers a FSM that specifies an allstate_action callback but at the same time no events that would ever end up in that callback. Change-Id: I9e73f7363ab15a00843e3f0d1e5776f4be7ebc46 --- M src/fsm.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/61/14361/1 diff --git a/src/fsm.c b/src/fsm.c index 411797d..ac9e055 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -256,6 +256,9 @@ return -EEXIST; if (fsm->event_names == NULL) LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has no event names! Please fix!\n", fsm->name); + + if (fsm->allstate_action && !fsm->allstate_event_mask) + LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has allstate_action but no allstate_event_mask\n",fsm->name); llist_add_tail(&fsm->list, &osmo_g_fsms); INIT_LLIST_HEAD(&fsm->instances); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9e73f7363ab15a00843e3f0d1e5776f4be7ebc46 Gerrit-Change-Number: 14361 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 08:52:55 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:52:55 +0000 Subject: Change in ...libosmocore[master]: make all library-internal static buffers thread-local In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/13436 ) Change subject: make all library-internal static buffers thread-local ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/13436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I50eb2436a7c1261d79a9d2955584dce92780ca07 Gerrit-Change-Number: 13436 Gerrit-PatchSet: 9 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: Max Gerrit-Comment-Date: Tue, 04 Jun 2019 08: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 Tue Jun 4 08:52:57 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 08:52:57 +0000 Subject: Change in ...libosmocore[master]: make all library-internal static buffers thread-local In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/13436 ) Change subject: make all library-internal static buffers thread-local ...................................................................... make all library-internal static buffers thread-local We have a number of library-internal static global buffers which are mainly used for various stringification functions. This worked as all of the related Osmocom programs were strictly single-threaded. Let's make those buffers at least thread-local. This way every thread gets their own set of buffers, and it's safe for multiple threads to execute the same functions once. They're of course still not re-entrant. If you need re-entrancy, you will need to use the _c() or _buf() suffix version of those functions and work with your own (stack or heap) buffers. Change-Id: I50eb2436a7c1261d79a9d2955584dce92780ca07 --- M src/fsm.c M src/gb/gprs_ns.c M src/gsm/abis_nm.c M src/gsm/apn.c M src/gsm/gsm0808_utils.c M src/gsm/gsm23003.c M src/gsm/gsm48.c M src/gsm/gsm_utils.c M src/gsm/rsl.c M src/msgb.c M src/sim/core.c M src/socket.c M src/utils.c 13 files changed, 32 insertions(+), 33 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/fsm.c b/src/fsm.c index 882a2b4..411797d 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -545,7 +545,7 @@ */ const char *osmo_fsm_event_name(struct osmo_fsm *fsm, uint32_t event) { - static char buf[32]; + static __thread char buf[32]; if (!fsm->event_names) { snprintf(buf, sizeof(buf), "%"PRIu32, event); return buf; @@ -575,7 +575,7 @@ */ const char *osmo_fsm_state_name(struct osmo_fsm *fsm, uint32_t state) { - static char buf[32]; + static __thread char buf[32]; if (state >= fsm->num_states) { snprintf(buf, sizeof(buf), "unknown %"PRIu32, state); return buf; diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index cee4885..c77ebb3 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -1552,7 +1552,7 @@ const char *gprs_ns_ll_str(const struct gprs_nsvc *nsvc) { - static char buf[80]; + static __thread char buf[80]; return gprs_ns_ll_str_buf(buf, sizeof(buf), nsvc); } diff --git a/src/gsm/abis_nm.c b/src/gsm/abis_nm.c index a4c0e41..3fb8f0f 100644 --- a/src/gsm/abis_nm.c +++ b/src/gsm/abis_nm.c @@ -939,7 +939,7 @@ const char *abis_nm_dump_foh(const struct abis_om_fom_hdr *foh) { - static char foh_buf[128]; + static __thread char foh_buf[128]; return abis_nm_dump_foh_buf(foh_buf, sizeof(foh_buf), foh); } diff --git a/src/gsm/apn.c b/src/gsm/apn.c index 88b45a4..a7074ea 100644 --- a/src/gsm/apn.c +++ b/src/gsm/apn.c @@ -31,7 +31,7 @@ #define APN_OI_GPRS_FMT "mnc%03u.mcc%03u.gprs" #define APN_GPRS_FMT "%s.mnc%03u.mcc%03u.gprs" -static char apn_strbuf[APN_MAXLEN+1]; +static __thread char apn_strbuf[APN_MAXLEN+1]; char *osmo_apn_qualify_buf(char *buf, size_t buf_len, unsigned int mcc, unsigned int mnc, const char *ni) { diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index 26f7944..70eed15 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -611,7 +611,7 @@ return ret; } -static char dbuf[256]; +static __thread char dbuf[256]; /*! Dump LCLS parameters (GCR excluded) into string for printing. * \param[out] buf caller-allocated output string buffer @@ -1819,7 +1819,7 @@ */ const char *gsm0808_cell_id_name(const struct gsm0808_cell_id *cid) { - static char buf[64]; + static __thread char buf[64]; return gsm0808_cell_id_name_buf(buf, sizeof(buf), cid); } @@ -1829,7 +1829,7 @@ */ const char *gsm0808_cell_id_name2(const struct gsm0808_cell_id *cid) { - static char buf[64]; + static __thread char buf[64]; return gsm0808_cell_id_name_buf(buf, sizeof(buf), cid); } @@ -1886,7 +1886,7 @@ * See also gsm0808_cell_id_list_name_buf(). */ const char *gsm0808_cell_id_list_name(const struct gsm0808_cell_id_list2 *cil) { - static char buf[1024]; + static __thread char buf[1024]; gsm0808_cell_id_list_name_buf(buf, sizeof(buf), cil); return buf; } @@ -1913,7 +1913,7 @@ const char *gsm0808_channel_type_name(const struct gsm0808_channel_type *ct) { - static char buf[128]; + static __thread char buf[128]; return gsm0808_channel_type_name_buf(buf, sizeof(buf), ct); } diff --git a/src/gsm/gsm23003.c b/src/gsm/gsm23003.c index a97ed07..4cc2671 100644 --- a/src/gsm/gsm23003.c +++ b/src/gsm/gsm23003.c @@ -107,7 +107,7 @@ */ const char *osmo_mcc_name(uint16_t mcc) { - static char buf[8]; + static __thread char buf[8]; return osmo_mcc_name_buf(buf, sizeof(buf), mcc); } @@ -158,7 +158,7 @@ */ const char *osmo_mnc_name(uint16_t mnc, bool mnc_3_digits) { - static char buf[8]; + static __thread char buf[8]; return osmo_mnc_name_buf(buf, sizeof(buf), mnc, mnc_3_digits); } @@ -182,7 +182,7 @@ */ const char *osmo_plmn_name(const struct osmo_plmn_id *plmn) { - static char buf[16]; + static __thread char buf[16]; return osmo_plmn_name_buf(buf, sizeof(buf), plmn); } @@ -193,7 +193,7 @@ */ const char *osmo_plmn_name2(const struct osmo_plmn_id *plmn) { - static char buf[16]; + static __thread char buf[16]; return osmo_plmn_name_buf(buf, sizeof(buf), plmn); } @@ -230,7 +230,7 @@ */ const char *osmo_lai_name(const struct osmo_location_area_id *lai) { - static char buf[32]; + static __thread char buf[32]; return osmo_lai_name_buf(buf, sizeof(buf), lai); } @@ -265,7 +265,7 @@ */ const char *osmo_cgi_name(const struct osmo_cell_global_id *cgi) { - static char buf[32]; + static __thread char buf[32]; return osmo_cgi_name_buf(buf, sizeof(buf), cgi); } @@ -276,7 +276,7 @@ */ const char *osmo_cgi_name2(const struct osmo_cell_global_id *cgi) { - static char buf[32]; + static __thread char buf[32]; return osmo_cgi_name_buf(buf, sizeof(buf), cgi); } @@ -320,7 +320,7 @@ */ const char *osmo_gummei_name(const struct osmo_gummei *gummei) { - static char buf[32]; + static __thread char buf[32]; return osmo_gummei_name_buf(buf, sizeof(buf), gummei); } diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c index c2c19cf..c97337b 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -203,7 +203,7 @@ */ const char *osmo_rai_name(const struct gprs_ra_id *rai) { - static char buf[32]; + static __thread char buf[32]; return osmo_rai_name_buf(buf, sizeof(buf), rai); } @@ -502,7 +502,7 @@ */ const char *osmo_mi_name(const uint8_t *mi, uint8_t mi_len) { - static char mi_name[10 + GSM48_MI_SIZE + 1]; + static __thread char mi_name[10 + GSM48_MI_SIZE + 1]; return osmo_mi_name_buf(mi_name, sizeof(mi_name), mi, mi_len); } @@ -1150,7 +1150,7 @@ */ const char *gsm48_pdisc_msgtype_name(uint8_t pdisc, uint8_t msg_type) { - static char namebuf[64]; + static __thread char namebuf[64]; return gsm48_pdisc_msgtype_name_buf(namebuf, sizeof(namebuf), pdisc, msg_type); } @@ -1303,7 +1303,7 @@ */ const char *osmo_gsm48_classmark_a5_name(const struct osmo_gsm48_classmark *cm) { - static char buf[128]; + static __thread char buf[128]; return osmo_gsm48_classmark_a5_name_buf(buf, sizeof(buf), cm); } diff --git a/src/gsm/gsm_utils.c b/src/gsm/gsm_utils.c index 07f053c..f154c2b 100644 --- a/src/gsm/gsm_utils.c +++ b/src/gsm/gsm_utils.c @@ -897,7 +897,7 @@ char *osmo_dump_gsmtime(const struct gsm_time *tm) { - static char buf[64]; + static __thread char buf[64]; return osmo_dump_gsmtime_buf(buf, sizeof(buf), tm); } diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c index 0409734..3be0111 100644 --- a/src/gsm/rsl.c +++ b/src/gsm/rsl.c @@ -264,7 +264,7 @@ */ const char *rsl_chan_nr_str(uint8_t chan_nr) { - static char str[20]; + static __thread char str[20]; return rsl_chan_nr_str_buf(str, sizeof(str), chan_nr); } diff --git a/src/msgb.c b/src/msgb.c index 940135f..4edbdf3 100644 --- a/src/msgb.c +++ b/src/msgb.c @@ -511,7 +511,7 @@ */ const char *msgb_hexdump(const struct msgb *msg) { - static char buf[4100]; + static __thread char buf[4100]; return msgb_hexdump_buf(buf, sizeof(buf), msg); } diff --git a/src/sim/core.c b/src/sim/core.c index 63b3000..b93633c 100644 --- a/src/sim/core.c +++ b/src/sim/core.c @@ -300,8 +300,7 @@ char *osim_print_sw(const struct osim_card_hdl *ch, uint16_t sw_in) { - /* FIXME: do we want to mark this as __thread? */ - static char sw_print_buf[256]; + static __thread char sw_print_buf[256]; return osim_print_sw_buf(sw_print_buf, sizeof(sw_print_buf), ch, sw_in); } diff --git a/src/socket.c b/src/socket.c index 37976e2..1e303bf 100644 --- a/src/socket.c +++ b/src/socket.c @@ -824,7 +824,7 @@ */ const char *osmo_sock_get_name2(int fd) { - static char str[OSMO_SOCK_NAME_MAXLEN]; + static __thread char str[OSMO_SOCK_NAME_MAXLEN]; osmo_sock_get_name_buf(str, sizeof(str), fd); return str; } diff --git a/src/utils.c b/src/utils.c index 59dc816..c38f530 100644 --- a/src/utils.c +++ b/src/utils.c @@ -41,7 +41,7 @@ * * \file utils.c */ -static char namebuf[255]; +static __thread char namebuf[255]; /*! get human-readable string for given value * \param[in] vs Array of value_string tuples @@ -219,7 +219,7 @@ return nibblepos >> 1; } -static char hexd_buff[4096]; +static __thread char hexd_buff[4096]; static const char hex_chars[] = "0123456789abcdef"; /*! Convert binary sequence to hexadecimal ASCII string. @@ -492,7 +492,7 @@ * sizeof(uint64_t), only the least significant bytes of value are encoded. */ uint8_t *osmo_encode_big_endian(uint64_t value, size_t data_len) { - static uint8_t buf[sizeof(uint64_t)]; + static __thread uint8_t buf[sizeof(uint64_t)]; OSMO_ASSERT(data_len <= ARRAY_SIZE(buf)); osmo_store64be_ext(value, buf, data_len); return buf; @@ -908,7 +908,7 @@ */ const char *osmo_str_tolower(const char *src) { - static char buf[128]; + static __thread char buf[128]; osmo_str_tolower_buf(buf, sizeof(buf), src); return buf; } @@ -967,7 +967,7 @@ */ const char *osmo_str_toupper(const char *src) { - static char buf[128]; + static __thread char buf[128]; osmo_str_toupper_buf(buf, sizeof(buf), src); return buf; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/13436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I50eb2436a7c1261d79a9d2955584dce92780ca07 Gerrit-Change-Number: 13436 Gerrit-PatchSet: 9 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: Max Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 09:02:28 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:02:28 +0000 Subject: Change in ...libosmocore[master]: make use of OTC_GLOBAL when allocating library-internal contexts In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/13338 to look at the new patch set (#9). Change subject: make use of OTC_GLOBAL when allocating library-internal contexts ...................................................................... make use of OTC_GLOBAL when allocating library-internal contexts As libosmcore is now managing the global talloc contexts, there's no point in having APIs where the user tells the library about which talloc contexts to use for a given sub-system. Change-Id: I48f475efd3ee0d5120b8fc30861e852d1a6920b1 --- M include/osmocom/core/signal.h M src/counter.c M src/ctrl/control_vty.c M src/gb/gprs_bssgp.c M src/gsm/lapd_core.c M src/logging.c M src/signal.c M src/stats.c M src/vty/telnet_interface.c M tests/ctrl/ctrl_test.c 10 files changed, 42 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/38/13338/9 -- 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: 9 Gerrit-Owner: Harald Welte 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 4 09:06:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:06:04 +0000 Subject: Change in ...libosmocore[master]: gsm0808_utils: Add gsm0808_decode_cell_id_u() 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/+/13888 to look at the new patch set (#5). Change subject: gsm0808_utils: Add gsm0808_decode_cell_id_u() ...................................................................... gsm0808_utils: Add gsm0808_decode_cell_id_u() This function parses a single Cell ID list element into a 'union gsm0808_cell_id_u'. This function is going to be used by the upcoming CBSP support. Related: OS#3537 Change-Id: I08b33881667aa32f01e53ccb70d44d5b79c7c986 --- M include/osmocom/gsm/gsm0808_utils.h M src/gsm/gsm0808_utils.c M src/gsm/libosmogsm.map 3 files changed, 60 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/88/13888/5 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/13888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I08b33881667aa32f01e53ccb70d44d5b79c7c986 Gerrit-Change-Number: 13888 Gerrit-PatchSet: 5 Gerrit-Owner: Harald Welte 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 4 09:08:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 Jun 2019 09:08:35 +0000 Subject: Change in ...osmo-msc[master]: db_sms_test: Remove libdbi expected driver load errors In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14356 ) Change subject: db_sms_test: Remove libdbi expected driver load errors ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14356/1/tests/testsuite.at File tests/testsuite.at: https://gerrit.osmocom.org/#/c/14356/1/tests/testsuite.at at 23 PS1, Line 23: 2>&1 > nice find! autotest doesn't seem to like it. I changed the line to: AT_CHECK([$abs_top_builddir/tests/db_sms/db_sms_test 2> >(grep -v "Failed to load driver")], [], [expout], [experr]) (I know it's not exactly the same I had before, just a simplified form) But then running tests fail: """ 3: db_sms_test osmo-msc/tests/testsuite.dir/at-groups/3/test-source: line 14: syntax error near unexpected token `>' osmo-msc/tests/testsuite.dir/at-groups/3/test-source: line 14: `( $at_check_trace; $abs_top_builddir/tests/db_sms/db_sms_test 2> >(grep -v "Failed to load driver")' testsuite: WARNING: unable to parse test group: 3 testsuite: WARNING: A failure happened in a test group before any test could be testsuite: WARNING: run. This means that test suite is improperly designed. Please testsuite: WARNING: report this failure to . FAILED (testsuite.at:19) """ It looks like it doesn't like having parentheses in there. I tried scaping them wiht "\(", but didn't work. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I06dfdc5a7415a4d3b34a3b25f11c8abda1a63f92 Gerrit-Change-Number: 14356 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: Harald Welte Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 04 Jun 2019 09:08:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: Harald Welte Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 09:09:13 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:09:13 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Replace old pdp APIs with new ones with multi-gsn support In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14297 ) Change subject: gtp: Replace old pdp APIs with new ones with multi-gsn support ...................................................................... Patch Set 2: this is about replacing API usage / API calls, right? It's not changing the actual API implementation? -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ibf56a063f01d1f95a2a3271416da6e062e85fdfa Gerrit-Change-Number: 14297 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 09:09: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 Tue Jun 4 09:10:35 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:10:35 +0000 Subject: Change in ...osmo-msc[master]: db_sms_test: Remove libdbi expected driver load errors In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14356 ) Change subject: db_sms_test: Remove libdbi expected driver load errors ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I06dfdc5a7415a4d3b34a3b25f11c8abda1a63f92 Gerrit-Change-Number: 14356 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 04 Jun 2019 09:10: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 4 09:11:24 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:11:24 +0000 Subject: Change in ...osmo-msc[master]: db_sms_test: Remove libdbi expected driver load errors In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14356 ) Change subject: db_sms_test: Remove libdbi expected driver load errors ...................................................................... Patch Set 1: the problem with mixing stderr and stdout is that it's race-condition prone. So if for some reason on some system under some circumstances two lines get swapped, the test output wouldn't match again either :/ -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I06dfdc5a7415a4d3b34a3b25f11c8abda1a63f92 Gerrit-Change-Number: 14356 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 04 Jun 2019 09:11: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 4 09:11:36 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:11:36 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Extend LAPDm test suite with a number of new tests In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14341 ) Change subject: bts: Extend LAPDm test suite with a number of new tests ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4e1136c0c0f10d5bc8d01e826ae5d92f17a0b2aa Gerrit-Change-Number: 14341 Gerrit-PatchSet: 4 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 09:11: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 4 09:11:41 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:11:41 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add TC_segm_concat to test segmentation+concatenation In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14342 ) Change subject: bts: Add TC_segm_concat to test segmentation+concatenation ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6a9ce3e27f4a01412186b3b5d8d2b86573b6f8ac Gerrit-Change-Number: 14342 Gerrit-PatchSet: 4 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 09:11: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 4 09:11:44 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:11:44 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Also test SACCH in TC_segm_concat In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14343 ) Change subject: bts: Also test SACCH in TC_segm_concat ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If9b51b4d6c357aa015f31e1e6851d4d1bb71a58f Gerrit-Change-Number: 14343 Gerrit-PatchSet: 4 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 09:11:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 09:11:50 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:11:50 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add test for expiring T200 N200+1 times In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14346 ) Change subject: bts: Add test for expiring T200 N200+1 times ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9e1dbc889575f8952a4581551076829825b3b1cd Gerrit-Change-Number: 14346 Gerrit-PatchSet: 4 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 09: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 Tue Jun 4 09:11:53 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:11:53 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Factor out mobile-originated LAPDm establishment In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14348 ) Change subject: bts: Factor out mobile-originated LAPDm establishment ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8da753bb3d809ec09f9380bb4bac666ceaf61f00 Gerrit-Change-Number: 14348 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 09:11: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 4 09:11:55 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:11:55 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Implement testcase for RR response frame loss In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14349 ) Change subject: bts: Implement testcase for RR response frame loss ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I32340fff6666fee0ebfb9b31b55e0982d0d917a1 Gerrit-Change-Number: 14349 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 09:11: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 4 09:12:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:12:04 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Extend LAPDm test suite with a number of new tests In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14341 ) Change subject: bts: Extend LAPDm test suite with a number of new tests ...................................................................... bts: Extend LAPDm test suite with a number of new tests This adds the following test cases to BTS_Tests_LAPDm.ttcn: * TC_sabm_retransmit_bts() * TC_sabm_invalid_resp() * TC_sabm_dm() * TC_establish_ign_first_sabm() * TC_iframe_seq_and_ack() * TC_iframe_timer_recovery() Change-Id: I4e1136c0c0f10d5bc8d01e826ae5d92f17a0b2aa --- M bts/BTS_Tests.ttcn M bts/BTS_Tests_LAPDm.ttcn M library/LAPDm_Types.ttcn 3 files changed, 511 insertions(+), 7 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index c43774d..e48c05a 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -61,9 +61,11 @@ import from Osmocom_VTY_Functions all; import from TELNETasp_PortType all; +import from BTS_Tests_LAPDm all; friend module BTS_Tests_SMSCB; friend module BTS_Tests_virtphy; +friend module BTS_Tests_LAPDm; /* The tests assume a BTS with the following timeslot configuration: * TS0 : Combined CCCH + SDCCH/4 @@ -155,7 +157,7 @@ } /* an individual call / channel */ -type component ConnHdlr extends RSL_DchanHdlr { +type component ConnHdlr extends RSL_DchanHdlr, lapdm_test_CT { port L1CTL_PT L1CTL; port TRXC_CODEC_PT BTS_TRXC; @@ -551,7 +553,7 @@ "RF CHAN REL", true); } -private template ConnHdlrPars t_Pars(template RslChannelNr chan_nr, +friend template ConnHdlrPars t_Pars(template RslChannelNr chan_nr, template RSL_IE_ChannelMode chan_mode, float t_guard := 20.0) := { chan_nr := valueof(chan_nr), @@ -699,7 +701,7 @@ } /* execute the same callback function on a variety of logical channels */ -private function f_testmatrix_each_chan(ConnHdlrPars pars, void_fn fn) runs on test_CT { +friend function f_testmatrix_each_chan(ConnHdlrPars pars, void_fn fn) runs on test_CT { var ConnHdlr vc_conn; f_init(); diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index 33aa174..2eade0a 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -4,7 +4,9 @@ import from Osmocom_Types all; import from LAPDm_RAW_PT all; import from LAPDm_Types all; +import from RSL_Types all; import from BTS_Tests all; +import from Misc_Helpers all; /* test that use exclusively only LAPDm over L1CTL */ type component lapdm_test_CT { @@ -14,8 +16,6 @@ /* contrary to BTS_Tests.ttcn, we use LAPDm_PT here, a convenience wrapper * around L1CTL to perform encode/decode of abstract LAPDm frames */ -type component lapdm_bts_CT extends lapdm_test_CT, test_CT { -} /********************************************************************************* * Test using only L1CTL/LAPDm @@ -34,9 +34,15 @@ lapdm_component.start(LAPDmStart()); } +function f_lapdm_exit() runs on lapdm_test_CT { + lapdm_component.stop; + lapdm_component.done; + unmap(lapdm_component:L1CTL, system:L1CTL); +} + /* master function establishing a dedicated radio channel (takes care of RACH/IMM.ASS handling) */ function f_establish_dcch() runs on lapdm_test_CT { - var BCCH_tune_req tune_req := { arfcn := { false, 871 }, combined_ccch := true }; + var BCCH_tune_req tune_req := { arfcn := { false, mp_trx0_arfcn }, combined_ccch := true }; var DCCH_establish_req est_req := { ra := 23 }; LAPDM.send(tune_req); @@ -44,6 +50,16 @@ LAPDM.receive(DCCH_establish_res:?); } +/* master function switching to a dedicated radio channel */ +function f_switch_dcch(Arfcn arfcn, RslChannelNr chan_nr, GsmTsc tsc) runs on lapdm_test_CT { + var BCCH_tune_req tune_req := { arfcn := arfcn, combined_ccch := true }; + var DCCH_switch_req sw_req := { arfcn, chan_nr, tsc }; + + LAPDM.send(tune_req); + LAPDM.send(sw_req); + LAPDM.receive(DCCH_switch_res:?); +} + /* helper function releasing dedicated radio channel physically (no Um signaling!) */ function f_release_dcch() runs on lapdm_test_CT { var DCCH_release_req rel_req := {}; @@ -252,6 +268,434 @@ log("DEC: ", dec_LapdmFrameAB('0303012B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B'O)); } +/********************************************************************************* + * Test using both L1CTL/LAPDm and RSL + *********************************************************************************/ + +private function fp_common_init() runs on ConnHdlr +{ + /* undo what f_start_handler is doing and pull LAPDm_CT into the loop */ + unmap(self:L1CTL, system:L1CTL); + f_lapdm_init(); + /* activate the channel on the BTS side */ + f_rsl_chan_act(g_pars.chan_mode, false, {}); + /* activate the channel on the MS side */ + f_switch_dcch({false, mp_trx0_arfcn}, g_chan_nr, 7); +} + +private function fp_common_fini() runs on ConnHdlr +{ + f_release_dcch(); + f_rsl_chan_deact(); + f_lapdm_exit(); +} + +/* Verify that the BTS is re-transmitting SABM messages after T200 timeout, inspired + by 3GPP TS 51.010-1 25.2.1.1.2.1 + 25.2.1.2.4 */ +private function f_TC_sabm_retransmit_bts(charstring id) runs on ConnHdlr { + const integer sapi := 3; /* BTS may not establish SAPI=0 outbound */ + fp_common_init(); + + LAPDM.clear; + RSL.send(ts_RSL_EST_REQ(g_chan_nr, ts_RslLinkID_DCCH(sapi))); + + timer T := 8.0; + var integer sabm_received := 0; + T.start; + alt { + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_SABM(sapi, ?, ?, ''O))) { + sabm_received := sabm_received + 1; + repeat; + } + [] LAPDM.receive { repeat; } + [] T.timeout { } + } + if (sabm_received == 0) { + setverdict(fail, "No SABM observed at all!"); + } else if (sabm_received != 6) { + setverdict(fail, "Incorrect number of SABM re-transmissions of observed: ", + sabm_received); + } else { + setverdict(pass, "Received ", sabm_received, " SABM"); + } + + fp_common_fini(); +} +testcase TC_sabm_retransmit_bts() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_retransmit_bts)); +} + + +type record LapdmNamedFrame { + charstring name, + LapdmFrame lapdm +}; + +/* Test that the BTS will ignore receipt of frames other than a UA when + * received in response to the SABM frame, inspired from 3GPP TS 51.010-1 + * Section 25.2.1.1.2.3 */ +private function f_TC_sabm_invalid_resp2(charstring id, LapdmNamedFrame err_frame) runs on ConnHdlr { + var integer sapi := err_frame.lapdm.ab.addr.sapi; + fp_common_init(); + + /* Establish Request via RSL; Expect SABM on LAPDm side */ + LAPDM.clear; + RSL.send(ts_RSL_EST_REQ(g_chan_nr, ts_RslLinkID_DCCH(sapi))); + alt { + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_SABM(sapi, ?, ?, ''O))); + [] LAPDM.receive { repeat; } + } + + /* send erroneous response to SABM */ + LAPDM.send(t_PH_DATA(0, false, err_frame.lapdm)); + + /* expect a SABM retransmission of the BTS */ + timer T := 3.0; + T.start; + alt { + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_SABM(sapi, ?, ?, ''O))) { + setverdict(pass); + } + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UI(0, ?, ''O))) { repeat; } + [] LAPDM.receive(t_PH_DATA(0, false, ?)) { + setverdict(fail, "Received unexpected LAPDm frame instead of SABM after sending ", + err_frame.name); + } + [] LAPDM.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for SABM retransmission after sending ", + err_frame.name); + } + } + + fp_common_fini(); +} +private function f_TC_sabm_invalid_resp(charstring id) runs on ConnHdlr { + const integer sapi := 3; /* BTS may not establish SAPI=0 outbound */ + var LapdmNamedFrame err_frame[3] := { + { "I", valueof(ts_LAPDm_I(sapi, c_r := cr_MO_CMD, p := true, nr := 0, ns := 0, + l3 := '01020304'O)) }, + { "RR", valueof(ts_LAPDm_RR(sapi, c_r := cr_MO_CMD, p := true, nr := 0)) }, + { "REJ" , valueof(ts_LAPDm_REJ(sapi, c_r := cr_MO_CMD, p := true, nr := 0)) } + }; + var integer i; + + for (i := 0; i < lengthof(err_frame); i := i+1) { + f_TC_sabm_invalid_resp2(id, err_frame[i]) + } +} +testcase TC_sabm_invalid_resp() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_invalid_resp)); +} + +/* Test that the BTS will not re-transmit SABM frames after receiving a DM response, + * inspired from 3GPP TS 51.010-1 Section 25.2.1.1.3 */ +private function f_TC_sabm_dm(charstring id) runs on ConnHdlr { + const integer sapi := 3; /* BTS may not establish SAPI=0 outbound */ + fp_common_init(); + + /* Establish Request via RSL; Expect SABM on LAPDm side */ + LAPDM.clear; + RSL.send(ts_RSL_EST_REQ(g_chan_nr, ts_RslLinkID_DCCH(sapi))); + alt { + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_SABM(sapi, ?, ?, ''O))); + [] LAPDM.receive { repeat; } + } + + /* send DM response to SABM */ + RSL.clear; + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_DM(sapi, c_r:=cr_MO_RSP, f:=true))); + alt { + [] RSL.receive(tr_RSL_REL_IND(g_chan_nr, tr_RslLinkID_DCCH(sapi))); + [] RSL.receive { repeat; } + } + + /* expect no SABM retransmission of the BTS */ + timer T := 3.0; + T.start; + alt { + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_SABM(sapi, ?, ?, ''O))) { + setverdict(fail, "Received unexpected SABM retransmission"); + } + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UI(0, ?, ''O))) { repeat; } + [] LAPDM.receive(t_PH_DATA(0, false, ?)) { + setverdict(fail, "Received unexpected LAPDm frame"); + } + [] LAPDM.receive { repeat; } + [] T.timeout { + setverdict(pass); + } + } + + fp_common_fini(); +} +testcase TC_sabm_dm() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_dm)); +} + +/* Test the full LAPDm establishment while simulating the loss of the initial SABM or UA + * frame, requiring the BTS to re-transmit one SABM and then following up all the way to + * dedicated mode; inspired by 3GPP TS 51.010-1 25.2.1.2.2 */ +private function f_TC_establish_ign_first_sabm(charstring id) runs on ConnHdlr { + const integer sapi := 3; /* BTS may not establish SAPI=0 outbound */ + var integer num_sabm := 0; + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(sapi)); + timer T := 3.0; + + fp_common_init(); + + /* Establish Request via RSL */ + LAPDM.clear; + RSL.send(ts_RSL_EST_REQ(g_chan_nr, link_id)); + /* Expect two SABM (retransmit) */ + T.start; + alt { + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_SABM(sapi, ?, ?, ''O))) { + num_sabm := num_sabm + 1; + if (num_sabm < 2) { + repeat; + } + } + [] LAPDM.receive { repeat; } + } + + /* send UA response to SABM */ + RSL.clear; + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_UA(sapi, c_r:=cr_MO_RSP, f:=true, l3:=''O))); + alt { + [] RSL.receive(tr_RSL_EST_CONF(g_chan_nr, link_id)); + [] RSL.receive { repeat; } + } + + /* Send I frame from BTS to MS */ + var octetstring l3 := f_rnd_octstring(10); + RSL.send(ts_RSL_DATA_REQ(g_chan_nr, link_id, l3)); + alt { + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=false, + nr:=0, ns:=0, l3:=l3))); + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UI(0, ?, ''O))) { repeat; } + [] LAPDM.receive(t_PH_DATA(0, true, ?)) { repeat; } + [] LAPDM.receive { setverdict(fail, "Unexpected LAPDm received"); } + } + /* Send RR frame in response */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_RR(sapi, c_r:=cr_MO_RSP, p:=false, nr:=1))); + + /* expect idle UI Frame from BTS */ + alt { + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UI(0, ?, ''O))) { + setverdict(pass); + } + [] LAPDM.receive(t_PH_DATA(0, true, ?)) { repeat; } + [] LAPDM.receive { setverdict(fail, "Unexpected LAPDm received"); } + } + + fp_common_fini(); +} +testcase TC_establish_ign_first_sabm() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_establish_ign_first_sabm)); +} + +/* ignore all SACCH frames */ +private altstep as_lapdm_acch() runs on ConnHdlr { + [] LAPDM.receive(t_PH_DATA(0, true, ?)) { repeat; } +} +/* ignore all LAPDm idle frames (UI) */ +private altstep as_lapdm_idle() runs on ConnHdlr { + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UI(0, ?, ''O))) { repeat; } +} +/* ignore all measurement reports */ +private altstep as_rsl_meas_rep() runs on ConnHdlr { + [] RSL.receive(tr_RSL_MEAS_RES(g_chan_nr)) { repeat; } +} +/* fail if we receive an RSL ERROR IND */ +private altstep as_rsl_fail_err() runs on ConnHdlr { + var RSL_Message rx_rsl; + [] RSL.receive(tr_RSL_ERROR_IND(g_chan_nr, ?, ?)) { + setverdict(fail, "Received RSL ERROR IND ", rx_rsl); + } +} +/* all of the above */ +private altstep as_ignore_background() runs on ConnHdlr { + [] as_lapdm_acch(); + [] as_lapdm_idle(); + [] as_rsl_meas_rep(); + [] as_rsl_fail_err(); +} + +/* Test the operation of Layer 2 sequence numbering. + * dedicated mode; inspired by 3GPP TS 51.010-1 25.2.2.1 */ +private function f_TC_iframe_seq_and_ack(charstring id) runs on ConnHdlr { + const integer sapi := 0; + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(sapi)); + var octetstring l3 := f_rnd_octstring(18); + var default d; + timer T := 3.0; + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background()); + RSL.clear; + LAPDM.clear; + + /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3))); + RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3)); + /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ + LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3))); + + var integer last_ns_rx := 0; + + for (var integer i := 0; i < 10; i := i+1) { + var octetstring l3_mo := f_rnd_octstring(12); + var octetstring l3_mt := f_rnd_octstring(12); + var LAPDm_ph_data pd; + + log("Starting iteration ", i); + /* MT I frame */ + RSL.send(ts_RSL_DATA_REQ(g_chan_nr, link_id, l3_mt)); + alt { + /* SAPI = 0, R = 1, F = 0, M = 0, L = 0. */ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=false, + nr:=i mod 8))) { + log("Ignoring RR in iteration ", i); + repeat; + } + /* SAPI = 0, C = 1, P = 0, M = 0, 0 ? L ? N201. */ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=false, + nr:=i mod 8, ns:=i mod 8, + l3:=l3_mt))) -> value pd { + last_ns_rx := pd.lapdm.ab.ctrl.i.n_s; + } + } + /* respond with MO I-frame: SAPI = 0, C = 0, P = 0, M = 0, 0 <= L <= N201. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=false, + nr:=(last_ns_rx+1)mod 8, + ns:=i mod 8, l3 := l3_mo))); + RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, l3_mo)); + } + log("Completed iteration"); + + deactivate(d); + fp_common_fini(); +} +testcase TC_iframe_seq_and_ack() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_iframe_seq_and_ack)); +} + +/* To test that the BTS is able to respond to I frames whilst in the timer recovery state. + * Inspired by 3GPP TS 51.010-1 25.2.2.2 */ + +/* + 1) The BTS is brought into the multiple frame established state + 2) The MS sends an L3 Request asking for IMEI to the MS. + 3) The BTS shall respond with a RR frame though this may be incorporated with + the L3 Response I frame. The MS does not respond to the I frame. + 4) The BTS shall wait for expiry of timer T200 and then repeat the I frame but + with the P bit set to 1. + 5) The MS then sends a valid L3 Request I frame asking for IMEI which + does not acknowledge receipt of the I frame from the BTS. +On the FACCH the BTS may send an RR frame acknowledging the I frame. + 6) The BTS shall repeat the I frame, this frame will acknowledge receipt of + the second I frame from the MS. + 7) The MS then acknowledges receipt of the MS I frame by sending a RR frame. + 8) The BTS shall send the next I frame. The MS acknowledges this I frame. +*/ +private function f_TC_iframe_timer_recovery(charstring id) runs on ConnHdlr { + const integer sapi := 0; + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(sapi)); + var default d; + timer T := 3.0; + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background()); + RSL.clear; + LAPDM.clear; + + var octetstring l3_mo := f_rnd_octstring(12); + var octetstring l3_mt := f_rnd_octstring(12); + + /* 1) The BTS is brought into the multiple frame established state */ + + /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); + /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ + LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); + + /* 2) The MS sends an L3 Request to the BTS */ + l3_mo := f_rnd_octstring(18); + /* SAPI = 0, C = 1, P = 0, M = 0, 0 ? L ? N201, N(S) = 0, N(R) = 0. * */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=false, + nr:=0, ns:=0, l3:=l3_mo))); + RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, l3_mo)); + /* 3) The BTS shall respond with a RR frame though this may be incorporated with + the L3 Response I frame. The MS does not respond to the I frame. */ + RSL.send(ts_RSL_DATA_REQ(g_chan_nr, link_id, l3_mt)); + alt { + /* SAPI = 0, R = 1, F = 0, M = 0, L = 0, N(R) = 1. */ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=false, nr:=1))) { + repeat; + } + /* SAPI = 0, C = 0, P = 0, M = 0, 0 ? L ? N201, N(R) = 1, N(S) = 0 */ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=false, + nr:=1, ns:=0, l3:=l3_mt))); + } + + /* 4) The BTS shall wait for expiry of timer T200 and then repeat the I frame but + with the P bit set to 1. */ + /* SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201, N(R) = 1, N(S) = 0. * */ + LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=true, + nr:=1, ns:=0, l3:=l3_mt))); + + /* 5) The MS then sends a valid L3 Request I frame asking for IMEI which + does not acknowledge receipt of the I frame from the BTS. */ + /* SAPI = 0, C = 1, P = 0, M = 0, 0 ? L ? N201, N(S) = 1, N(R) = 0. * */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=false, + nr:=0, ns:=1, l3 := l3_mo))); + RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, l3_mo)); + alt { + /* On the FACCH the BTS may send an RR frame acknowledging the I frame. */ + /* SAPI = 0, R = 1, F = 0, M = 0, L = 0, N(R) = 2. */ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=false, nr:=2))) { + repeat; + } + /* 6) The BTS shall repeat the I frame, this frame will acknowledge + receipt of the second I frame from the MS. */ + /* SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201, N(R) = 2, N(S) = 0. * */ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=true, + nr:=2, ns:=0, l3:=l3_mt))); + } + + /* 7) The MS then acknowledges receipt of the BTS I frame by sending a RR * frame. */ + /* SAPI = 0, R = 0, F = 1, 0, M = 0, L = 0, N(R) = 1 */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_RR(sapi, c_r:=cr_MO_RSP, p:=true, nr:=1))); + + /* 8) The BTS shall send the next I frame. The MS acknowledges this I frame. */ + l3_mt := f_rnd_octstring(16); + RSL.send(ts_RSL_DATA_REQ(g_chan_nr, link_id, l3_mt)); + /* SAPI = 0, C = 0, P = 0, M = 0, 0 ? L ? N201, N(R) = 2, N(S) = 1 */ + LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=false, + nr:=2, ns:=1, l3:=l3_mt))); + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_RR(sapi, c_r:=cr_MO_RSP, p:=true, nr:=2))); + + deactivate(d); + fp_common_fini(); +} +testcase TC_iframe_timer_recovery() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_iframe_timer_recovery)); +} + + + control { execute(TC_foo()); execute(TC_sabm_ua_dcch_sapi0()); @@ -260,6 +704,12 @@ execute(TC_sabm_ua_dcch_sapi4()); execute(TC_sabm_contention()); execute(TC_sabm_retransmit()); + execute(TC_sabm_retransmit_bts()); + execute(TC_sabm_invalid_resp()); + execute(TC_sabm_dm()); + execute(TC_establish_ign_first_sabm()); + execute(TC_iframe_seq_and_ack()); + execute(TC_iframe_timer_recovery()); } } diff --git a/library/LAPDm_Types.ttcn b/library/LAPDm_Types.ttcn index a1ca5fe..577c9bd 100644 --- a/library/LAPDm_Types.ttcn +++ b/library/LAPDm_Types.ttcn @@ -105,7 +105,7 @@ s := { n_r := nr, p_f := pf, s := '00'B } }; template (value) LapdmCtrl ts_LapdmCtrlRR(uint3_t nr, boolean pf) := { - s := { n_r := nr, p_f := pf, s := '00'B } + s := { n_r := nr, p_f := pf, s := '00'B, spare := '01'B } }; template LapdmCtrl tr_LapdmCtrlRNR(template uint3_t nr, template boolean pf) modifies tr_LapdmCtrlS := { @@ -115,6 +115,10 @@ template LapdmCtrl tr_LapdmCtrlREJ(template uint3_t nr, template boolean pf) modifies tr_LapdmCtrlS := { s := { n_r := nr, p_f := pf, s := '10'B } }; + template (value) LapdmCtrl ts_LapdmCtrlREJ(uint3_t nr, boolean pf) := { + s := { n_r := nr, p_f := pf, s := '10'B, spare := '01'B } + }; + template LapdmCtrl tr_LapdmCtrlSABM(template boolean p) := { u := { u := '001'B, p_f := p, u2 := '11'B, spare := '11'B } @@ -126,6 +130,9 @@ template LapdmCtrl tr_LapdmCtrlDM(template boolean f) := { u := { u := '000'B, p_f := f, u2 := '11'B, spare := '11'B } }; + template (value) LapdmCtrl ts_LapdmCtrlDM(boolean f) := { + u := { u := '000'B, p_f := f, u2 := '11'B, spare := '11'B } + }; template LapdmCtrl tr_LapdmCtrlUI(template boolean p := false) := { u := { u := '000'B, p_f := p, u2 := '00'B, spare := '11'B } @@ -261,6 +268,28 @@ } } + template (value) LapdmFrame ts_LAPDm_DM(LapdmSapi sapi, boolean c_r, boolean f) := { + ab := { + addr := ts_LapdmAddr(sapi, c_r), + ctrl := ts_LapdmCtrlDM(f), + len := 0, /* overwritten in encoder */ + m := false, + el := 1, + payload := ''O + } + } + template LapdmFrame tr_LAPDm_DM(template LapdmSapi sapi, template boolean c_r, + template boolean f) := { + ab := { + addr := tr_LapdmAddr(sapi, c_r), + ctrl := tr_LapdmCtrlDM(f), + len := ?, + m := false, + el := 1, + payload := ''O + } + } + template LapdmFrame ts_LAPDm_DISC(LapdmSapi sapi, boolean c_r, boolean p) := { ab := { addr := ts_LapdmAddr(sapi, c_r), @@ -368,6 +397,29 @@ } } + template LapdmFrame tr_LAPDm_REJ(template LapdmSapi sapi, template boolean c_r, + template boolean p, template uint3_t nr) := { + ab := { + addr := tr_LapdmAddr(sapi, c_r), + ctrl := tr_LapdmCtrlREJ(nr, p), + len := 0, + m := false, + el := 1, + payload := ''O + } + } + template (value) LapdmFrame ts_LAPDm_REJ(LapdmSapi sapi, boolean c_r, + boolean p, uint3_t nr) := { + ab := { + addr := ts_LapdmAddr(sapi, c_r), + ctrl := ts_LapdmCtrlREJ(nr, p), + len := 0, + m := false, + el := 1, + payload := ''O + } + } + } with { encode "RAW"; /*variant "FIELDORDER(msb)" */} -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4e1136c0c0f10d5bc8d01e826ae5d92f17a0b2aa Gerrit-Change-Number: 14341 Gerrit-PatchSet: 5 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 09:12:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:12:04 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add TC_segm_concat to test segmentation+concatenation In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14342 ) Change subject: bts: Add TC_segm_concat to test segmentation+concatenation ...................................................................... bts: Add TC_segm_concat to test segmentation+concatenation Change-Id: I6a9ce3e27f4a01412186b3b5d8d2b86573b6f8ac --- M bts/BTS_Tests_LAPDm.ttcn M library/LAPDm_Types.ttcn 2 files changed, 129 insertions(+), 4 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index 2eade0a..2738477 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -694,6 +694,129 @@ f_testmatrix_each_chan(pars, refers(f_TC_iframe_timer_recovery)); } +type record LapdmDlConfig { + integer n201, + integer t200 +}; + +type record LapdmDlState { + integer v_s, + integer v_a, + integer v_r +}; + +template (value) LapdmDlState t_init_LapdmDlState := { + v_s := 0, + v_a := 0, + v_r := 0 +} + +private function inc_mod8(inout integer v) +{ + v := (v + 1) mod 8; +} + +private function f_lapdm_transceive_mo(inout LapdmDlState dls, RslLinkId link_id, octetstring l3) +runs on ConnHdlr { + var LAPDm_ph_data pd; + var integer offset := 0; + var integer n201 := 20; + var boolean is_sacch := false; + if (link_id.c == SACCH) { + n201 := 18; + is_sacch := true; + } + + while (offset < lengthof(l3)) { + var integer remain_len := lengthof(l3) - offset; + var integer seg_len := remain_len; + if (remain_len > n201) { + seg_len := n201; + } + var octetstring segment := substr(l3, offset, seg_len); + var boolean more; + if (offset + lengthof(segment) < lengthof(l3)) { + more := true; + } else { + more := false; + } + /* send the next segment */ + LAPDM.send(t_PH_DATA(0, is_sacch, + ts_LAPDm_I(link_id.sapi, c_r:=cr_MO_CMD, p:=false, + nr:=dls.v_a, ns:=dls.v_s, l3:=segment, m:=more))); + inc_mod8(dls.v_s); + offset := offset + lengthof(segment); + + /* wait for it to be acknowledged */ + alt { + [] LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_RR(link_id.sapi, c_r:=cr_MT_RSP, + p:=false, nr:=(dls.v_s) mod 8))); + [] as_ignore_background(); + [] LAPDM.receive(t_PH_DATA(0, is_sacch, ?)) -> value pd { + setverdict(fail, "received unexpected LAPDm ", pd); + repeat; + } + [] LAPDM.receive(t_PH_DATA(0, ?, ?)) { repeat; } + [offset < lengthof(l3)] RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, ?)) { + setverdict(fail, "received RSL DATA IND before message complete"); + } + } + } + + timer T := 1.0; + T.start; + alt { + [] RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, l3)) { + setverdict(pass); + } + [] RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, ?)) { + setverdict(fail, "Received RSL DATA IND with wrong payload"); + } + [] T.timeout { + setverdict(fail, "Timeout waiting for RSL DATA IND of de-segmented message"); + } + } +} + +/* Section 5.8.5 of TS 04.06 */ +const integer c_TS0406_MAX_L3_OCTETS := 251; + +private function f_TC_segm_concat(charstring id) runs on ConnHdlr { + const integer sapi := 0; + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(sapi)); + var default d; + timer T := 3.0; + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background()); + RSL.clear; + LAPDM.clear; + + var octetstring l3_mo := f_rnd_octstring(5); + + /* 1) The BTS is brought into the multiple frame established state */ + + /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); + /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ + LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); + + l3_mo := f_rnd_octstring(c_TS0406_MAX_L3_OCTETS); + + deactivate(d); + + var LapdmDlState dls := valueof(t_init_LapdmDlState); + f_lapdm_transceive_mo(dls, link_id, l3_mo); + + fp_common_fini(); +} +testcase TC_segm_concat() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_segm_concat)); +} control { @@ -710,6 +833,7 @@ execute(TC_establish_ign_first_sabm()); execute(TC_iframe_seq_and_ack()); execute(TC_iframe_timer_recovery()); + execute(TC_segm_concat()); } } diff --git a/library/LAPDm_Types.ttcn b/library/LAPDm_Types.ttcn index 577c9bd..caccc12 100644 --- a/library/LAPDm_Types.ttcn +++ b/library/LAPDm_Types.ttcn @@ -352,23 +352,24 @@ template LapdmFrame tr_LAPDm_I(template LapdmSapi sapi, template boolean c_r, template boolean p, template uint3_t nr, - template uint3_t ns, template octetstring l3) := { + template uint3_t ns, template octetstring l3, + boolean m := false) := { ab := { addr := tr_LapdmAddr(sapi, c_r), ctrl := tr_LapdmCtrlI(nr, ns, p), len := ?, - m := false, + m := m, el := 1, payload := l3 } } template (value) LapdmFrame ts_LAPDm_I(LapdmSapi sapi, boolean c_r, boolean p, uint3_t nr, - uint3_t ns, octetstring l3) := { + uint3_t ns, octetstring l3, boolean m := false) := { ab := { addr := ts_LapdmAddr(sapi, c_r), ctrl := ts_LapdmCtrlI(nr, ns, p), len := 0, - m := false, + m := m, el := 1, payload := l3 } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6a9ce3e27f4a01412186b3b5d8d2b86573b6f8ac Gerrit-Change-Number: 14342 Gerrit-PatchSet: 5 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 09:12:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:12:04 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Also test SACCH in TC_segm_concat In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14343 ) Change subject: bts: Also test SACCH in TC_segm_concat ...................................................................... bts: Also test SACCH in TC_segm_concat Change-Id: If9b51b4d6c357aa015f31e1e6851d4d1bb71a58f --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 46 insertions(+), 17 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index 2738477..07b785e 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -503,9 +503,13 @@ private altstep as_lapdm_acch() runs on ConnHdlr { [] LAPDM.receive(t_PH_DATA(0, true, ?)) { repeat; } } +/* ignore all DCCH frames */ +private altstep as_lapdm_dcch() runs on ConnHdlr { + [] LAPDM.receive(t_PH_DATA(0, false, ?)) { repeat; } +} /* ignore all LAPDm idle frames (UI) */ private altstep as_lapdm_idle() runs on ConnHdlr { - [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UI(0, ?, ''O))) { repeat; } + [] LAPDM.receive(t_PH_DATA(0, ?, tr_LAPDm_UI(?, ?, ''O))) { repeat; } } /* ignore all measurement reports */ private altstep as_rsl_meas_rep() runs on ConnHdlr { @@ -519,8 +523,9 @@ } } /* all of the above */ -private altstep as_ignore_background() runs on ConnHdlr { - [] as_lapdm_acch(); +private altstep as_ignore_background(boolean want_dcch := true) runs on ConnHdlr { + [want_dcch] as_lapdm_acch(); + [not want_dcch] as_lapdm_dcch(); [] as_lapdm_idle(); [] as_rsl_meas_rep(); [] as_rsl_fail_err(); @@ -751,7 +756,7 @@ alt { [] LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_RR(link_id.sapi, c_r:=cr_MT_RSP, p:=false, nr:=(dls.v_s) mod 8))); - [] as_ignore_background(); + [] as_ignore_background(not is_sacch); [] LAPDM.receive(t_PH_DATA(0, is_sacch, ?)) -> value pd { setverdict(fail, "received unexpected LAPDm ", pd); repeat; @@ -781,28 +786,38 @@ /* Section 5.8.5 of TS 04.06 */ const integer c_TS0406_MAX_L3_OCTETS := 251; -private function f_TC_segm_concat(charstring id) runs on ConnHdlr { - const integer sapi := 0; - var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(sapi)); +/* test segmentation and de-segmentation (concatenation) of a large message in uplink + * on specified SAPI/channel */ +private function f_TC_segm_concat(charstring id, RslLinkId link_id) runs on ConnHdlr { + var integer sapi := link_id.sapi; + var boolean is_sacch := false; + if (link_id.c == SACCH) { + is_sacch := true; + } var default d; timer T := 3.0; fp_common_init(); /* some common altstep for meas res and other background noise */ - d := activate(as_ignore_background()); + d := activate(as_ignore_background(not is_sacch)); RSL.clear; LAPDM.clear; var octetstring l3_mo := f_rnd_octstring(5); - /* 1) The BTS is brought into the multiple frame established state */ - /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ - LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); - RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); + if (is_sacch) { + /* no payload permitted, as this is not contention resolution */ + l3_mo := ''O; + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND_NOL3(g_chan_nr, link_id)); + } else { + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); + } /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ - LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); + LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); l3_mo := f_rnd_octstring(c_TS0406_MAX_L3_OCTETS); @@ -813,10 +828,23 @@ fp_common_fini(); } -testcase TC_segm_concat() runs on test_CT { - var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); - f_testmatrix_each_chan(pars, refers(f_TC_segm_concat)); +private function f_TC_segm_concat_dcch(charstring id) runs on ConnHdlr { + f_TC_segm_concat(id, valueof(ts_RslLinkID_DCCH(0))); } +private function f_TC_segm_concat_sacch(charstring id) runs on ConnHdlr { + f_TC_segm_concat(id, link_id :=valueof(ts_RslLinkID_SACCH(0))); +} +/* test mobile-originated segmentation/de-segmentation on DCCH */ +testcase TC_segm_concat_dcch() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_segm_concat_dcch)); +} +/* test mobile-originated segmentation/de-segmentation on SACCH */ +testcase TC_segm_concat_sacch() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_segm_concat_sacch)); +} + control { @@ -833,7 +861,8 @@ execute(TC_establish_ign_first_sabm()); execute(TC_iframe_seq_and_ack()); execute(TC_iframe_timer_recovery()); - execute(TC_segm_concat()); + execute(TC_segm_concat_dcch()); + execute(TC_segm_concat_sacch()); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If9b51b4d6c357aa015f31e1e6851d4d1bb71a58f Gerrit-Change-Number: 14343 Gerrit-PatchSet: 5 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 09:12:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:12:04 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RSL_Types: Fix definition of RLL ERROR INDICATION In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14345 ) Change subject: RSL_Types: Fix definition of RLL ERROR INDICATION ...................................................................... RSL_Types: Fix definition of RLL ERROR INDICATION This message uses the "RLM Cause IE" and not the "Cause IE" Change-Id: If3b92ab475817922c05c9af691d9f79da33804ac --- M library/RSL_Types.ttcn 1 file changed, 5 insertions(+), 4 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 588dc4b..456d6d2 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -987,23 +987,24 @@ /* 8.3.3 BTS -> BSC */ template (value) RSL_Message ts_RSL_ERROR_IND(template (value) RslChannelNr chan_nr, - template (value) RslLinkId link_id, RSL_Cause cause) := { + template (value) RslLinkId link_id, + template (value) octetstring rlm_cause) := { msg_disc := ts_RSL_MsgDisc(RSL_MDISC_RLL, false), msg_type := RSL_MT_ERROR_IND, ies :={ t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}), t_RSL_IE(RSL_IE_LINK_IDENT, RSL_IE_Body:{link_id := link_id}), - t_RSL_IE(RSL_IE_CAUSE, RSL_IE_Body:{cause := ts_RSL_IE_Cause(cause)}) + t_RSL_IE(RSL_IE_CAUSE, RSL_IE_Body:{rlm_cause := ts_RSL_LV(rlm_cause)}) } } template RSL_Message tr_RSL_ERROR_IND(template RslChannelNr chan_nr, template RslLinkId link_id, - template RSL_Cause cause := ?) := { + template octetstring rlm_cause := ?) := { msg_disc := tr_RSL_MsgDisc(RSL_MDISC_RLL, false), msg_type := RSL_MT_ERROR_IND, ies :={ tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}), tr_RSL_IE(RSL_IE_Body:{link_id := link_id}), - tr_RSL_IE(RSL_IE_Body:{cause := tr_RSL_IE_Cause(cause)}) + tr_RSL_IE(RSL_IE_Body:{rlm_cause := tr_RSL_LV(rlm_cause)}) } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If3b92ab475817922c05c9af691d9f79da33804ac Gerrit-Change-Number: 14345 Gerrit-PatchSet: 5 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 09:12:05 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:12:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add test for expiring T200 N200+1 times In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14346 ) Change subject: bts: Add test for expiring T200 N200+1 times ...................................................................... bts: Add test for expiring T200 N200+1 times Change-Id: I9e1dbc889575f8952a4581551076829825b3b1cd --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 91 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index 07b785e..ffa3aa9 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -845,7 +845,97 @@ f_testmatrix_each_chan(pars, refers(f_TC_segm_concat_sacch)); } +/* TS 04.06 Section 5.8.2.1 */ +private function f_n200_by_chan_nr(RslChannelNr chan_nr, RslLinkId link_id) return integer { + /* SACCH irrespective of physical channel type */ + if (match(link_id, tr_RslLinkID_SACCH(?))) { + return 5; + } + /* DCCH below */ + select (chan_nr) { + case (t_RslChanNr_SDCCH4(?, ?)) { return 23; } + case (t_RslChanNr_SDCCH8(?, ?)) { return 23; } + case (t_RslChanNr_Bm(?)) { return 34; } + case (t_RslChanNr_Lm(?, ?)) { return 29; } + } + setverdict(fail, "Unknown chan_nr ", chan_nr, " or link_id ", link_id); + return -1; +} +/* Test if there are exactly N200+1 transmissions of I frames; inspired by 25.2.4.1 */ +private function f_TC_t200_n200(charstring id) runs on ConnHdlr { + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(0)); + var integer sapi := link_id.sapi; + var boolean is_sacch := false; + if (link_id.c == SACCH) { + is_sacch := true; + } + var integer n200 := f_n200_by_chan_nr(g_chan_nr, link_id); + var integer num_retrans := 0; + timer T := 3.0; + var default d; + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background(true)); + RSL.clear; + LAPDM.clear; + + var octetstring l3_mo := f_rnd_octstring(20); + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); + LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); + + var octetstring l3_mt := f_rnd_octstring(20); + RSL.send(ts_RSL_DATA_REQ(g_chan_nr, link_id, l3_mt)); + /* first transmission, P = 0 */ + LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=false, + nr:=0, ns:=0, l3:=l3_mt))); + deactivate(d); + + alt { + /* re-transmission, P = 1 */ + [] LAPDM.receive(t_PH_DATA(0, is_sacch, + tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=true, nr:=0, ns:=0, l3:=l3_mt))) { + num_retrans := num_retrans + 1; + if (num_retrans < n200) { + repeat; + } else if (num_retrans == n200) { + T.start; /* wait for some more time if there are more retransmissions */ + repeat; + } else { + /* break */ + } + } + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_I(sapi, ?, ?, ?, ?, ?))) { + setverdict(fail, "Received unexpected I frame"); + } + [not is_sacch] as_lapdm_acch(); + [is_sacch] as_lapdm_dcch(); + [] as_lapdm_idle(); + [] as_rsl_meas_rep(); + [num_retrans == n200] RSL.receive(tr_RSL_ERROR_IND(g_chan_nr, link_id, '01'O)) { + /* break */ + } + [] T.timeout { + setverdict(fail, "Missing RSL RLL ERROR INDICATION"); + } + } + + if (num_retrans == n200) { + setverdict(pass, "Received ", num_retrans, " on channel ", g_chan_nr, " link ", link_id); + } else if (num_retrans < n200) { + setverdict(fail, "Too few retransmissions (", num_retrans, "); N200=", n200, + " on channel ", g_chan_nr, " link ", link_id); + } + + fp_common_fini(); +} +testcase TC_t200_n200() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_t200_n200)); +} control { execute(TC_foo()); @@ -863,6 +953,7 @@ execute(TC_iframe_timer_recovery()); execute(TC_segm_concat_dcch()); execute(TC_segm_concat_sacch()); + execute(TC_t200_n200()); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9e1dbc889575f8952a4581551076829825b3b1cd Gerrit-Change-Number: 14346 Gerrit-PatchSet: 5 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 09:12:05 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:12:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Factor out mobile-originated LAPDm establishment In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14348 ) Change subject: bts: Factor out mobile-originated LAPDm establishment ...................................................................... bts: Factor out mobile-originated LAPDm establishment which avoids us to have to copy+pate this between several test cases. Change-Id: I8da753bb3d809ec09f9380bb4bac666ceaf61f00 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 29 insertions(+), 24 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index ffa3aa9..3c39a5a 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -290,6 +290,31 @@ f_lapdm_exit(); } +/* Mobile-Originated LAPDm establishment on given Link ID */ +private function f_establish_mo(RslLinkId link_id) runs on ConnHdlr +{ + var integer sapi := link_id.sapi; + var boolean is_sacch := false; + if (link_id.c == SACCH) { + is_sacch := true; + } + + var octetstring l3_mo := f_rnd_octstring(5); + + /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ + if (is_sacch) { + /* no payload permitted, as this is not contention resolution */ + l3_mo := ''O; + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND_NOL3(g_chan_nr, link_id)); + } else { + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); + } + /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ + LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); +} + /* Verify that the BTS is re-transmitting SABM messages after T200 timeout, inspired by 3GPP TS 51.010-1 25.2.1.1.2.1 + 25.2.1.2.4 */ private function f_TC_sabm_retransmit_bts(charstring id) runs on ConnHdlr { @@ -547,11 +572,7 @@ RSL.clear; LAPDM.clear; - /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ - LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3))); - RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3)); - /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ - LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3))); + f_establish_mo(link_id); var integer last_ns_rx := 0; @@ -804,22 +825,9 @@ RSL.clear; LAPDM.clear; - var octetstring l3_mo := f_rnd_octstring(5); + f_establish_mo(link_id); - /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ - if (is_sacch) { - /* no payload permitted, as this is not contention resolution */ - l3_mo := ''O; - LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); - RSL.receive(tr_RSL_EST_IND_NOL3(g_chan_nr, link_id)); - } else { - LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); - RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); - } - /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ - LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); - - l3_mo := f_rnd_octstring(c_TS0406_MAX_L3_OCTETS); + var octetstring l3_mo := f_rnd_octstring(c_TS0406_MAX_L3_OCTETS); deactivate(d); @@ -882,10 +890,7 @@ RSL.clear; LAPDM.clear; - var octetstring l3_mo := f_rnd_octstring(20); - LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); - RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); - LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); + f_establish_mo(link_id); var octetstring l3_mt := f_rnd_octstring(20); RSL.send(ts_RSL_DATA_REQ(g_chan_nr, link_id, l3_mt)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8da753bb3d809ec09f9380bb4bac666ceaf61f00 Gerrit-Change-Number: 14348 Gerrit-PatchSet: 4 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 09:12:05 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:12:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Implement testcase for RR response frame loss In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14349 ) Change subject: bts: Implement testcase for RR response frame loss ...................................................................... bts: Implement testcase for RR response frame loss Test is implemented as BTS_Tests_LAPDm.TC_rr_response_frame_loss() Change-Id: I32340fff6666fee0ebfb9b31b55e0982d0d917a1 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 58 insertions(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index 3c39a5a..bf359f2 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -942,6 +942,63 @@ f_testmatrix_each_chan(pars, refers(f_TC_t200_n200)); } +/* Ensure BTS repeats RR frame after retransmitting I frame to emulate RR loss; + Inspired by TS 51.010-1 25.2.4.3 */ +private function f_TC_rr_response_frame_loss(charstring id) runs on ConnHdlr { + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(0)); + var integer sapi := link_id.sapi; + var boolean is_sacch := false; + if (link_id.c == SACCH) { + is_sacch := true; + } + timer T := 3.0; + var default d; + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background(true)); + RSL.clear; + LAPDM.clear; + + f_establish_mo(link_id); + + var octetstring l3_mo := f_rnd_octstring(10); + /* Send an I frame to the BTS: SAPI = 0, C = 1, P = 0, M = 0, L = 3, N(S) = 0, N(R) = 0 */ + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=false, nr:=0, ns:=0, + l3:=l3_mo))); + RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, l3_mo)); + /* SAPI = 0, R = 1, F = 0, M = 0, L = 0, N(R) = 1. */ + LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=false, nr:=1))); + + /* Re-send I frame: SAPI = 0, C = 1, P = 1, M = 0, L = 3, N(S) = 0, N(R) = 0. */ + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=true, nr:=0, ns:=0, + l3:=l3_mo))); + + T.start; + alt { + /* RR: SAPI = 0, R = 1, F = 1, M = 0, L = 0, N(R) = 1. */ + [] LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=true, nr:=1))) { + setverdict(pass); + } + /* REJ: SAPI = 0, R = 1, F = 1, M = 0, L = 0, N(R) = 1. */ + [] LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_REJ(sapi, c_r:=cr_MT_RSP, p:=true, nr:=1))) { + setverdict(pass); + } + [] T.timeout { + setverdict(fail, "Timeout waiting for RR or REJ"); + } + } + + deactivate(d); + + fp_common_fini(); +} +testcase TC_rr_response_frame_loss() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_rr_response_frame_loss)); +} + control { execute(TC_foo()); execute(TC_sabm_ua_dcch_sapi0()); @@ -959,6 +1016,7 @@ execute(TC_segm_concat_dcch()); execute(TC_segm_concat_sacch()); execute(TC_t200_n200()); + execute(TC_rr_response_frame_loss()); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I32340fff6666fee0ebfb9b31b55e0982d0d917a1 Gerrit-Change-Number: 14349 Gerrit-PatchSet: 4 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 09:15:59 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 Jun 2019 09:15:59 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Replace old pdp APIs with new ones with multi-gsn support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14297 ) Change subject: gtp: Replace old pdp APIs with new ones with multi-gsn support ...................................................................... Patch Set 2: > Patch Set 2: > > this is about replacing API usage / API calls, right? It's not changing the actual API implementation? Yes indeed, I prefered splitting into different commits, since anyway I keep backwards compatibility. So first commit adds new APIs (and change implementation of old ones). Then for each user of the API, I add a commit with changes to move to use the new API (libgtp, osmo-ggsn, sgsnemu, osmo-sgsn). -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ibf56a063f01d1f95a2a3271416da6e062e85fdfa Gerrit-Change-Number: 14297 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 Jun 2019 09:15: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 Tue Jun 4 09:31:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 Jun 2019 09:31:23 +0000 Subject: Change in ...osmo-msc[master]: db_sms_test: Do not print exact memcmp result 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/+/14357 to look at the new patch set (#2). Change subject: db_sms_test: Do not print exact memcmp result ...................................................................... db_sms_test: Do not print exact memcmp result man memcp doesn't define exact values for returned integer, it only specifices a meaning for the sign of it. So it happens that different versions/implementations actually return different values when this test is run, making it fail. Let's simply drop that info from logs since anyways it's not useful. Change-Id: I771fb8f4fc56f337b16561d005ff1803a386d1c6 --- M tests/db_sms/db_sms_test.c M tests/db_sms/db_sms_test.err 2 files changed, 11 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/57/14357/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I771fb8f4fc56f337b16561d005ff1803a386d1c6 Gerrit-Change-Number: 14357 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 09:31:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 Jun 2019 09:31:23 +0000 Subject: Change in ...osmo-msc[master]: db_sms_test: Remove libdbi expected driver load errors Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14362 Change subject: db_sms_test: Remove libdbi expected driver load errors ...................................................................... db_sms_test: Remove libdbi expected driver load errors Newer versions of libdbi print to stderr unconditionally when trying to load drivers from /usr/lib/dbd. This makes test output to change depending on host/distro set up (installed modules). Let's get those messages out to make it easier for people having tests pass. We swap stderr/stdout instead of mixing to avoud future possible race conditions if both get content writen into them. Change-Id: Iec78826d28435f464be22e81b3776a6ae8326d59 --- M tests/db_sms/db_sms_test.err M tests/db_sms/db_sms_test.ok M tests/testsuite.at 3 files changed, 77 insertions(+), 76 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/62/14362/1 diff --git a/tests/db_sms/db_sms_test.err b/tests/db_sms/db_sms_test.err index c61b1f4..e69de29 100644 --- a/tests/db_sms/db_sms_test.err +++ b/tests/db_sms/db_sms_test.err @@ -1,75 +0,0 @@ -DDB DEBUG Init a new database -DDB DEBUG Init complete -DDB INFO Testing db_sms_store()... -DDB NOTICE test_db_sms_store('Regular MO SMS'): success, as expected -DDB NOTICE test_db_sms_store('Regular MT SMS'): success, as expected -DDB NOTICE test_db_sms_store('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected -DDB NOTICE test_db_sms_store('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected -DDB NOTICE test_db_sms_store('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected -DDB NOTICE test_db_sms_store('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected -DDB NOTICE test_db_sms_store('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected -DDB NOTICE test_db_sms_store('Same MSISDN #1'): success, as expected -DDB NOTICE test_db_sms_store('Same MSISDN #2'): success, as expected -DDB NOTICE test_db_sms_store('Expired SMS'): success, as expected -DDB NOTICE test_db_sms_store('Empty TP-UD'): success, as expected -DDB INFO Testing db_sms_get()... -DDB NOTICE test_db_sms_get('Regular MO SMS'): success, as expected -DDB NOTICE verify_sms('Regular MO SMS'): match -DDB NOTICE test_db_sms_get('Regular MT SMS'): success, as expected -DDB NOTICE verify_sms('Regular MT SMS'): match -DDB NOTICE test_db_sms_get('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch -DDB NOTICE test_db_sms_get('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch -DDB NOTICE test_db_sms_get('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected -DDB NOTICE verify_sms('TP-UD buffer overflow (UDH-Length > UD-Length)'): match -DDB NOTICE test_db_sms_get('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch -DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch -DDB NOTICE test_db_sms_get('Same MSISDN #1'): success, as expected -DDB NOTICE verify_sms('Same MSISDN #1'): match -DDB NOTICE test_db_sms_get('Same MSISDN #2'): success, as expected -DDB NOTICE verify_sms('Same MSISDN #2'): match -DDB NOTICE test_db_sms_get('Expired SMS'): success, as expected -DDB NOTICE verify_sms('Expired SMS'): match -DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected -DDB NOTICE verify_sms('Empty TP-UD'): match -DDB INFO Testing db_sms_get_next_unsent() and db_sms_mark_delivered()... -DDB NOTICE db_sms_get_next_unsent(#1): found -DDB NOTICE verify_sms('Regular MO SMS'): match -DDB NOTICE db_sms_get_next_unsent(#2): found -DDB NOTICE verify_sms('Regular MT SMS'): match -DDB DEBUG Marking #1 as delivered: rc=0 -DDB DEBUG Marking #2 as delivered: rc=0 -DDB NOTICE db_sms_get_next_unsent(starting from #1): found -DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch -DDB INFO Testing db_sms_delete_sent_message_by_id()... -DDB NOTICE db_sms_delete_sent_message_by_id(#1, sent): rc=0 -DDB NOTICE db_sms_delete_sent_message_by_id(#3, not sent): rc=0 -DDB INFO Testing db_sms_delete_by_msisdn()... -DDB NOTICE db_sms_delete_by_msisdn('72631'): rc=0 -DDB INFO Testing db_sms_delete_oldest_expired_message()... -DDB NOTICE db_sms_delete_oldest_expired_message() -DDB INFO Expectations updated, retrieving all messages again -DDB INFO Testing db_sms_get()... -DDB NOTICE test_db_sms_get('Regular MO SMS'): failure, as expected -DDB NOTICE test_db_sms_get('Regular MT SMS'): success, as expected -DDB NOTICE verify_sms('Regular MT SMS'): match -DDB NOTICE test_db_sms_get('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch -DDB NOTICE test_db_sms_get('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch -DDB NOTICE test_db_sms_get('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected -DDB NOTICE verify_sms('TP-UD buffer overflow (UDH-Length > UD-Length)'): match -DDB NOTICE test_db_sms_get('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch -DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch -DDB NOTICE test_db_sms_get('Same MSISDN #1'): failure, as expected -DDB NOTICE test_db_sms_get('Same MSISDN #2'): failure, as expected -DDB NOTICE test_db_sms_get('Expired SMS'): unexpected result -DDB NOTICE verify_sms('Expired SMS'): match -DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected -DDB NOTICE verify_sms('Empty TP-UD'): match -full talloc report on 'null_context' (total 0 bytes in 1 blocks) diff --git a/tests/db_sms/db_sms_test.ok b/tests/db_sms/db_sms_test.ok index e69de29..c61b1f4 100644 --- a/tests/db_sms/db_sms_test.ok +++ b/tests/db_sms/db_sms_test.ok @@ -0,0 +1,75 @@ +DDB DEBUG Init a new database +DDB DEBUG Init complete +DDB INFO Testing db_sms_store()... +DDB NOTICE test_db_sms_store('Regular MO SMS'): success, as expected +DDB NOTICE test_db_sms_store('Regular MT SMS'): success, as expected +DDB NOTICE test_db_sms_store('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected +DDB NOTICE test_db_sms_store('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected +DDB NOTICE test_db_sms_store('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected +DDB NOTICE test_db_sms_store('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected +DDB NOTICE test_db_sms_store('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected +DDB NOTICE test_db_sms_store('Same MSISDN #1'): success, as expected +DDB NOTICE test_db_sms_store('Same MSISDN #2'): success, as expected +DDB NOTICE test_db_sms_store('Expired SMS'): success, as expected +DDB NOTICE test_db_sms_store('Empty TP-UD'): success, as expected +DDB INFO Testing db_sms_get()... +DDB NOTICE test_db_sms_get('Regular MO SMS'): success, as expected +DDB NOTICE verify_sms('Regular MO SMS'): match +DDB NOTICE test_db_sms_get('Regular MT SMS'): success, as expected +DDB NOTICE verify_sms('Regular MT SMS'): match +DDB NOTICE test_db_sms_get('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch +DDB NOTICE test_db_sms_get('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch +DDB NOTICE test_db_sms_get('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected +DDB NOTICE verify_sms('TP-UD buffer overflow (UDH-Length > UD-Length)'): match +DDB NOTICE test_db_sms_get('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch +DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch +DDB NOTICE test_db_sms_get('Same MSISDN #1'): success, as expected +DDB NOTICE verify_sms('Same MSISDN #1'): match +DDB NOTICE test_db_sms_get('Same MSISDN #2'): success, as expected +DDB NOTICE verify_sms('Same MSISDN #2'): match +DDB NOTICE test_db_sms_get('Expired SMS'): success, as expected +DDB NOTICE verify_sms('Expired SMS'): match +DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected +DDB NOTICE verify_sms('Empty TP-UD'): match +DDB INFO Testing db_sms_get_next_unsent() and db_sms_mark_delivered()... +DDB NOTICE db_sms_get_next_unsent(#1): found +DDB NOTICE verify_sms('Regular MO SMS'): match +DDB NOTICE db_sms_get_next_unsent(#2): found +DDB NOTICE verify_sms('Regular MT SMS'): match +DDB DEBUG Marking #1 as delivered: rc=0 +DDB DEBUG Marking #2 as delivered: rc=0 +DDB NOTICE db_sms_get_next_unsent(starting from #1): found +DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch +DDB INFO Testing db_sms_delete_sent_message_by_id()... +DDB NOTICE db_sms_delete_sent_message_by_id(#1, sent): rc=0 +DDB NOTICE db_sms_delete_sent_message_by_id(#3, not sent): rc=0 +DDB INFO Testing db_sms_delete_by_msisdn()... +DDB NOTICE db_sms_delete_by_msisdn('72631'): rc=0 +DDB INFO Testing db_sms_delete_oldest_expired_message()... +DDB NOTICE db_sms_delete_oldest_expired_message() +DDB INFO Expectations updated, retrieving all messages again +DDB INFO Testing db_sms_get()... +DDB NOTICE test_db_sms_get('Regular MO SMS'): failure, as expected +DDB NOTICE test_db_sms_get('Regular MT SMS'): success, as expected +DDB NOTICE verify_sms('Regular MT SMS'): match +DDB NOTICE test_db_sms_get('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch +DDB NOTICE test_db_sms_get('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch +DDB NOTICE test_db_sms_get('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected +DDB NOTICE verify_sms('TP-UD buffer overflow (UDH-Length > UD-Length)'): match +DDB NOTICE test_db_sms_get('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch +DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch +DDB NOTICE test_db_sms_get('Same MSISDN #1'): failure, as expected +DDB NOTICE test_db_sms_get('Same MSISDN #2'): failure, as expected +DDB NOTICE test_db_sms_get('Expired SMS'): unexpected result +DDB NOTICE verify_sms('Expired SMS'): match +DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected +DDB NOTICE verify_sms('Empty TP-UD'): match +full talloc report on 'null_context' (total 0 bytes in 1 blocks) diff --git a/tests/testsuite.at b/tests/testsuite.at index cd01bf1..c0788b9 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -20,7 +20,8 @@ AT_KEYWORDS([db_sms_test]) cat $abs_srcdir/db_sms/db_sms_test.ok > expout cat $abs_srcdir/db_sms/db_sms_test.err > experr -AT_CHECK([$abs_top_builddir/tests/db_sms/db_sms_test], [], [expout], [experr]) +# swap the output from stderr and stdout so we can drop libdbi prints to stderr when trying to load wrong drivers +AT_CHECK([$abs_top_builddir/tests/db_sms/db_sms_test 3>&1 1>&2 2>&3 | grep -v "Failed to load driver" | grep -v "cannot open shared object file"], [], [expout], [experr]) AT_CLEANUP AT_SETUP([msc_vlr_test_no_authen]) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Iec78826d28435f464be22e81b3776a6ae8326d59 Gerrit-Change-Number: 14362 Gerrit-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 4 09:50:22 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 09:50:22 +0000 Subject: Change in ...osmo-msc[master]: db_sms_test: Do not print exact memcmp result In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14357 ) Change subject: db_sms_test: Do not print exact memcmp result ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I771fb8f4fc56f337b16561d005ff1803a386d1c6 Gerrit-Change-Number: 14357 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 04 Jun 2019 09:50:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 09:51:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:51:31 +0000 Subject: Change in ...osmo-msc[master]: db_sms_test: Do not print exact memcmp result In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14357 ) Change subject: db_sms_test: Do not print exact memcmp result ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I771fb8f4fc56f337b16561d005ff1803a386d1c6 Gerrit-Change-Number: 14357 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 04 Jun 2019 09:51:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 09:51:33 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 09:51:33 +0000 Subject: Change in ...osmo-msc[master]: db_sms_test: Do not print exact memcmp result In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14357 ) Change subject: db_sms_test: Do not print exact memcmp result ...................................................................... db_sms_test: Do not print exact memcmp result man memcp doesn't define exact values for returned integer, it only specifices a meaning for the sign of it. So it happens that different versions/implementations actually return different values when this test is run, making it fail. Let's simply drop that info from logs since anyways it's not useful. Change-Id: I771fb8f4fc56f337b16561d005ff1803a386d1c6 --- M tests/db_sms/db_sms_test.c M tests/db_sms/db_sms_test.err 2 files changed, 11 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved Harald Welte: Looks good to me, approved diff --git a/tests/db_sms/db_sms_test.c b/tests/db_sms/db_sms_test.c index a97f7c7..24c86e5 100644 --- a/tests/db_sms/db_sms_test.c +++ b/tests/db_sms/db_sms_test.c @@ -357,16 +357,14 @@ rc = memcmp(sms->user_data, test->sms.user_data, sizeof(sms->user_data)); if (rc) { - LOGPC(DDB, LOGL_ERROR, "TP-User-Data mismatch (diff=%d/%zu)\n", - rc, sizeof(sms->user_data)); + LOGPC(DDB, LOGL_ERROR, "TP-User-Data mismatch\n"); return -EINVAL; } /* Compare decoded text */ rc = strncmp(sms->text, test->sms.text, sizeof(sms->text)); if (rc) { - LOGPC(DDB, LOGL_ERROR, "TP-User-Data (text) mismatch (diff=%d/%zu)\n", - rc, sizeof(sms->text)); + LOGPC(DDB, LOGL_ERROR, "TP-User-Data (text) mismatch\n"); return -EINVAL; } diff --git a/tests/db_sms/db_sms_test.err b/tests/db_sms/db_sms_test.err index e0a329d..c61b1f4 100644 --- a/tests/db_sms/db_sms_test.err +++ b/tests/db_sms/db_sms_test.err @@ -18,15 +18,15 @@ DDB NOTICE test_db_sms_get('Regular MT SMS'): success, as expected DDB NOTICE verify_sms('Regular MT SMS'): match DDB NOTICE test_db_sms_get('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch DDB NOTICE test_db_sms_get('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-66/256) +DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch DDB NOTICE test_db_sms_get('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected DDB NOTICE verify_sms('TP-UD buffer overflow (UDH-Length > UD-Length)'): match DDB NOTICE test_db_sms_get('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-16896/256) +DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch DDB NOTICE test_db_sms_get('Same MSISDN #1'): success, as expected DDB NOTICE verify_sms('Same MSISDN #1'): match DDB NOTICE test_db_sms_get('Same MSISDN #2'): success, as expected @@ -43,7 +43,7 @@ DDB DEBUG Marking #1 as delivered: rc=0 DDB DEBUG Marking #2 as delivered: rc=0 DDB NOTICE db_sms_get_next_unsent(starting from #1): found -DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch DDB INFO Testing db_sms_delete_sent_message_by_id()... DDB NOTICE db_sms_delete_sent_message_by_id(#1, sent): rc=0 DDB NOTICE db_sms_delete_sent_message_by_id(#3, not sent): rc=0 @@ -57,15 +57,15 @@ DDB NOTICE test_db_sms_get('Regular MT SMS'): success, as expected DDB NOTICE verify_sms('Regular MT SMS'): match DDB NOTICE test_db_sms_get('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch DDB NOTICE test_db_sms_get('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-66/256) +DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch DDB NOTICE test_db_sms_get('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected DDB NOTICE verify_sms('TP-UD buffer overflow (UDH-Length > UD-Length)'): match DDB NOTICE test_db_sms_get('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch (diff=-65/256) +DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch (diff=-16896/256) +DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch DDB NOTICE test_db_sms_get('Same MSISDN #1'): failure, as expected DDB NOTICE test_db_sms_get('Same MSISDN #2'): failure, as expected DDB NOTICE test_db_sms_get('Expired SMS'): unexpected result -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I771fb8f4fc56f337b16561d005ff1803a386d1c6 Gerrit-Change-Number: 14357 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 10:12:29 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 10:12:29 +0000 Subject: Change in ...libosmocore[master]: fsm: Reduce amount of copy+pasted LOGPFSMSRC() statements Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14363 Change subject: fsm: Reduce amount of copy+pasted LOGPFSMSRC() statements ...................................................................... fsm: Reduce amount of copy+pasted LOGPFSMSRC() statements Instead of copy+pasting the same LOGPFSMSRC("State change to " ...) with slightly different trailer depending on the FSM timer, let's first snprintf() to a stack variable and then have a single log statement. Change-Id: I49528c4ca1fa11aef09c2092615dccca450b847c --- M src/fsm.c 1 file changed, 15 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/63/14363/1 diff --git a/src/fsm.c b/src/fsm.c index 37da9f9..337786d 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -609,33 +609,31 @@ st->onleave(fi, new_state); if (fsm_log_timeouts) { + char trailer[64]; + trailer[0] = '\0'; if (keep_timer && fi->timer.active) { /* This should always give us a timeout, but just in case the return value indicates error, omit * logging the remaining time. */ if (osmo_timer_remaining(&fi->timer, NULL, &remaining)) - LOGPFSMSRC(fi, file, line, - "State change to %s (keeping " OSMO_T_FMT ")\n", - osmo_fsm_state_name(fsm, new_state), - OSMO_T_FMT_ARGS(fi->T)); + snprintf(trailer, sizeof(trailer), "(keeping " OSMO_T_FMT ")", + OSMO_T_FMT_ARGS(fi->T)); else - LOGPFSMSRC(fi, file, line, - "State change to %s (keeping " OSMO_T_FMT ", %ld.%03lds remaining)\n", - osmo_fsm_state_name(fsm, new_state), - OSMO_T_FMT_ARGS(fi->T), remaining.tv_sec, remaining.tv_usec / 1000); + snprintf(trailer, sizeof(trailer), "(keeping " OSMO_T_FMT + ", %ld.%03lds remaining)", OSMO_T_FMT_ARGS(fi->T), + remaining.tv_sec, remaining.tv_usec / 1000); } else if (timeout_ms) { - if (timeout_ms % 1000 == 0) { + if (timeout_ms % 1000 == 0) /* keep log output legacy compatible to avoid autotest failures */ - LOGPFSMSRC(fi, file, line, "State change to %s (" OSMO_T_FMT ", %lus)\n", - osmo_fsm_state_name(fsm, new_state), + snprintf(trailer, sizeof(trailer), "(" OSMO_T_FMT ", %lus)", OSMO_T_FMT_ARGS(T), timeout_ms/1000); - } else { - LOGPFSMSRC(fi, file, line, "State change to %s (" OSMO_T_FMT ", %lums)\n", - osmo_fsm_state_name(fsm, new_state), + else + snprintf(trailer, sizeof(trailer), "(" OSMO_T_FMT ", %lums)", OSMO_T_FMT_ARGS(T), timeout_ms); - } } else - LOGPFSMSRC(fi, file, line, "State change to %s (no timeout)\n", - osmo_fsm_state_name(fsm, new_state)); + snprintf(trailer, sizeof(trailer), "(no timeout)"); + + LOGPFSMSRC(fi, file, line, "State change to %s %s\n", + osmo_fsm_state_name(fsm, new_state), trailer); } else { LOGPFSMSRC(fi, file, line, "state_chg to %s\n", osmo_fsm_state_name(fsm, new_state)); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I49528c4ca1fa11aef09c2092615dccca450b847c Gerrit-Change-Number: 14363 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 10:13:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 10:13:10 +0000 Subject: Change in ...libosmocore[master]: fsm: Allow millisecond granularity in osmo_fsm built-in timer In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14200 ) Change subject: fsm: Allow millisecond granularity in osmo_fsm built-in timer ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I35b330e460e80bb67376c77e997e464439ac5397 Gerrit-Change-Number: 14200 Gerrit-PatchSet: 6 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 Jun 2019 10:13:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 10:43:28 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 Jun 2019 10:43:28 +0000 Subject: Change in ...osmo-hlr[master]: db_hlr: zero-initialize "struct tm" Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14364 Change subject: db_hlr: zero-initialize "struct tm" ...................................................................... db_hlr: zero-initialize "struct tm" The last LU time gets read from the database as string, parsed with strptime to "struct tm", and then gets converted to time_t with mktime. A recent behavior change in glibc's mktime implementation unconvered, that we don't have tm.tm_isdst (daylight saving time) set properly. As "struct tm" was not initialized, and strptime did not write to tm_isdst, it was set to a random value. When it was not 0, db_test failed on UTC systems with a more recent glibc (e.g. Ubuntu 19.04). Fix this by zero-initializing "struct tm" and remove the previous workaround that made db_test pass on UTC systems. Related: OS#4026 Change-Id: Iebbbe42fc5cd43324206d9433ede67b39251389c --- M src/db_hlr.c M tests/testsuite.at 2 files changed, 2 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/64/14364/1 diff --git a/src/db_hlr.c b/src/db_hlr.c index 362dcf2..694ac53 100644 --- a/src/db_hlr.c +++ b/src/db_hlr.c @@ -445,7 +445,7 @@ int rc; int ret = 0; const char *last_lu_seen_str; - struct tm tm; + struct tm tm = {0}; /* execute the statement */ rc = sqlite3_step(stmt); diff --git a/tests/testsuite.at b/tests/testsuite.at index 7d268d1..70ae7ae 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -29,12 +29,10 @@ AT_CHECK([$abs_top_builddir/tests/gsup_server/gsup_server_test], [], [expout], [experr]) AT_CLEANUP -# TZ=CET: workaround for glibc bug in mktime() (https://osmocom.org/issues/4026): -# "Cannot convert LU timestamp '2019-05-26 03:05:03' to time_t: Value too large for defined data type" AT_SETUP([db]) AT_KEYWORDS([db]) cat $abs_srcdir/db/db_test.ok > expout cat $abs_srcdir/db/db_test.err > experr sqlite3 db_test.db < $abs_top_srcdir/sql/hlr.sql -AT_CHECK([TZ=CET $abs_top_builddir/tests/db/db_test], [], [expout], [experr]) +AT_CHECK([$abs_top_builddir/tests/db/db_test], [], [expout], [experr]) AT_CLEANUP -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Iebbbe42fc5cd43324206d9433ede67b39251389c Gerrit-Change-Number: 14364 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 4 10:44:20 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 10:44:20 +0000 Subject: Change in ...osmo-bts[master]: common/scheduler.c: refactor description of TRXC_* lchans In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14322 ) Change subject: common/scheduler.c: refactor description of TRXC_* lchans ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9d5d49ec569f133d37b8164b22607d4700474315 Gerrit-Change-Number: 14322 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 10: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 Tue Jun 4 10:46:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 Jun 2019 10:46:41 +0000 Subject: Change in ...osmo-hlr[master]: db_hlr: zero-initialize "struct tm" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14364 ) Change subject: db_hlr: zero-initialize "struct tm" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Iebbbe42fc5cd43324206d9433ede67b39251389c Gerrit-Change-Number: 14364 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Stefan Sperling Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 Jun 2019 10:46:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 10:49:10 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 10:49:10 +0000 Subject: Change in ...osmo-hlr[master]: db_hlr: zero-initialize "struct tm" In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14364 ) Change subject: db_hlr: zero-initialize "struct tm" ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Iebbbe42fc5cd43324206d9433ede67b39251389c Gerrit-Change-Number: 14364 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Stefan Sperling Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 Jun 2019 10:49:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 10:54:23 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 4 Jun 2019 10:54:23 +0000 Subject: Change in ...osmo-hlr[master]: db_hlr: zero-initialize "struct tm" In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14364 ) Change subject: db_hlr: zero-initialize "struct tm" ...................................................................... db_hlr: zero-initialize "struct tm" The last LU time gets read from the database as string, parsed with strptime to "struct tm", and then gets converted to time_t with mktime. A recent behavior change in glibc's mktime implementation unconvered, that we don't have tm.tm_isdst (daylight saving time) set properly. As "struct tm" was not initialized, and strptime did not write to tm_isdst, it was set to a random value. When it was not 0, db_test failed on UTC systems with a more recent glibc (e.g. Ubuntu 19.04). Fix this by zero-initializing "struct tm" and remove the previous workaround that made db_test pass on UTC systems. Related: OS#4026 Change-Id: Iebbbe42fc5cd43324206d9433ede67b39251389c --- M src/db_hlr.c M tests/testsuite.at 2 files changed, 2 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/src/db_hlr.c b/src/db_hlr.c index 362dcf2..694ac53 100644 --- a/src/db_hlr.c +++ b/src/db_hlr.c @@ -445,7 +445,7 @@ int rc; int ret = 0; const char *last_lu_seen_str; - struct tm tm; + struct tm tm = {0}; /* execute the statement */ rc = sqlite3_step(stmt); diff --git a/tests/testsuite.at b/tests/testsuite.at index 7d268d1..70ae7ae 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -29,12 +29,10 @@ AT_CHECK([$abs_top_builddir/tests/gsup_server/gsup_server_test], [], [expout], [experr]) AT_CLEANUP -# TZ=CET: workaround for glibc bug in mktime() (https://osmocom.org/issues/4026): -# "Cannot convert LU timestamp '2019-05-26 03:05:03' to time_t: Value too large for defined data type" AT_SETUP([db]) AT_KEYWORDS([db]) cat $abs_srcdir/db/db_test.ok > expout cat $abs_srcdir/db/db_test.err > experr sqlite3 db_test.db < $abs_top_srcdir/sql/hlr.sql -AT_CHECK([TZ=CET $abs_top_builddir/tests/db/db_test], [], [expout], [experr]) +AT_CHECK([$abs_top_builddir/tests/db/db_test], [], [expout], [experr]) AT_CLEANUP -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Iebbbe42fc5cd43324206d9433ede67b39251389c Gerrit-Change-Number: 14364 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Stefan Sperling Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 11:08:01 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 11:08:01 +0000 Subject: Change in ...libosmocore[master]: lapdm: Allow user to specify T200 values; Use correct N200 values In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14339 ) Change subject: lapdm: Allow user to specify T200 values; Use correct N200 values ...................................................................... Patch Set 3: (5 comments) https://gerrit.osmocom.org/#/c/14339/3/src/gsm/lapdm.c File src/gsm/lapdm.c: https://gerrit.osmocom.org/#/c/14339/3/src/gsm/lapdm.c at 163 PS3, Line 163: int i = 0; Doesn't this cause compiler warnings like "... only allowed in C99 mode"? https://gerrit.osmocom.org/#/c/14339/3/src/gsm/lapdm.c at 171 PS3, Line 171: \ref Let's avoid such references in the new code. https://gerrit.osmocom.org/#/c/14339/3/src/gsm/lapdm.c at 218 PS3, Line 218: \ref same https://gerrit.osmocom.org/#/c/14339/3/src/gsm/lapdm.c at 219 PS3, Line 219: \ref same https://gerrit.osmocom.org/#/c/14339/3/src/gsm/lapdm.c at 227 PS3, Line 227: get_n200_dcch Should we at least print some warning if the result would be -1? Or is this value expected by subsequent calls? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I90fdc4dd4720d4e02213197c894eb0a55a39158c Gerrit-Change-Number: 14339 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 04 Jun 2019 11:08:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 11:38:57 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 4 Jun 2019 11:38:57 +0000 Subject: Change in ...osmo-bsc[master]: vty: adjust config name for unit-id Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14365 Change subject: vty: adjust config name for unit-id ...................................................................... vty: adjust config name for unit-id Having different names for the same config setting is misleading, so let's stick to the one used by osmo-bts. Change-Id: Ide5ceb5db7403a70313405752579e30d7bb94eac --- M doc/examples/osmo-bsc/osmo-bsc-minimal.cfg M doc/examples/osmo-bsc/osmo-bsc.cfg M doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg M doc/manuals/chapters/bts-examples.adoc M doc/manuals/vty/bsc_vty_reference.xml M doc/manuals/vty/libbsc_vty_additions.xml M src/osmo-bsc/bsc_vty.c 7 files changed, 18 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/65/14365/1 diff --git a/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg b/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg index 850e29c..d9a3040 100644 --- a/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg +++ b/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg @@ -5,7 +5,7 @@ type sysmobts band GSM-1800 location_area_code 23 - ip.access unit_id 1800 0 + ipa unit_id 1800 0 trx 0 rf_locked 0 arfcn 868 diff --git a/doc/examples/osmo-bsc/osmo-bsc.cfg b/doc/examples/osmo-bsc/osmo-bsc.cfg index eec154d..1871f55 100644 --- a/doc/examples/osmo-bsc/osmo-bsc.cfg +++ b/doc/examples/osmo-bsc/osmo-bsc.cfg @@ -36,7 +36,7 @@ channel-descrption bs-pa-mfrms 5 channel-descrption bs-ag-blks-res 1 early-classmark-sending forbidden - ip.access unit_id 0 0 + ipa unit_id 0 0 oml ip.access stream_id 255 line 0 codec-support fr gprs mode none diff --git a/doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg b/doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg index fd3a349..7fc705f 100644 --- a/doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg +++ b/doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg @@ -35,7 +35,7 @@ channel-descrption bs-pa-mfrms 5 channel-descrption bs-ag-blks-res 1 early-classmark-sending forbidden - ip.access unit_id 0 0 + ipa unit_id 0 0 oml ip.access stream_id 255 line 0 codec-support fr gprs mode none diff --git a/doc/manuals/chapters/bts-examples.adoc b/doc/manuals/chapters/bts-examples.adoc index 2dd8b37..0844059 100644 --- a/doc/manuals/chapters/bts-examples.adoc +++ b/doc/manuals/chapters/bts-examples.adoc @@ -35,7 +35,7 @@ channel allocator ascending rach tx integer 9 rach max transmission 7 - ip.access unit_id 1801 0 <4> + ipa unit_id 1801 0 <4> oml ip.access stream_id 255 line 0 gprs mode none trx 0 @@ -113,7 +113,7 @@ channel allocator ascending rach tx integer 9 rach max transmission 7 - ip.access unit_id 1800 0 <1> + ipa unit_id 1800 0 <1> oml ip.access stream_id 255 line 0 gprs mode none trx 0 diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index f56b951..1367f8a 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -2839,7 +2839,7 @@ - + diff --git a/doc/manuals/vty/libbsc_vty_additions.xml b/doc/manuals/vty/libbsc_vty_additions.xml index 8685398..7a71011 100644 --- a/doc/manuals/vty/libbsc_vty_additions.xml +++ b/doc/manuals/vty/libbsc_vty_additions.xml @@ -96,7 +96,7 @@ re-selection. - + The ip.access unit ID is a parameter of the IPA Signalling-over-IP multiplex. It is administratively diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 111c910..c09911d 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -897,7 +897,7 @@ switch (bts->type) { case GSM_BTS_TYPE_NANOBTS: case GSM_BTS_TYPE_OSMOBTS: - vty_out(vty, " ip.access unit_id %u %u%s", + vty_out(vty, " ipa unit_id %u %u%s", bts->ip_access.site_id, bts->ip_access.bts_id, VTY_NEWLINE); if (bts->ip_access.rsl_ip) { struct in_addr ia; @@ -2180,7 +2180,7 @@ DEFUN(cfg_bts_unit_id, cfg_bts_unit_id_cmd, - "ip.access unit_id <0-65534> <0-255>", + "ipa unit_id <0-65534> <0-255>", "Abis/IP specific options\n" "Set the IPA BTS Unit ID\n" "Unit ID (Site)\n" @@ -2201,6 +2201,14 @@ return CMD_SUCCESS; } +DEFUN_DEPRECATED(cfg_bts_unit_id, + cfg_bts_deprecated_unit_id_cmd, + "ip.access unit_id <0-65534> <0-255>", + "Abis/IP specific options\n" + "Set the IPA BTS Unit ID\n" + "Unit ID (Site)\n" + "Unit ID (BTS)\n"); + DEFUN(cfg_bts_rsl_ip, cfg_bts_rsl_ip_cmd, "ip.access rsl-ip A.B.C.D", @@ -5237,6 +5245,7 @@ install_element(BTS_NODE, &cfg_bts_tsc_cmd); install_element(BTS_NODE, &cfg_bts_bsic_cmd); install_element(BTS_NODE, &cfg_bts_unit_id_cmd); + install_element(BTS_NODE, &cfg_bts_deprecated_unit_id_cmd); install_element(BTS_NODE, &cfg_bts_rsl_ip_cmd); install_element(BTS_NODE, &cfg_bts_nokia_site_skip_reset_cmd); install_element(BTS_NODE, &cfg_bts_nokia_site_no_loc_rel_cnf_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ide5ceb5db7403a70313405752579e30d7bb94eac Gerrit-Change-Number: 14365 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 Tue Jun 4 11:39:57 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 4 Jun 2019 11:39:57 +0000 Subject: Change in ...osmo-bts[master]: vty: adjust config name for unit-id In-Reply-To: References: Message-ID: Hoernchen has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14359 ) Change subject: vty: adjust config name for unit-id ...................................................................... Abandoned https://gerrit.osmocom.org/c/osmo-bsc/+/14365 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ief6f23cc891a528d4295f7b0b85ff49bce299e8b Gerrit-Change-Number: 14359 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 11:54:15 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 11:54:15 +0000 Subject: Change in ...osmo-bsc[master]: vty: adjust config name for unit-id In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14365 ) Change subject: vty: adjust config name for unit-id ...................................................................... Patch Set 1: Code-Review-1 (3 comments) https://gerrit.osmocom.org/#/c/14365/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/#/c/14365/1/src/osmo-bsc/bsc_vty.c at 900 PS1, Line 900: unit_id This change still doesn't solve the problem of inconsistency. OsmoBTS is using 'ipa unit-id', while here it's 'ipa unit_id'. Let's stick to 'ipa unit-id', so there would be no need to change OsmoBTS. https://gerrit.osmocom.org/#/c/14365/1/src/osmo-bsc/bsc_vty.c at 905 PS1, Line 905: ip.access rsl-ip Since we are moving to 'ipa', let's do it here too. https://gerrit.osmocom.org/#/c/14365/1/src/osmo-bsc/bsc_vty.c at 908 PS1, Line 908: ip.access stream_id Most likely, same here. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ide5ceb5db7403a70313405752579e30d7bb94eac Gerrit-Change-Number: 14365 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 04 Jun 2019 11:54:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Jun 4 12:07:29 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 12:07:29 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5cf65f14e03a9_2441fa05f015434f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-msc failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 671s] | #define HAVE_STDINT_H 1 [ 671s] | #define HAVE_UNISTD_H 1 [ 671s] | #define HAVE_DLFCN_H 1 [ 671s] | #define LT_OBJDIR ".libs/" [ 671s] | #define HAVE_LIBSCTP 1 [ 671s] | #define BUILD_SMPP 1 [ 671s] | #define BUILD_IU 1 [ 671s] | #define STDC_HEADERS 1 [ 671s] | #define HAVE_DBI_DBD_H 1 [ 671s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 671s] | [ 671s] | configure: exit 0 [ 671s] [ 671s] debian/rules:63: recipe for target 'override_dh_auto_test' failed [ 671s] make[1]: *** [override_dh_auto_test] Error 1 [ 671s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 671s] debian/rules:45: recipe for target 'build' failed [ 671s] make: *** [build] Error 2 [ 671s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 671s] [ 671s] armbuild21 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 12:07:21 UTC 2019. [ 671s] [ 671s] ### VM INTERACTION START ### [ 673s] [ 652.871242] sysrq: SysRq : Power Off [ 673s] [ 652.886152] reboot: Power down [ 674s] ### VM INTERACTION END ### [ 674s] [ 674s] armbuild21 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 12:07:25 UTC 2019. [ 674s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Jun 4 12:14:05 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 4 Jun 2019 12:14:05 +0000 Subject: Change in ...osmo-bsc[master]: vty: adjust config name for unit-id In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14365 ) Change subject: vty: adjust config name for unit-id ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14365/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/#/c/14365/1/src/osmo-bsc/bsc_vty.c at 900 PS1, Line 900: unit_id > This change still doesn't solve the problem of inconsistency. [?] Ah, but it does - it's called ipa, as in osmobts, and there is no need to guess that ipa == ip.access. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ide5ceb5db7403a70313405752579e30d7bb94eac Gerrit-Change-Number: 14365 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 04 Jun 2019 12:14: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 admin at opensuse.org Tue Jun 4 12:29:47 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 12:29:47 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5cf66440e3bbf_2441fa05f015787b6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-msc failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 1281s] -DDB NOTICE verify_sms('Expired SMS'): match [ 1281s] -DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected [ 1281s] -DDB NOTICE verify_sms('Empty TP-UD'): match [ 1281s] -full talloc report on 'null_context' (total 0 bytes in 1 blocks) [ 1281s] +DDB FATAL Failed to create database connection to sqlite3 db ':memory:'; Is the sqlite3 database driver for libdbi installed on this system? [ 1281s] +Assert failed rc == 0 db_sms_test.c:543 [ 1281s] +/usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/test-source: line 26: 29035 Aborted $abs_top_builddir/tests/db_sms/db_sms_test [ 1281s] --- expout 2019-06-04 12:29:35.625000000 +0000 [ 1281s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/stdout 2019-06-04 12:29:35.735000000 +0000 [ 1281s] @@ -0,0 +1 @@ [ 1281s] +backtrace() returned 0 addresses [ 1281s] ./testsuite.at:23: exit code was 134, expected 0 [ 1281s] 3. testsuite.at:19: 3. db_sms_test (testsuite.at:19): FAILED (testsuite.at:23) [ 1281s] debian/rules:63: recipe for target 'override_dh_auto_test' failed [ 1281s] make[1]: *** [override_dh_auto_test] Error 1 [ 1281s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 1281s] debian/rules:45: recipe for target 'build' failed [ 1281s] make: *** [build] Error 2 [ 1281s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 1281s] [ 1281s] obs-arm-5 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 12:29:41 UTC 2019. [ 1281s] [ 1281s] ### VM INTERACTION START ### [ 1283s] [ 1207.064952] sysrq: SysRq : Power Off [ 1283s] [ 1207.097890] reboot: Power down [ 1284s] ### VM INTERACTION END ### [ 1284s] [ 1284s] obs-arm-5 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 12:29:45 UTC 2019. [ 1284s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Jun 4 12:44:23 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 4 Jun 2019 12:44:23 +0000 Subject: Change in ...osmo-bsc[master]: vty: adjust config name for unit-id In-Reply-To: References: Message-ID: Hello fixeria, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/14365 to look at the new patch set (#2). Change subject: vty: adjust config name for unit-id ...................................................................... vty: adjust config name for unit-id Having different names for the same config setting is misleading, so let's stick to the one used by osmo-bts. Change-Id: Ide5ceb5db7403a70313405752579e30d7bb94eac --- M doc/examples/osmo-bsc/osmo-bsc-minimal.cfg M doc/examples/osmo-bsc/osmo-bsc.cfg M doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg M doc/manuals/chapters/bts-examples.adoc M doc/manuals/vty/bsc_vty_reference.xml M doc/manuals/vty/libbsc_vty_additions.xml M src/osmo-bsc/bsc_vty.c 7 files changed, 47 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/65/14365/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ide5ceb5db7403a70313405752579e30d7bb94eac Gerrit-Change-Number: 14365 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Harald Welte 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 4 12:50:16 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 12:50:16 +0000 Subject: Change in ...osmo-bsc[master]: vty: adjust config name for unit-id In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14365 ) Change subject: vty: adjust config name for unit-id ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ide5ceb5db7403a70313405752579e30d7bb94eac Gerrit-Change-Number: 14365 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 04 Jun 2019 12:50:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 14:23:31 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 Jun 2019 14:23:31 +0000 Subject: Change in ...osmo-trx[master]: Add rate_ctr support to store/retrieve SDR errors through VTY In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14167 ) Change subject: Add rate_ctr support to store/retrieve SDR errors through VTY ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14167/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14167/1//COMMIT_MSG at 18 PS1, Line 18: device:rx_underruns: 0 (0/s 0/m 0/h 0/d) Number of Rx underruns : device:rx_overruns: 0 (0/s 0/m 0/h 0/d) Number of Rx overruns > do we have a clear definition of what those are? I think the terminology is not entirely obvious. [?] Rx underruns exist in LimeSuite. They are generated in Streamer::ReceivePacketsLoop() during read of buffers from FPGA. So bytes read is expected to be always a multiple of FPGA packet buffer. In case that doesn't happen, underrun is increased. Rx overrun happens indeed because it took too much time for App to read and LimeSuite cannot write all recvd bytes to internal buffers of the stream. Tx underflow: If for some reason not enough data is present on LimeSuite internal buffers when writing to FPGA. Tx overflow: If not all bytes willing to be sent by LimeSuite could end up inside the FPGA (due to its buffer being too full, or amount of data willing to be set being to big). And btw, while looking at LimeSuite code, I also found out overrun/underrun values are reset every time LMS_GetStreamStatus() are called. I created a ticket upstream to get it documented properly: https://github.com/myriadrf/LimeSuite/issues/265 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I78b158141697e5714d04db8b9ccc96f31f34f439 Gerrit-Change-Number: 14167 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 04 Jun 2019 14:23:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: Harald Welte Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 14:42:09 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 14:42:09 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Replace old pdp APIs with new ones with multi-gsn support In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14297 ) Change subject: gtp: Replace old pdp APIs with new ones with multi-gsn support ...................................................................... Patch Set 2: > > Patch Set 2: > > > > this is about replacing API usage / API calls, right? It's not > changing the actual API implementation? > > Yes indeed, I prefered splitting into different commits, since > anyway I keep backwards compatibility. So first commit adds new > APIs (and change implementation of old ones). Then for each user of > the API, I add a commit with changes to move to use the new API > (libgtp, osmo-ggsn, sgsnemu, osmo-sgsn). my point is that the commit log message does not reflect that it's about API usage. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ibf56a063f01d1f95a2a3271416da6e062e85fdfa Gerrit-Change-Number: 14297 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 Jun 2019 14:42: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 4 14:44:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 Jun 2019 14:44:19 +0000 Subject: Change in ...osmo-trx[master]: Add rate_ctr support to store/retrieve SDR errors through VTY In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/14167 to look at the new patch set (#2). Change subject: Add rate_ctr support to store/retrieve SDR errors through VTY ...................................................................... Add rate_ctr support to store/retrieve SDR errors through VTY Introduce a unified implementation-agnostic interface for radioDevice to signal SDR error counters to upper layers and manage them. This patch only implements counters for osmo-trx-lms (other devices will show all counters unchanged during time). Sample use through VTY: """ OsmoTRX> show rate-counters osmo-trx statistics 0: device:rx_underruns: 0 (0/s 0/m 0/h 0/d) Number of Rx underruns device:rx_overruns: 0 (0/s 0/m 0/h 0/d) Number of Rx overruns device:tx_underruns: 0 (0/s 0/m 0/h 0/d) Number of Tx underruns device:rx_drop_events: 4 (0/s 2/m 3/h 0/d) Number of times Rx samples were dropped by HW device:rx_drop_samples: 513 (0/s 196/m 425/h 0/d) Number of Rx samples dropped by HW """ Change-Id: I78b158141697e5714d04db8b9ccc96f31f34f439 --- M CommonLibs/Makefile.am M CommonLibs/osmo_signal.h A CommonLibs/trx_rate_ctr.cpp A CommonLibs/trx_rate_ctr.h M Transceiver52M/device/common/radioDevice.h M Transceiver52M/device/lms/LMSDevice.cpp M Transceiver52M/device/lms/LMSDevice.h M Transceiver52M/osmo-trx.cpp 8 files changed, 262 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/67/14167/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I78b158141697e5714d04db8b9ccc96f31f34f439 Gerrit-Change-Number: 14167 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 14:44:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 Jun 2019 14:44:22 +0000 Subject: Change in ...osmo-trx[master]: Rename and move STOP signal from Transceiver to main Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/14366 Change subject: Rename and move STOP signal from Transceiver to main ...................................................................... Rename and move STOP signal from Transceiver to main The callback actually belongs there, since it's the code/thread in main the one actually in charge of stopping everything. It simplifies current code, and more important, allows for new clients of this signal to use it. This callback will also be used in forthcoming commits by code controlling rate_ctr thresholds to stop the process if the VTY configured threshold is used. Change-Id: Id4159e64225c6606fef34a74b24f37c3a071aceb --- M CommonLibs/osmo_signal.h M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h M Transceiver52M/osmo-trx.cpp 4 files changed, 9 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/66/14366/1 diff --git a/CommonLibs/osmo_signal.h b/CommonLibs/osmo_signal.h index 7299171..6ee1bf9 100644 --- a/CommonLibs/osmo_signal.h +++ b/CommonLibs/osmo_signal.h @@ -26,13 +26,13 @@ /* Signalling subsystems */ enum signal_subsystems { - SS_TRANSC, + SS_MAIN, SS_DEVICE, }; -/* SS_TRANSC signals */ -enum SS_TRANSC { - S_TRANSC_STOP_REQUIRED, /* Transceiver fatal error, it should be stopped */ +/* SS_MAIN signals */ +enum SS_MAIN { + S_MAIN_STOP_REQUIRED, /* TRX fatal error, it should be stopped */ }; /* SS_DEVICE signals */ diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 54b9ddd..9c55d02 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -119,7 +119,7 @@ : mBasePort(wBasePort), mLocalAddr(TRXAddress), mRemoteAddr(GSMcoreAddress), mClockSocket(TRXAddress, wBasePort, GSMcoreAddress, wBasePort + 100), mTransmitLatency(wTransmitLatency), mRadioInterface(wRadioInterface), - rssiOffset(wRssiOffset), sig_cbfn(NULL), + rssiOffset(wRssiOffset), mSPSTx(tx_sps), mSPSRx(rx_sps), mChans(chans), mEdge(false), mOn(false), mForceClockInterface(false), mTxFreq(0.0), mRxFreq(0.0), mTSC(0), mMaxExpectedDelayAB(0), mMaxExpectedDelayNB(0), mWriteBurstToDiskMask(0) @@ -225,17 +225,6 @@ return true; } -void Transceiver::setSignalHandler(osmo_signal_cbfn cbfn) -{ - if (this->sig_cbfn) - osmo_signal_unregister_handler(SS_TRANSC, this->sig_cbfn, NULL); - - if (cbfn) { - this->sig_cbfn = cbfn; - osmo_signal_register_handler(SS_TRANSC, this->sig_cbfn, NULL); - } -} - /* * Start the transceiver * @@ -910,7 +899,7 @@ usleep(100000); } else if (rc < 0) { LOG(FATAL) << "radio Interface receive failed, requesting stop."; - osmo_signal_dispatch(SS_TRANSC, S_TRANSC_STOP_REQUIRED, this); + osmo_signal_dispatch(SS_MAIN, S_MAIN_STOP_REQUIRED, NULL); } else if (mForceClockInterface || mTransmitDeadlineClock > mLastClockUpdateTime + GSM::Time(216,0)) { mForceClockInterface = false; writeClockInterface(); diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h index 432e3b4..4614efe 100644 --- a/Transceiver52M/Transceiver.h +++ b/Transceiver52M/Transceiver.h @@ -130,8 +130,6 @@ /** accessor for number of channels */ size_t numChans() const { return mChans; }; - void setSignalHandler(osmo_signal_cbfn cbfn); - /** Codes for channel combinations */ typedef enum { FILL, ///< Channel is transmitted, but unused @@ -181,8 +179,6 @@ double rssiOffset; ///< RSSI to dBm conversion offset - osmo_signal_cbfn *sig_cbfn; ///< Registered Signal Handler to announce events. - /** modulate and add a burst to the transmit queue */ void addRadioVector(size_t chan, BitVector &bits, int RSSI, GSM::Time &wTime); diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index a79c26e..05489bd 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -123,7 +123,7 @@ void *handler_data, void *signal_data) { switch (signal) { - case S_TRANSC_STOP_REQUIRED: + case S_MAIN_STOP_REQUIRED: gshutdown = true; break; default: @@ -152,8 +152,6 @@ return -1; } - transceiver->setSignalHandler(transc_sig_cb); - for (size_t i = 0; i < trx->cfg.num_chans; i++) { fifo = radio->receiveFIFO(i); if (fifo && transceiver->receiveFIFO(fifo, i)) @@ -627,6 +625,7 @@ return EXIT_FAILURE; } + osmo_signal_register_handler(SS_MAIN, transc_sig_cb, NULL); trx_rate_ctr_init(tall_trx_ctx, g_trx_ctx); srandom(time(NULL)); @@ -641,5 +640,6 @@ osmo_fd_unregister(&signal_ofd); osmo_fd_close(&signal_ofd); + osmo_signal_unregister_handler(SS_MAIN, transc_sig_cb, NULL); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Id4159e64225c6606fef34a74b24f37c3a071aceb Gerrit-Change-Number: 14366 Gerrit-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 4 14:44:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 Jun 2019 14:44:22 +0000 Subject: Change in ...osmo-trx[master]: lms: Drop unusued variable masterClockRate Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/14367 Change subject: lms: Drop unusued variable masterClockRate ...................................................................... lms: Drop unusued variable masterClockRate Change-Id: I19192925d008046f474615a0476b52ddee9a9d78 --- M Transceiver52M/device/lms/LMSDevice.cpp M Transceiver52M/device/lms/LMSDevice.h 2 files changed, 0 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/67/14367/1 diff --git a/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp index 910a6e7..7d3ce81 100644 --- a/Transceiver52M/device/lms/LMSDevice.cpp +++ b/Transceiver52M/device/lms/LMSDevice.cpp @@ -36,8 +36,6 @@ using namespace std; -constexpr double LMSDevice::masterClockRate; - #define MAX_ANTENNA_LIST_SIZE 10 #define LMS_SAMPLE_RATE GSMRATE*32 #define GSM_CARRIER_BW 270000.0 /* 270kHz */ diff --git a/Transceiver52M/device/lms/LMSDevice.h b/Transceiver52M/device/lms/LMSDevice.h index 8b5fe93..9e0944d 100644 --- a/Transceiver52M/device/lms/LMSDevice.h +++ b/Transceiver52M/device/lms/LMSDevice.h @@ -42,9 +42,6 @@ class LMSDevice:public RadioDevice { private: - - static constexpr double masterClockRate = 52.0e6; - lms_device_t *m_lms_dev; std::vector m_lms_stream_rx; std::vector m_lms_stream_tx; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I19192925d008046f474615a0476b52ddee9a9d78 Gerrit-Change-Number: 14367 Gerrit-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 4 14:44:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 Jun 2019 14:44:22 +0000 Subject: Change in ...osmo-trx[master]: lms: Fix stream_stats checks with overrun/underrun Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/14368 Change subject: lms: Fix stream_stats checks with overrun/underrun ...................................................................... lms: Fix stream_stats checks with overrun/underrun It was initially thought that underruns/overrun fields were increasing-over-time values. However, after reading LimeSuite code, it seems overrun and underrun fields are actually reset upon every call to LMS_GetStreamStatus(). Related: osmo-trx.git 928177125654c1e596ec3450a68882c031ebb929 Related: https://github.com/myriadrf/LimeSuite/issues/265 Change-Id: I677232a7b12ee83d26aa34d92f76a91d4b5a63a6 --- M Transceiver52M/device/lms/LMSDevice.cpp 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/68/14368/1 diff --git a/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp index 7d3ce81..0253d4c 100644 --- a/Transceiver52M/device/lms/LMSDevice.cpp +++ b/Transceiver52M/device/lms/LMSDevice.cpp @@ -583,23 +583,23 @@ return; } - if (status.underrun > m_ctr[chan].rx_underruns) { + if (status.underrun) { changed = true; *underrun = true; LOGCHAN(chan, DDEV, ERROR) << "recv Underrun! (" << m_ctr[chan].rx_underruns << " -> " << status.underrun << ")"; } - m_ctr[chan].rx_underruns = status.underrun; + m_ctr[chan].rx_underruns += status.underrun; - if (status.overrun > m_ctr[chan].rx_overruns) { + if (status.overrun) { changed = true; *overrun = true; LOGCHAN(chan, DDEV, ERROR) << "recv Overrun! (" << m_ctr[chan].rx_overruns << " -> " << status.overrun << ")"; } - m_ctr[chan].rx_overruns = status.overrun; + m_ctr[chan].rx_overruns += status.overrun; if (status.droppedPackets) { changed = true; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I677232a7b12ee83d26aa34d92f76a91d4b5a63a6 Gerrit-Change-Number: 14368 Gerrit-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 4 15:00:04 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 15:00:04 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: correct error messages about TRXC connection Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14369 Change subject: BTS_Tests.ttcn: correct error messages about TRXC connection ...................................................................... BTS_Tests.ttcn: correct error messages about TRXC connection Change-Id: Ie3dbe925b8840c0c8d8047ee5878fcdaa1395ab3 --- M bts/BTS_Tests.ttcn 1 file changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/14369/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index e48c05a..ba67889 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -465,7 +465,9 @@ res := TRXC_CodecPort_CtrlFunct.f_IPL4_connect(BTS_TRXC, mp_bts_trxc_ip, mp_bts_trxc_port, "", -1, -1, {udp:={}}, {}); if (not ispresent(res.connId)) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Could not connect to trx-control interface of trxcon, check your configuration"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Could not connect to the control (TRXC) interface " & + "of FakeTRX, check your configuration"); } g_bts_trxc_conn_id := res.connId; } @@ -1436,7 +1438,9 @@ res := TRXC_CodecPort_CtrlFunct.f_IPL4_connect(BTS_TRXC, mp_bts_trxc_ip, mp_bts_trxc_port, "", -1, -1, {udp:={}}, {}); if (not ispresent(res.connId)) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Could not connect to trx-control interface of trxcon, check your configuration"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Could not connect to the control (TRXC) interface " & + "of FakeTRX, check your configuration"); } g_bts_trxc_conn_id := res.connId; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie3dbe925b8840c0c8d8047ee5878fcdaa1395ab3 Gerrit-Change-Number: 14369 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 4 15:00:05 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 15:00:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: fix TRXC port mapping between test_CT and ConnHdlr Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14370 Change subject: BTS_Tests.ttcn: fix TRXC port mapping between test_CT and ConnHdlr ...................................................................... BTS_Tests.ttcn: fix TRXC port mapping between test_CT and ConnHdlr Before this patch, sending special TRXC commands to FakeTRX, such as FAKE_TOA and FAKE_RSSI, from ConnHdlr resulted in a receive timeout waiting for the response. As it turned out, both the test_CT and the ConnHdlr have a TRXC port, as depending on the test one would want to globally control it from test_CT or from within a ConnHdlr. However, only one of the two should be active (connected) at any given point in time. Otherwise we'll have two UDP sockets on the same bind port, and it's more or less random on which of them it ends up. Let's add an optional parameter 'trxc_comp', which would indicate whether we need to control TRXC from ConnHdlr or not. Let's get rid of both f_trxc_connect() and f_main_trxc_connect(), which basically do the same, but run on different components. Change-Id: Ie7d311bf8f03bf9b1d29b5bb28ffad793f215fd1 Closes: OS#4039 --- M bts/BTS_Tests.ttcn 1 file changed, 35 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/14370/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index ba67889..b9091cc 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -117,7 +117,7 @@ /* L1CTL port (for classic tests) */ port L1CTL_PT L1CTL; - /* TRXC port (for classic tests) */ + /* Optional TRXC connection to FakeTRX (BTS side) */ port TRXC_CODEC_PT BTS_TRXC; var integer g_bts_trxc_conn_id; @@ -160,6 +160,7 @@ type component ConnHdlr extends RSL_DchanHdlr, lapdm_test_CT { port L1CTL_PT L1CTL; + /* Optional TRXC connection to FakeTRX (BTS side) */ port TRXC_CODEC_PT BTS_TRXC; var integer g_bts_trxc_conn_id; @@ -333,6 +334,22 @@ } } +private function f_init_trxc(TRXC_CODEC_PT pt, charstring id, + out integer trxc_conn_id) { + var Result res; + + map(self:BTS_TRXC, system:BTS_TRXC); + + res := TRXC_CodecPort_CtrlFunct.f_IPL4_connect(pt, mp_bts_trxc_ip, mp_bts_trxc_port, + "", -1, -1, { udp := {} }, {}); + if (not ispresent(res.connId)) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Could not connect to the control (TRXC) interface " & + "of FakeTRX, check your configuration"); + } + trxc_conn_id := res.connId; +} + /* global init function */ function f_init() runs on test_CT { var charstring id := testcasename(); @@ -399,7 +416,7 @@ if (mp_bts_trxc_port != -1) { var TrxcMessage ret; /* start with a default moderate timing offset equalling TA=2 */ - f_main_trxc_connect(); + f_init_trxc(BTS_TRXC, id, g_bts_trxc_conn_id); ret := f_TRXC_transceive(BTS_TRXC, g_bts_trxc_conn_id, valueof(ts_TRXC_FAKE_TIMING(2*256))); } @@ -417,7 +434,9 @@ type function void_fn(charstring id) runs on ConnHdlr; /* create a new test component */ -function f_start_handler(void_fn fn, ConnHdlrPars pars, boolean pcu_comp := false) +function f_start_handler(void_fn fn, ConnHdlrPars pars, + boolean pcu_comp := false, + boolean trxc_comp := false) runs on test_CT return ConnHdlr { var charstring id := testcasename(); var ConnHdlr vc_conn; @@ -426,13 +445,18 @@ /* connect to RSL Emulation main component */ connect(vc_conn:RSL, vc_RSL:CLIENT_PT); connect(vc_conn:RSL_PROC, vc_RSL:RSL_PROC); + + /* The ConnHdlr component may want to talk to some ports directly, + * so we disconnect it from the test_CT and connect it to the component. + * This obviously only works for one component, i.e. no concurrency. */ if (pcu_comp) { - /* the ConnHdlr component wants to talk directly to the PCU, so disconnect - * it from the test_CT and connect it to the component. This obviously only - * works for one component, i.e. no concurrency */ unmap(self:PCU, system:PCU); map(vc_conn:PCU, system:PCU); } + if (trxc_comp) { + unmap(self:BTS_TRXC, system:BTS_TRXC); + map(vc_conn:BTS_TRXC, system:BTS_TRXC); + } vc_conn.start(f_handler_init(fn, id, pars)); return vc_conn; @@ -459,19 +483,6 @@ f_L1CTL_FBSB(L1CTL, { false, mp_trx0_arfcn }, ccch_mode, mp_rxlev_exp); } -private function f_trxc_connect() runs on ConnHdlr { - map(self:BTS_TRXC, system:BTS_TRXC); - var Result res; - res := TRXC_CodecPort_CtrlFunct.f_IPL4_connect(BTS_TRXC, mp_bts_trxc_ip, mp_bts_trxc_port, - "", -1, -1, {udp:={}}, {}); - if (not ispresent(res.connId)) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, - "Could not connect to the control (TRXC) interface " & - "of FakeTRX, check your configuration"); - } - g_bts_trxc_conn_id := res.connId; -} - private function f_trxc_fake_rssi(TRXC_RSSI rssi) runs on ConnHdlr { var TrxcMessage ret; ret := f_TRXC_transceive(BTS_TRXC, g_bts_trxc_conn_id, valueof(ts_TRXC_FAKE_RSSI(rssi))); @@ -492,7 +503,7 @@ f_connect_reset(L1CTL); if (mp_bts_trxc_port != -1) { - f_trxc_connect(); + f_init_trxc(BTS_TRXC, id, g_bts_trxc_conn_id); } g_Tguard.start(pars.t_guard); @@ -1430,21 +1441,6 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } - - -private function f_main_trxc_connect() runs on test_CT { - map(self:BTS_TRXC, system:BTS_TRXC); - var Result res; - res := TRXC_CodecPort_CtrlFunct.f_IPL4_connect(BTS_TRXC, mp_bts_trxc_ip, mp_bts_trxc_port, - "", -1, -1, {udp:={}}, {}); - if (not ispresent(res.connId)) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, - "Could not connect to the control (TRXC) interface " & - "of FakeTRX, check your configuration"); - } - g_bts_trxc_conn_id := res.connId; -} - private function f_rach_toffs(int16_t toffs256, boolean expect_pass) runs on test_CT { var TrxcMessage ret; /* tell fake_trx to use a given timing offset for all bursts */ @@ -1897,7 +1893,8 @@ f_init(); for (var integer tn := 1; tn <= 4; tn := tn+1) { pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); - vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); + vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars, + pcu_comp := false, trxc_comp := true); vc_conn.done; } Misc_Helpers.f_shutdown(__BFILE__, __LINE__); @@ -2064,7 +2061,8 @@ var ConnHdlrPars pars; f_init(); pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); - vc_conn := f_start_handler(refers(f_tc_rsl_chan_initial_ta), pars); + vc_conn := f_start_handler(refers(f_tc_rsl_chan_initial_ta), pars, + pcu_comp := false, trxc_comp := true); vc_conn.done; Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie7d311bf8f03bf9b1d29b5bb28ffad793f215fd1 Gerrit-Change-Number: 14370 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 4 15:00:05 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 15:00:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: fix name of f_trx_fake_toffs256() Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14371 Change subject: BTS_Tests.ttcn: fix name of f_trx_fake_toffs256() ...................................................................... BTS_Tests.ttcn: fix name of f_trx_fake_toffs256() Change-Id: I83a1d68ffbfc4d588e143fecc62517baac9b31af --- M bts/BTS_Tests.ttcn 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/14371/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index b9091cc..406b749 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -488,7 +488,7 @@ ret := f_TRXC_transceive(BTS_TRXC, g_bts_trxc_conn_id, valueof(ts_TRXC_FAKE_RSSI(rssi))); } -private function f_trx_fake_toffs256(int16_t toffs256) runs on ConnHdlr { +private function f_trxc_fake_toffs256(int16_t toffs256) runs on ConnHdlr { var TrxcMessage ret; ret := f_TRXC_transceive(BTS_TRXC, g_bts_trxc_conn_id, valueof(ts_TRXC_FAKE_TIMING(toffs256))); } @@ -1860,7 +1860,7 @@ if (mp_bts_trxc_port != -1) { f_trxc_fake_rssi(rxlev2dbm(mp_ul_rxlev_exp)); - f_trx_fake_toffs256(g_pars.l1_pars.timing_offset_256syms); + f_trxc_fake_toffs256(g_pars.l1_pars.timing_offset_256syms); } f_est_dchan(); @@ -2028,7 +2028,7 @@ RSL.clear; /* tell fake_trx to use a given timing offset for all bursts */ - f_trx_fake_toffs256(ta_to_test*256); + f_trxc_fake_toffs256(ta_to_test*256); f_est_dchan(more_ies :={valueof(t_RSL_IE(RSL_IE_TIMING_ADVANCE, RSL_IE_Body:{timing_adv := ta_to_test}))} ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I83a1d68ffbfc4d588e143fecc62517baac9b31af Gerrit-Change-Number: 14371 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 4 15:00:05 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 15:00:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/TRXC_CodecPort.ttcn: add debug print on Rx / Tx of messages Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14372 Change subject: library/TRXC_CodecPort.ttcn: add debug print on Rx / Tx of messages ...................................................................... library/TRXC_CodecPort.ttcn: add debug print on Rx / Tx of messages Change-Id: I04af0043c67c5904d034b60b39ddce44aa4beba9 --- M library/TRXC_CodecPort.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/72/14372/1 diff --git a/library/TRXC_CodecPort.ttcn b/library/TRXC_CodecPort.ttcn index 09b2977..7dee369 100644 --- a/library/TRXC_CodecPort.ttcn +++ b/library/TRXC_CodecPort.ttcn @@ -28,6 +28,7 @@ } private function IPL4_to_TRXC_RecvFrom(in ASP_RecvFrom pin, out TRXC_RecvFrom pout) { + log("Rx TRXC message: ", oct2char(pin.msg)); pout.connId := pin.connId; pout.remName := pin.remName; pout.remPort := pin.remPort; @@ -73,6 +74,7 @@ } }; } + log("Tx TRXC message: ", tx); pt.send(ts_TRXC_Send(conn_id, tx)); T.start; alt { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I04af0043c67c5904d034b60b39ddce44aa4beba9 Gerrit-Change-Number: 14372 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 4 15:06:52 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 15:06:52 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/TRXC_CodecPort.ttcn: add debug print on Rx / Tx of messages In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14372 to look at the new patch set (#2). Change subject: library/TRXC_CodecPort.ttcn: add debug print on Rx / Tx of messages ...................................................................... library/TRXC_CodecPort.ttcn: add debug print on Rx / Tx of messages Change-Id: I04af0043c67c5904d034b60b39ddce44aa4beba9 --- M library/TRXC_CodecPort.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/72/14372/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I04af0043c67c5904d034b60b39ddce44aa4beba9 Gerrit-Change-Number: 14372 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 4 15:14:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 Jun 2019 15:14:34 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: trx_if.c: Introduce logging macro LOGPL1H Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14373 Change subject: bts-trx: trx_if.c: Introduce logging macro LOGPL1H ...................................................................... bts-trx: trx_if.c: Introduce logging macro LOGPL1H This way we unify format. We take the chance to add related information to some log messages which were not printing that information (and was confusing when using more than one phy instance). Change-Id: I5b17a01638ade9a6c41da73e550d5947fa92f568 --- M src/osmo-bts-trx/trx_if.c 1 file changed, 33 insertions(+), 40 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/73/14373/1 diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index ec879c7..8d9fedb 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -58,6 +58,8 @@ * socket helper functions */ +#define LOGPL1H(l1h, section, lvl, fmt, args...) LOGP(section, lvl, "%s: " fmt, phy_instance_name(l1h->phy_inst), ##args) + /*! convenience wrapper to open socket + fill in osmo_fd */ static int trx_udp_open(void *priv, struct osmo_fd *ofd, const char *host_local, uint16_t port_local, const char *host_remote, uint16_t port_remote, @@ -155,7 +157,7 @@ len = snprintf(buf, sizeof(buf), "CMD %s%s%s", tcm->cmd, tcm->params_len ? " ":"", tcm->params); OSMO_ASSERT(len < sizeof(buf)); - LOGP(DTRX, LOGL_DEBUG, "Sending control '%s' to %s\n", buf, phy_instance_name(l1h->phy_inst)); + LOGPL1H(l1h, DTRX, LOGL_DEBUG, "Sending control '%s'\n", buf); /* send command */ send(l1h->trx_ofd_ctrl.fd, buf, len+1, 0); @@ -173,8 +175,7 @@ OSMO_ASSERT(!llist_empty(&l1h->trx_ctrl_list)); tcm = llist_entry(l1h->trx_ctrl_list.next, struct trx_ctrl_msg, list); - LOGP(DTRX, LOGL_NOTICE, "No satisfactory response from transceiver for %s (CMD %s%s%s)\n", - phy_instance_name(l1h->phy_inst), + LOGPL1H(l1h, DTRX, LOGL_NOTICE, "No satisfactory response from transceiver(CMD %s%s%s)\n", tcm->cmd, tcm->params_len ? " ":"", tcm->params); trx_ctrl_send(l1h); @@ -208,8 +209,8 @@ if (!transceiver_available && !(!strcmp(cmd, "POWEROFF") || !strcmp(cmd, "POWERON"))) { - LOGP(DTRX, LOGL_ERROR, "CTRL %s ignored: No clock from " - "transceiver, please fix!\n", cmd); + LOGPL1H(l1h, DTRX, LOGL_ERROR, "CTRL %s ignored: No clock from " + "transceiver, please fix!\n", cmd); return -EIO; } @@ -241,7 +242,7 @@ if (!pending || !(strcmp(tcm->cmd, prev->cmd) == 0 && strcmp(tcm->params, prev->params) == 0)) { - LOGP(DTRX, LOGL_INFO, "Enqueuing TRX control command 'CMD %s%s%s'\n", + LOGPL1H(l1h, DTRX, LOGL_INFO, "Enqueuing TRX control command 'CMD %s%s%s'\n", tcm->cmd, tcm->params_len ? " ":"", tcm->params); llist_add_tail(&tcm->list, &l1h->trx_ctrl_list); } @@ -445,18 +446,16 @@ static int trx_ctrl_rx_rsp_setslot(struct trx_l1h *l1h, struct trx_ctrl_rsp *rsp) { trx_if_cmd_setslot_cb *cb = (trx_if_cmd_setslot_cb*) rsp->cb; - struct phy_instance *pinst = l1h->phy_inst; unsigned int tn, ts_type; if (rsp->status) - LOGP(DTRX, LOGL_ERROR, "transceiver (%s) SETSLOT failed with status %d\n", - phy_instance_name(pinst), rsp->status); + LOGPL1H(l1h, DTRX, LOGL_ERROR, "transceiver SETSLOT failed with status %d\n", + rsp->status); /* Since message was already validated against CMD we sent, we know format * of params is: " " */ if (sscanf(rsp->params, "%u %u", &tn, &ts_type) < 2) { - LOGP(DTRX, LOGL_ERROR, "transceiver (%s) SETSLOT unable to parse params\n", - phy_instance_name(pinst)); + LOGPL1H(l1h, DTRX, LOGL_ERROR, "transceiver SETSLOT unable to parse params\n"); return -EINVAL; } @@ -481,9 +480,9 @@ phy_link_state_set(pinst->phy_link, PHY_LINK_CONNECTED); return 0; } else { - LOGP(DTRX, LOGL_NOTICE, - "transceiver (%s) rejected POWERON command (%d), re-trying in a few seconds\n", - phy_instance_name(pinst), rsp->status); + LOGPL1H(l1h, DTRX, LOGL_NOTICE, + "transceiver rejected POWERON command (%d), re-trying in a few seconds\n", + rsp->status); if (pinst->phy_link->state != PHY_LINK_SHUTDOWN) phy_link_state_set(pinst->phy_link, PHY_LINK_SHUTDOWN); return 5; @@ -493,10 +492,10 @@ } if (rsp->status) { - LOGP(DTRX, critical ? LOGL_FATAL : LOGL_NOTICE, - "transceiver (%s) rejected TRX command with response: '%s%s%s %d'\n", - phy_instance_name(pinst), rsp->cmd, rsp->params[0] != '\0' ? " ":"", - rsp->params, rsp->status); + LOGPL1H(l1h, DTRX, critical ? LOGL_FATAL : LOGL_NOTICE, + "transceiver rejected TRX command with response: '%s%s%s %d'\n", + rsp->cmd, rsp->params[0] != '\0' ? " ":"", + rsp->params, rsp->status); if (critical) return -EINVAL; } @@ -521,7 +520,7 @@ if (parse_rsp(buf, len, &rsp) < 0) return 0; - LOGP(DTRX, LOGL_INFO, "Response message: '%s'\n", buf); + LOGPL1H(l1h, DTRX, LOGL_INFO, "Response message: '%s'\n", buf); /* abort timer and send next message, if any */ if (osmo_timer_pending(&l1h->trx_ctrl_timer)) @@ -531,12 +530,11 @@ if (llist_empty(&l1h->trx_ctrl_list)) { /* RSP from a retransmission, skip it */ if (l1h->last_acked && cmd_matches_rsp(l1h->last_acked, &rsp)) { - LOGP(DTRX, LOGL_NOTICE, "Discarding duplicated RSP " + LOGPL1H(l1h, DTRX, LOGL_NOTICE, "Discarding duplicated RSP " "from old CMD '%s'\n", buf); return 0; } - LOGP(DTRX, LOGL_NOTICE, "Response message without " - "command\n"); + LOGPL1H(l1h, DTRX, LOGL_NOTICE, "Response message without command\n"); return -EINVAL; } tcm = llist_entry(l1h->trx_ctrl_list.next, struct trx_ctrl_msg, @@ -546,11 +544,11 @@ if (!cmd_matches_rsp(tcm, &rsp)) { /* RSP from a retransmission, skip it */ if (l1h->last_acked && cmd_matches_rsp(l1h->last_acked, &rsp)) { - LOGP(DTRX, LOGL_NOTICE, "Discarding duplicated RSP " + LOGPL1H(l1h, DTRX, LOGL_NOTICE, "Discarding duplicated RSP " "from old CMD '%s'\n", buf); return 0; } - LOGP(DTRX, (tcm->critical) ? LOGL_FATAL : LOGL_NOTICE, + LOGPL1H(l1h, DTRX, (tcm->critical) ? LOGL_FATAL : LOGL_NOTICE, "Response message '%s' does not match command " "message 'CMD %s%s%s'\n", buf, tcm->cmd, tcm->params_len ? " ":"", tcm->params); @@ -609,7 +607,7 @@ burst_len = EGPRS_BURST_LEN; /* Accept bursts ending with 2 bytes of padding (OpenBTS compatible trx) or without them: */ } else if (len != GSM_BURST_LEN + 10 && len != GSM_BURST_LEN + 8) { - LOGP(DTRX, LOGL_NOTICE, "Got data message with invalid lenght " + LOGPL1H(l1h, DTRX, LOGL_NOTICE, "Got data message with invalid lenght " "'%d'\n", len); return -EINVAL; } @@ -627,15 +625,15 @@ } if (tn >= 8) { - LOGP(DTRX, LOGL_ERROR, "Illegal TS %d\n", tn); + LOGPL1H(l1h, DTRX, LOGL_ERROR, "Illegal TS %d\n", tn); return -EINVAL; } if (fn >= GSM_HYPERFRAME) { - LOGP(DTRX, LOGL_ERROR, "Illegal FN %u\n", fn); + LOGPL1H(l1h, DTRX, LOGL_ERROR, "Illegal FN %u\n", fn); return -EINVAL; } - LOGP(DTRX, LOGL_DEBUG, "RX burst tn=%u fn=%u rssi=%d toa256=%d\n", + LOGPL1H(l1h, DTRX, LOGL_DEBUG, "RX burst tn=%u fn=%u rssi=%d toa256=%d\n", tn, fn, rssi, toa256); #ifdef TOA_RSSI_DEBUG @@ -667,11 +665,11 @@ uint8_t buf[TRX_MAX_BURST_LEN]; if ((nbits != GSM_BURST_LEN) && (nbits != EGPRS_BURST_LEN)) { - LOGP(DTRX, LOGL_ERROR, "Tx burst length %u invalid\n", nbits); + LOGPL1H(l1h, DTRX, LOGL_ERROR, "Tx burst length %u invalid\n", nbits); return -1; } - LOGP(DTRX, LOGL_DEBUG, "TX burst tn=%u fn=%u pwr=%u\n", tn, fn, pwr); + LOGPL1H(l1h, DTRX, LOGL_DEBUG, "TX burst tn=%u fn=%u pwr=%u\n", tn, fn, pwr); buf[0] = tn; buf[1] = (fn >> 24) & 0xff; @@ -688,7 +686,7 @@ if (transceiver_available && llist_empty(&l1h->trx_ctrl_list)) { send(l1h->trx_ofd_data.fd, buf, nbits + 6, 0); } else - LOGP(DTRX, LOGL_ERROR, "Ignoring TX data, transceiver offline.\n"); + LOGPL1H(l1h, DTRX, LOGL_ERROR, "Ignoring TX data, transceiver offline.\n"); return 0; } @@ -716,9 +714,7 @@ /*! close the TRX for given handle (data + control socket) */ void trx_if_close(struct trx_l1h *l1h) { - struct phy_instance *pinst = l1h->phy_inst; - LOGP(DTRX, LOGL_NOTICE, "Close transceiver for %s\n", - phy_instance_name(pinst)); + LOGPL1H(l1h, DTRX, LOGL_NOTICE, "Close transceiver\n"); trx_if_flush(l1h); @@ -749,8 +745,7 @@ struct phy_link *plink = pinst->phy_link; int rc; - LOGP(DTRX, LOGL_NOTICE, "Open transceiver for %s\n", - phy_instance_name(pinst)); + LOGPL1H(l1h, DTRX, LOGL_NOTICE, "Open transceiver\n"); /* initialize ctrl queue */ INIT_LLIST_HEAD(&l1h->trx_ctrl_list); @@ -806,15 +801,13 @@ rc = trx_sched_init(&l1h->l1s, pinst->trx); if (rc < 0) { - LOGP(DL1C, LOGL_FATAL, "Cannot initialize scheduler for phy " - "instance %d\n", pinst->num); + LOGPL1H(l1h, DL1C, LOGL_FATAL, "Cannot initialize scheduler\n"); return -EIO; } rc = trx_if_open(l1h); if (rc < 0) { - LOGP(DL1C, LOGL_FATAL, "Cannot open TRX interface for phy " - "instance %d\n", pinst->num); + LOGPL1H(l1h, DL1C, LOGL_FATAL, "Cannot open TRX interface\n"); trx_phy_inst_close(pinst); return -EIO; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5b17a01638ade9a6c41da73e550d5947fa92f568 Gerrit-Change-Number: 14373 Gerrit-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 4 15:17:10 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 15:17:10 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: start-testsuite.sh: do not override LD_LIBRARY_PATH Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14374 Change subject: start-testsuite.sh: do not override LD_LIBRARY_PATH ...................................................................... start-testsuite.sh: do not override LD_LIBRARY_PATH The Eclipse titan.core may not only be installed to hard-coded '/usr/lib/titan' patch, but to any other location too. In the later case, one would have to make sure that the custom path is in $LD_LIBRARY_PATH. So we shall not override it. Change-Id: I1ec28e8c3081d5de1bea90a7451791ac8cbbd27c --- M start-testsuite.sh 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/74/14374/1 diff --git a/start-testsuite.sh b/start-testsuite.sh index 5740d3d..31bc891 100755 --- a/start-testsuite.sh +++ b/start-testsuite.sh @@ -21,7 +21,8 @@ TEST=$3 fi -LD_LIBRARY_PATH="$SUITE_DIR:/usr/lib/titan:/usr/ttcn3/lib" ttcn3_start $SUITE $CFG $TEST +TITAN_LIBRARY_PATH="/usr/lib/titan:/usr/ttcn3/lib" +LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$SUITE_DIR:$TITAN_LIBRARY_PATH" ttcn3_start $SUITE $CFG $TEST expected="$SUITE_DIR/expected-results.xml" if [ ! -f "$expected" ]; then -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1ec28e8c3081d5de1bea90a7451791ac8cbbd27c Gerrit-Change-Number: 14374 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 4 15:19:00 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 15:19:00 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: start-testsuite.sh: do not override LD_LIBRARY_PATH In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14374 ) Change subject: start-testsuite.sh: do not override LD_LIBRARY_PATH ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1ec28e8c3081d5de1bea90a7451791ac8cbbd27c Gerrit-Change-Number: 14374 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 15:19: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 4 15:21:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 15:21:04 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: trx_if.c: Introduce logging macro LOGPL1H In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14373 ) Change subject: bts-trx: trx_if.c: Introduce logging macro LOGPL1H ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14373/1/src/osmo-bts-trx/trx_if.c File src/osmo-bts-trx/trx_if.c: https://gerrit.osmocom.org/#/c/14373/1/src/osmo-bts-trx/trx_if.c at 61 PS1, Line 61: LOGPL1H a) this is not "L1 handle" (which is bts model specific) but "phy instance" so something like LOGPPHI or the like would be more logical. b) as phy_instance is common, the macro should be shared wih other backends so they can use it, too. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5b17a01638ade9a6c41da73e550d5947fa92f568 Gerrit-Change-Number: 14373 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-CC: Harald Welte Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 15:21: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 Tue Jun 4 15:21:24 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 15:21:24 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: correct error messages about TRXC connection In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14369 ) Change subject: BTS_Tests.ttcn: correct error messages about TRXC connection ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie3dbe925b8840c0c8d8047ee5878fcdaa1395ab3 Gerrit-Change-Number: 14369 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 15:21:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 15:22:29 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 15:22:29 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: fix name of f_trx_fake_toffs256() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14371 ) Change subject: BTS_Tests.ttcn: fix name of f_trx_fake_toffs256() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I83a1d68ffbfc4d588e143fecc62517baac9b31af Gerrit-Change-Number: 14371 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 15:22:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 15:23:35 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 15:23:35 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/TRXC_CodecPort.ttcn: add debug print on Rx / Tx of messages In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14372 ) Change subject: library/TRXC_CodecPort.ttcn: add debug print on Rx / Tx of messages ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14372/2/library/TRXC_CodecPort.ttcn File library/TRXC_CodecPort.ttcn: https://gerrit.osmocom.org/#/c/14372/2/library/TRXC_CodecPort.ttcn at 31 PS2, Line 31: log("Rx TRXC message: ", oct2char(pin.msg)); doesn't the IPL4asp_PT log that by itself? Or, if it doesn't, can't we simply enable related logging of it by tuning the logging parameters? This looks like something that we shouldn't [have to] do by hand. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I04af0043c67c5904d034b60b39ddce44aa4beba9 Gerrit-Change-Number: 14372 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 04 Jun 2019 15:23:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 15:26:41 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 15:26:41 +0000 Subject: Change in ...osmo-trx[master]: Add rate_ctr support to store/retrieve SDR errors through VTY In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14167 ) Change subject: Add rate_ctr support to store/retrieve SDR errors through VTY ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I78b158141697e5714d04db8b9ccc96f31f34f439 Gerrit-Change-Number: 14167 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 04 Jun 2019 15: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 Tue Jun 4 15:27:03 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 15:27:03 +0000 Subject: Change in ...osmo-trx[master]: Rename and move STOP signal from Transceiver to main In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14366 ) Change subject: Rename and move STOP signal from Transceiver to main ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Id4159e64225c6606fef34a74b24f37c3a071aceb Gerrit-Change-Number: 14366 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 15:27:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 15:28:39 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 15:28:39 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: fix TRXC port mapping between test_CT and ConnHdlr 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/+/14370 to look at the new patch set (#2). Change subject: BTS_Tests.ttcn: fix TRXC port mapping between test_CT and ConnHdlr ...................................................................... BTS_Tests.ttcn: fix TRXC port mapping between test_CT and ConnHdlr Before this patch, sending special TRXC commands to FakeTRX, such as FAKE_TOA and FAKE_RSSI, from ConnHdlr resulted in a receive timeout waiting for the response. As it turned out, both the test_CT and the ConnHdlr have a TRXC port, as depending on the test one would want to globally control it from test_CT or from within a ConnHdlr. However, only one of the two should be active (connected) at any given point in time. Otherwise we'll have two UDP sockets on the same bind port, and it's more or less random on which of them it ends up. Let's add an optional parameter 'trxc_comp', which would indicate whether we need to control TRXC from ConnHdlr or not. Let's get rid of both f_trxc_connect() and f_main_trxc_connect(), which basically do the same, but run on different components. Change-Id: Ie7d311bf8f03bf9b1d29b5bb28ffad793f215fd1 Closes: OS#4039 --- M bts/BTS_Tests.ttcn 1 file changed, 37 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/14370/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie7d311bf8f03bf9b1d29b5bb28ffad793f215fd1 Gerrit-Change-Number: 14370 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 4 15:28:42 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 15:28:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: indicate default RSSI=-60 to FakeTRX Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14375 Change subject: BTS_Tests.ttcn: indicate default RSSI=-60 to FakeTRX ...................................................................... BTS_Tests.ttcn: indicate default RSSI=-60 to FakeTRX Change-Id: Ib13e3f8d9fbcd2722c6522a1bb5c513e34adfb18 --- M bts/BTS_Tests.ttcn 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/75/14375/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 50aaee7..98d439a 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -418,8 +418,9 @@ map(self:BTS_TRXC, system:BTS_TRXC); f_init_trxc(BTS_TRXC, id, g_bts_trxc_conn_id); - /* start with a default moderate timing offset equalling TA=2 */ + /* Start with a default moderate timing offset equalling TA=2, and RSSI=-60 */ ret := f_TRXC_transceive(BTS_TRXC, g_bts_trxc_conn_id, valueof(ts_TRXC_FAKE_TIMING(2*256))); + ret := f_TRXC_transceive(BTS_TRXC, g_bts_trxc_conn_id, valueof(ts_TRXC_FAKE_RSSI(-60))); } /* Wait some extra time to make sure the BTS emits a stable carrier. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib13e3f8d9fbcd2722c6522a1bb5c513e34adfb18 Gerrit-Change-Number: 14375 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 4 15:29:35 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 15:29:35 +0000 Subject: Change in ...osmo-trx[master]: lms: Drop unusued variable masterClockRate In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14367 ) Change subject: lms: Drop unusued variable masterClockRate ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I19192925d008046f474615a0476b52ddee9a9d78 Gerrit-Change-Number: 14367 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 15:29:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 15:29:50 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 15:29:50 +0000 Subject: Change in ...osmo-trx[master]: lms: Fix stream_stats checks with overrun/underrun In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14368 ) Change subject: lms: Fix stream_stats checks with overrun/underrun ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I677232a7b12ee83d26aa34d92f76a91d4b5a63a6 Gerrit-Change-Number: 14368 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 15: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 Tue Jun 4 15:30:15 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 15:30:15 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: indicate default RSSI=-60 to FakeTRX In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14375 ) Change subject: BTS_Tests.ttcn: indicate default RSSI=-60 to FakeTRX ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib13e3f8d9fbcd2722c6522a1bb5c513e34adfb18 Gerrit-Change-Number: 14375 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 15:30: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 4 15:30:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 15:30:47 +0000 Subject: Change in ...libosmocore[master]: gsm0808_utils: Add gsm0808_decode_cell_id_u() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/13888 ) Change subject: gsm0808_utils: Add gsm0808_decode_cell_id_u() ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/13888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I08b33881667aa32f01e53ccb70d44d5b79c7c986 Gerrit-Change-Number: 13888 Gerrit-PatchSet: 5 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 04 Jun 2019 15:30: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 4 15:30:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 15:30:48 +0000 Subject: Change in ...libosmocore[master]: gsm0808_utils: Add gsm0808_decode_cell_id_u() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/13888 ) Change subject: gsm0808_utils: Add gsm0808_decode_cell_id_u() ...................................................................... gsm0808_utils: Add gsm0808_decode_cell_id_u() This function parses a single Cell ID list element into a 'union gsm0808_cell_id_u'. This function is going to be used by the upcoming CBSP support. Related: OS#3537 Change-Id: I08b33881667aa32f01e53ccb70d44d5b79c7c986 --- M include/osmocom/gsm/gsm0808_utils.h M src/gsm/gsm0808_utils.c M src/gsm/libosmogsm.map 3 files changed, 60 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/include/osmocom/gsm/gsm0808_utils.h b/include/osmocom/gsm/gsm0808_utils.h index 9cfaea6..76db2b6 100644 --- a/include/osmocom/gsm/gsm0808_utils.h +++ b/include/osmocom/gsm/gsm0808_utils.h @@ -94,6 +94,7 @@ const struct osmo_cell_global_id *cgi); int gsm0808_cell_id_to_cgi(struct osmo_cell_global_id *cgi, const struct gsm0808_cell_id *cid); void gsm0808_msgb_put_cell_id_u(struct msgb *msg, enum CELL_IDENT id_discr, const union gsm0808_cell_id_u *u); +int gsm0808_decode_cell_id_u(union gsm0808_cell_id_u *out, enum CELL_IDENT discr, const uint8_t *buf, unsigned int len); uint8_t gsm0808_enc_cause(struct msgb *msg, uint16_t cause); uint8_t gsm0808_enc_aoip_trasp_addr(struct msgb *msg, diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index 70eed15..afff59a 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -193,6 +193,17 @@ #endif /* HAVE_SYS_SOCKET_H */ +/* Decode 5-byte LAI list element data (see TS 08.08 3.2.2.27) into MCC/MNC/LAC. */ +static void decode_lai(const uint8_t *data, struct osmo_location_area_id *decoded) +{ + struct gsm48_loc_area_id lai; + + /* Copy data to stack to prevent unaligned access in gsm48_decode_lai2(). */ + memcpy(&lai, data, sizeof(lai)); /* don't byte swap yet */ + + gsm48_decode_lai2(&lai, decoded); +} + /* Helper function for gsm0808_enc_speech_codec() * and gsm0808_enc_speech_codec_list() */ static uint8_t enc_speech_codec(struct msgb *msg, @@ -756,6 +767,53 @@ return (int)(elem - old_elem); } +/*! Decode a single GSM 08.08 Cell ID list element payload + * \param[out] out caller-provided output union + * \param[in] discr Cell ID discriminator describing type to be decoded + * \param[in] buf User-provided input buffer containing binary Cell ID list element + * \param[in] len Length of buf + * \returns 0 on success; negative on error */ +int gsm0808_decode_cell_id_u(union gsm0808_cell_id_u *out, enum CELL_IDENT discr, const uint8_t *buf, unsigned int len) +{ + switch (discr) { + case CELL_IDENT_WHOLE_GLOBAL: + if (len < 7) + return -EINVAL; + decode_lai(buf, &out->global.lai); + out->global.cell_identity = osmo_load16be(buf + sizeof(struct gsm48_loc_area_id)); + break; + case CELL_IDENT_LAC_AND_CI: + if (len < 4) + return -EINVAL; + out->lac_and_ci.lac = osmo_load16be(buf); + out->lac_and_ci.ci = osmo_load16be(buf + sizeof(uint16_t)); + break; + case CELL_IDENT_CI: + if (len < 2) + return -EINVAL; + out->ci = osmo_load16be(buf); + break; + case CELL_IDENT_LAI_AND_LAC: + if (len < 5) + return -EINVAL; + decode_lai(buf, &out->lai_and_lac); + break; + case CELL_IDENT_LAC: + if (len < 2) + return -EINVAL; + out->lac = osmo_load16be(buf); + break; + case CELL_IDENT_BSS: + case CELL_IDENT_NO_CELL: + /* Does not have any list items */ + break; + default: + /* Remaining cell identification types are not implemented. */ + return -EINVAL; + } + return 0; +} + void gsm0808_msgb_put_cell_id_u(struct msgb *msg, enum CELL_IDENT id_discr, const union gsm0808_cell_id_u *u) { switch (id_discr) { @@ -865,17 +923,6 @@ return *tlv_len + 2; } -/* Decode 5-byte LAI list element data (see TS 08.08 3.2.2.27) into MCC/MNC/LAC. */ -static void decode_lai(const uint8_t *data, struct osmo_location_area_id *decoded) -{ - struct gsm48_loc_area_id lai; - - /* Copy data to stack to prevent unaligned access in gsm48_decode_lai2(). */ - memcpy(&lai, data, sizeof(lai)); /* don't byte swap yet */ - - gsm48_decode_lai2(&lai, decoded); -} - static int parse_cell_id_global_list(struct gsm0808_cell_id_list2 *cil, const uint8_t *data, size_t remain, size_t *consumed) { diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index d49401d..9aa9683 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -244,6 +244,7 @@ gsm0808_enc_lcls; gsm0808_dec_lcls; gsm0808_msgb_put_cell_id_u; +gsm0808_decode_cell_id_u; gsm29118_msgb_alloc; gsm29118_create_alert_req; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/13888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I08b33881667aa32f01e53ccb70d44d5b79c7c986 Gerrit-Change-Number: 13888 Gerrit-PatchSet: 5 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 15:31:17 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 15:31:17 +0000 Subject: Change in ...osmo-bts[master]: common/scheduler.c: refactor description of TRXC_* lchans In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14322 ) Change subject: common/scheduler.c: refactor description of TRXC_* lchans ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I9d5d49ec569f133d37b8164b22607d4700474315 Gerrit-Change-Number: 14322 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 15:31: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 4 15:35:19 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 15:35:19 +0000 Subject: Change in ...osmo-bts[master]: l1sap: Compute statistics on FN advance in PH-RTS.ind 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/+/14336 to look at the new patch set (#2). Change subject: l1sap: Compute statistics on FN advance in PH-RTS.ind ...................................................................... l1sap: Compute statistics on FN advance in PH-RTS.ind Let's keep some statistics about the min/max/average frame number advance that we're observing above L1SAP when comparing the time in the PH-RTS.ind and the frame number we observe in PH-DATA.ind of data that was received on the uplink. The statistics are currently only shown in the VTY, but this is a precursor to using them to correctly advance the LAPDm timers in a follow-up patch. Change-Id: I8f739fdb808a614f080afbc4654641ec3df19eb2 Related: OS#2294 Related: OS#3906 --- M include/osmo-bts/bts.h M include/osmo-bts/gsm_data_shared.h M src/common/bts.c M src/common/l1sap.c M src/common/vty.c 5 files changed, 46 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/36/14336/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8f739fdb808a614f080afbc4654641ec3df19eb2 Gerrit-Change-Number: 14336 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte 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 4 15:39:42 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 Jun 2019 15:39:42 +0000 Subject: Change in ...osmo-msc[master]: db_sms_test: Remove libdbi expected driver load errors In-Reply-To: References: Message-ID: pespin has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14356 ) Change subject: db_sms_test: Remove libdbi expected driver load errors ...................................................................... Abandoned Abandoned in favour of https://gerrit.osmocom.org/c/osmo-msc/+/14362 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I06dfdc5a7415a4d3b34a3b25f11c8abda1a63f92 Gerrit-Change-Number: 14356 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 15:39:55 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 15:39:55 +0000 Subject: Change in ...docker-playground[master]: ttcn3-bts-tests: Add BTS_Tests_LAPDm.control to config file Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/14376 Change subject: ttcn3-bts-tests: Add BTS_Tests_LAPDm.control to config file ...................................................................... ttcn3-bts-tests: Add BTS_Tests_LAPDm.control to config file There's a number of new tests that aren't executed yet. Change-Id: I3bfb4483f39d4dbf3f506f86470e4f2d3b6b7af2 --- 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/76/14376/1 diff --git a/ttcn3-bts-test/BTS_Tests.cfg b/ttcn3-bts-test/BTS_Tests.cfg index 9567845..7e734c8 100644 --- a/ttcn3-bts-test/BTS_Tests.cfg +++ b/ttcn3-bts-test/BTS_Tests.cfg @@ -20,3 +20,4 @@ [EXECUTE] BTS_Tests.control BTS_Tests_SMSCB.control +BTS_Tests_LAPDm.control -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3bfb4483f39d4dbf3f506f86470e4f2d3b6b7af2 Gerrit-Change-Number: 14376 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 15:46:46 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 4 Jun 2019 15:46:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/TRXC_CodecPort.ttcn: add debug print on Rx / Tx of messages In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14372 ) Change subject: library/TRXC_CodecPort.ttcn: add debug print on Rx / Tx of messages ...................................................................... Patch Set 3: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/14372/2/library/TRXC_CodecPort.ttcn File library/TRXC_CodecPort.ttcn: https://gerrit.osmocom.org/#/c/14372/2/library/TRXC_CodecPort.ttcn at 31 PS2, Line 31: log("Rx TRXC message: ", oct2char(pin.msg)); > doesn't the IPL4asp_PT log that by itself? Or, if it doesn't, can't we simply enable related loggin [?] As far as this issue is concerned the existing logging was sufficient - it was just not obvious that it arrived at the wrong port. I don't think this change is necessary. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I04af0043c67c5904d034b60b39ddce44aa4beba9 Gerrit-Change-Number: 14372 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: Harald Welte Gerrit-Comment-Date: Tue, 04 Jun 2019 15:46:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: Harald Welte Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 15:47:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 Jun 2019 15:47:02 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Make use of new libgtp APIs with multi-gsn support In-Reply-To: References: Message-ID: Hello Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14297 to look at the new patch set (#3). Change subject: gtp: Make use of new libgtp APIs with multi-gsn support ...................................................................... gtp: Make use of new libgtp APIs with multi-gsn support Drop use of deprecated APIs everywhere in libgtp and use the new ones instead. Related: OS#2873 Change-Id: Ibf56a063f01d1f95a2a3271416da6e062e85fdfa --- M gtp/gtp.c 1 file changed, 22 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/97/14297/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ibf56a063f01d1f95a2a3271416da6e062e85fdfa Gerrit-Change-Number: 14297 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte 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 4 15:47:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 Jun 2019 15:47:02 +0000 Subject: Change in ...osmo-ggsn[master]: sgsnemu: Replace use of deprecated libgtp API pdp_newpdp with new one In-Reply-To: References: Message-ID: Hello fixeria, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14299 to look at the new patch set (#4). Change subject: sgsnemu: Replace use of deprecated libgtp API pdp_newpdp with new one ...................................................................... sgsnemu: Replace use of deprecated libgtp API pdp_newpdp with new one Related: OS#2873 Change-Id: I9742b82c382ae2e63f8aff4c5c32e2450059082b --- M sgsnemu/sgsnemu.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/99/14299/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I9742b82c382ae2e63f8aff4c5c32e2450059082b Gerrit-Change-Number: 14299 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte 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 4 15:47:29 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 4 Jun 2019 15:47:29 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: fix name of f_trx_fake_toffs256() In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14371 ) Change subject: BTS_Tests.ttcn: fix name of f_trx_fake_toffs256() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I83a1d68ffbfc4d588e143fecc62517baac9b31af Gerrit-Change-Number: 14371 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 15: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 4 15:47:49 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 4 Jun 2019 15:47:49 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: indicate default RSSI=-60 to FakeTRX In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14375 ) Change subject: BTS_Tests.ttcn: indicate default RSSI=-60 to FakeTRX ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib13e3f8d9fbcd2722c6522a1bb5c513e34adfb18 Gerrit-Change-Number: 14375 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 15:47: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 4 15:47:55 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 4 Jun 2019 15:47:55 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: fix TRXC port mapping between test_CT and ConnHdlr In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14370 ) Change subject: BTS_Tests.ttcn: fix TRXC port mapping between test_CT and ConnHdlr ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie7d311bf8f03bf9b1d29b5bb28ffad793f215fd1 Gerrit-Change-Number: 14370 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 15:47: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 4 15:48:09 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 4 Jun 2019 15:48:09 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: correct error messages about TRXC connection In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14369 ) Change subject: BTS_Tests.ttcn: correct error messages about TRXC connection ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie3dbe925b8840c0c8d8047ee5878fcdaa1395ab3 Gerrit-Change-Number: 14369 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 15:48:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 16:00:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 4 Jun 2019 16:00:25 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: trx_if.c: Introduce logging macro LOGPPHI 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/+/14373 to look at the new patch set (#2). Change subject: bts-trx: trx_if.c: Introduce logging macro LOGPPHI ...................................................................... bts-trx: trx_if.c: Introduce logging macro LOGPPHI This way we unify format. We take the chance to add related information to some log messages which were not printing that information (and was confusing when using more than one phy instance). Change-Id: I5b17a01638ade9a6c41da73e550d5947fa92f568 --- M include/osmo-bts/phy_link.h M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/trx_if.c 3 files changed, 38 insertions(+), 44 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/73/14373/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5b17a01638ade9a6c41da73e550d5947fa92f568 Gerrit-Change-Number: 14373 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: Harald Welte Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 16:35:46 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 16:35:46 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Make use of new libgtp APIs with multi-gsn support In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14297 ) Change subject: gtp: Make use of new libgtp APIs with multi-gsn support ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ibf56a063f01d1f95a2a3271416da6e062e85fdfa Gerrit-Change-Number: 14297 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 Jun 2019 16:35:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 16:36:20 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 16:36:20 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: trx_if.c: Introduce logging macro LOGPPHI In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14373 ) Change subject: bts-trx: trx_if.c: Introduce logging macro LOGPPHI ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5b17a01638ade9a6c41da73e550d5947fa92f568 Gerrit-Change-Number: 14373 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 16:36:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 16:36:25 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 16:36:25 +0000 Subject: Change in ...osmo-bts[master]: bts-trx: trx_if.c: Introduce logging macro LOGPPHI In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14373 ) Change subject: bts-trx: trx_if.c: Introduce logging macro LOGPPHI ...................................................................... bts-trx: trx_if.c: Introduce logging macro LOGPPHI This way we unify format. We take the chance to add related information to some log messages which were not printing that information (and was confusing when using more than one phy instance). Change-Id: I5b17a01638ade9a6c41da73e550d5947fa92f568 --- M include/osmo-bts/phy_link.h M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/trx_if.c 3 files changed, 38 insertions(+), 44 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h index 812f186..273103c 100644 --- a/include/osmo-bts/phy_link.h +++ b/include/osmo-bts/phy_link.h @@ -173,3 +173,5 @@ } int bts_model_phy_link_open(struct phy_link *plink); + +#define LOGPPHI(pinst, section, lvl, fmt, args...) LOGP(section, lvl, "%s: " fmt, phy_instance_name(pinst), ##args) diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 290ceee..e6e384a 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -159,20 +159,20 @@ enum gsm_phys_chan_config pchan; if (tn >= TRX_NR_TS) { - LOGP(DL1C, LOGL_ERROR, "transceiver (%s) SETSLOT invalid param TN (%" PRIu8 ")\n", - phy_instance_name(pinst), tn); + LOGPPHI(pinst, DL1C, LOGL_ERROR, "transceiver SETSLOT invalid param TN (%" PRIu8 ")\n", + tn); return; } pchan = transceiver_chan_type_2_pchan(type); if (pchan == GSM_PCHAN_UNKNOWN) { - LOGP(DL1C, LOGL_ERROR, "transceiver (%s) SETSLOT invalid param TS_TYPE (%" PRIu8 ")\n", - phy_instance_name(pinst), type); + LOGPPHI(pinst, DL1C, LOGL_ERROR, "transceiver SETSLOT invalid param TS_TYPE (%" PRIu8 ")\n", + type); return; } ts = &trx->ts[tn]; - LOGP(DL1C, LOGL_DEBUG, "%s l1if_setslot_cb(as_pchan=%s)," + LOGPPHI(pinst, DL1C, LOGL_DEBUG, "%s l1if_setslot_cb(as_pchan=%s)," " calling cb_ts_connected(rc=%d)\n", gsm_ts_name(ts), gsm_pchan_name(pchan), rc); cb_ts_connected(ts, rc); diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index ec879c7..2805260 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -155,7 +155,7 @@ len = snprintf(buf, sizeof(buf), "CMD %s%s%s", tcm->cmd, tcm->params_len ? " ":"", tcm->params); OSMO_ASSERT(len < sizeof(buf)); - LOGP(DTRX, LOGL_DEBUG, "Sending control '%s' to %s\n", buf, phy_instance_name(l1h->phy_inst)); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, "Sending control '%s'\n", buf); /* send command */ send(l1h->trx_ofd_ctrl.fd, buf, len+1, 0); @@ -173,8 +173,7 @@ OSMO_ASSERT(!llist_empty(&l1h->trx_ctrl_list)); tcm = llist_entry(l1h->trx_ctrl_list.next, struct trx_ctrl_msg, list); - LOGP(DTRX, LOGL_NOTICE, "No satisfactory response from transceiver for %s (CMD %s%s%s)\n", - phy_instance_name(l1h->phy_inst), + LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, "No satisfactory response from transceiver(CMD %s%s%s)\n", tcm->cmd, tcm->params_len ? " ":"", tcm->params); trx_ctrl_send(l1h); @@ -208,8 +207,8 @@ if (!transceiver_available && !(!strcmp(cmd, "POWEROFF") || !strcmp(cmd, "POWERON"))) { - LOGP(DTRX, LOGL_ERROR, "CTRL %s ignored: No clock from " - "transceiver, please fix!\n", cmd); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, "CTRL %s ignored: No clock from " + "transceiver, please fix!\n", cmd); return -EIO; } @@ -241,7 +240,7 @@ if (!pending || !(strcmp(tcm->cmd, prev->cmd) == 0 && strcmp(tcm->params, prev->params) == 0)) { - LOGP(DTRX, LOGL_INFO, "Enqueuing TRX control command 'CMD %s%s%s'\n", + LOGPPHI(l1h->phy_inst, DTRX, LOGL_INFO, "Enqueuing TRX control command 'CMD %s%s%s'\n", tcm->cmd, tcm->params_len ? " ":"", tcm->params); llist_add_tail(&tcm->list, &l1h->trx_ctrl_list); } @@ -449,14 +448,13 @@ unsigned int tn, ts_type; if (rsp->status) - LOGP(DTRX, LOGL_ERROR, "transceiver (%s) SETSLOT failed with status %d\n", - phy_instance_name(pinst), rsp->status); + LOGPPHI(pinst, DTRX, LOGL_ERROR, "transceiver SETSLOT failed with status %d\n", + rsp->status); /* Since message was already validated against CMD we sent, we know format * of params is: " " */ if (sscanf(rsp->params, "%u %u", &tn, &ts_type) < 2) { - LOGP(DTRX, LOGL_ERROR, "transceiver (%s) SETSLOT unable to parse params\n", - phy_instance_name(pinst)); + LOGPPHI(pinst, DTRX, LOGL_ERROR, "transceiver SETSLOT unable to parse params\n"); return -EINVAL; } @@ -481,9 +479,9 @@ phy_link_state_set(pinst->phy_link, PHY_LINK_CONNECTED); return 0; } else { - LOGP(DTRX, LOGL_NOTICE, - "transceiver (%s) rejected POWERON command (%d), re-trying in a few seconds\n", - phy_instance_name(pinst), rsp->status); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, + "transceiver rejected POWERON command (%d), re-trying in a few seconds\n", + rsp->status); if (pinst->phy_link->state != PHY_LINK_SHUTDOWN) phy_link_state_set(pinst->phy_link, PHY_LINK_SHUTDOWN); return 5; @@ -493,10 +491,10 @@ } if (rsp->status) { - LOGP(DTRX, critical ? LOGL_FATAL : LOGL_NOTICE, - "transceiver (%s) rejected TRX command with response: '%s%s%s %d'\n", - phy_instance_name(pinst), rsp->cmd, rsp->params[0] != '\0' ? " ":"", - rsp->params, rsp->status); + LOGPPHI(l1h->phy_inst, DTRX, critical ? LOGL_FATAL : LOGL_NOTICE, + "transceiver rejected TRX command with response: '%s%s%s %d'\n", + rsp->cmd, rsp->params[0] != '\0' ? " ":"", + rsp->params, rsp->status); if (critical) return -EINVAL; } @@ -521,7 +519,7 @@ if (parse_rsp(buf, len, &rsp) < 0) return 0; - LOGP(DTRX, LOGL_INFO, "Response message: '%s'\n", buf); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_INFO, "Response message: '%s'\n", buf); /* abort timer and send next message, if any */ if (osmo_timer_pending(&l1h->trx_ctrl_timer)) @@ -531,12 +529,11 @@ if (llist_empty(&l1h->trx_ctrl_list)) { /* RSP from a retransmission, skip it */ if (l1h->last_acked && cmd_matches_rsp(l1h->last_acked, &rsp)) { - LOGP(DTRX, LOGL_NOTICE, "Discarding duplicated RSP " + LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, "Discarding duplicated RSP " "from old CMD '%s'\n", buf); return 0; } - LOGP(DTRX, LOGL_NOTICE, "Response message without " - "command\n"); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, "Response message without command\n"); return -EINVAL; } tcm = llist_entry(l1h->trx_ctrl_list.next, struct trx_ctrl_msg, @@ -546,11 +543,11 @@ if (!cmd_matches_rsp(tcm, &rsp)) { /* RSP from a retransmission, skip it */ if (l1h->last_acked && cmd_matches_rsp(l1h->last_acked, &rsp)) { - LOGP(DTRX, LOGL_NOTICE, "Discarding duplicated RSP " + LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, "Discarding duplicated RSP " "from old CMD '%s'\n", buf); return 0; } - LOGP(DTRX, (tcm->critical) ? LOGL_FATAL : LOGL_NOTICE, + LOGPPHI(l1h->phy_inst, DTRX, (tcm->critical) ? LOGL_FATAL : LOGL_NOTICE, "Response message '%s' does not match command " "message 'CMD %s%s%s'\n", buf, tcm->cmd, tcm->params_len ? " ":"", tcm->params); @@ -609,7 +606,7 @@ burst_len = EGPRS_BURST_LEN; /* Accept bursts ending with 2 bytes of padding (OpenBTS compatible trx) or without them: */ } else if (len != GSM_BURST_LEN + 10 && len != GSM_BURST_LEN + 8) { - LOGP(DTRX, LOGL_NOTICE, "Got data message with invalid lenght " + LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, "Got data message with invalid lenght " "'%d'\n", len); return -EINVAL; } @@ -627,15 +624,15 @@ } if (tn >= 8) { - LOGP(DTRX, LOGL_ERROR, "Illegal TS %d\n", tn); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, "Illegal TS %d\n", tn); return -EINVAL; } if (fn >= GSM_HYPERFRAME) { - LOGP(DTRX, LOGL_ERROR, "Illegal FN %u\n", fn); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, "Illegal FN %u\n", fn); return -EINVAL; } - LOGP(DTRX, LOGL_DEBUG, "RX burst tn=%u fn=%u rssi=%d toa256=%d\n", + LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, "RX burst tn=%u fn=%u rssi=%d toa256=%d\n", tn, fn, rssi, toa256); #ifdef TOA_RSSI_DEBUG @@ -667,11 +664,11 @@ uint8_t buf[TRX_MAX_BURST_LEN]; if ((nbits != GSM_BURST_LEN) && (nbits != EGPRS_BURST_LEN)) { - LOGP(DTRX, LOGL_ERROR, "Tx burst length %u invalid\n", nbits); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, "Tx burst length %u invalid\n", nbits); return -1; } - LOGP(DTRX, LOGL_DEBUG, "TX burst tn=%u fn=%u pwr=%u\n", tn, fn, pwr); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, "TX burst tn=%u fn=%u pwr=%u\n", tn, fn, pwr); buf[0] = tn; buf[1] = (fn >> 24) & 0xff; @@ -688,7 +685,7 @@ if (transceiver_available && llist_empty(&l1h->trx_ctrl_list)) { send(l1h->trx_ofd_data.fd, buf, nbits + 6, 0); } else - LOGP(DTRX, LOGL_ERROR, "Ignoring TX data, transceiver offline.\n"); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, "Ignoring TX data, transceiver offline.\n"); return 0; } @@ -716,9 +713,7 @@ /*! close the TRX for given handle (data + control socket) */ void trx_if_close(struct trx_l1h *l1h) { - struct phy_instance *pinst = l1h->phy_inst; - LOGP(DTRX, LOGL_NOTICE, "Close transceiver for %s\n", - phy_instance_name(pinst)); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, "Close transceiver\n"); trx_if_flush(l1h); @@ -749,8 +744,7 @@ struct phy_link *plink = pinst->phy_link; int rc; - LOGP(DTRX, LOGL_NOTICE, "Open transceiver for %s\n", - phy_instance_name(pinst)); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, "Open transceiver\n"); /* initialize ctrl queue */ INIT_LLIST_HEAD(&l1h->trx_ctrl_list); @@ -806,15 +800,13 @@ rc = trx_sched_init(&l1h->l1s, pinst->trx); if (rc < 0) { - LOGP(DL1C, LOGL_FATAL, "Cannot initialize scheduler for phy " - "instance %d\n", pinst->num); + LOGPPHI(l1h->phy_inst, DL1C, LOGL_FATAL, "Cannot initialize scheduler\n"); return -EIO; } rc = trx_if_open(l1h); if (rc < 0) { - LOGP(DL1C, LOGL_FATAL, "Cannot open TRX interface for phy " - "instance %d\n", pinst->num); + LOGPPHI(l1h->phy_inst, DL1C, LOGL_FATAL, "Cannot open TRX interface\n"); trx_phy_inst_close(pinst); return -EIO; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5b17a01638ade9a6c41da73e550d5947fa92f568 Gerrit-Change-Number: 14373 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 16:36:42 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 16:36:42 +0000 Subject: Change in ...docker-playground[master]: ttcn3-bts-tests: Add BTS_Tests_LAPDm.control to config file In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14376 ) Change subject: ttcn3-bts-tests: Add BTS_Tests_LAPDm.control to config file ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3bfb4483f39d4dbf3f506f86470e4f2d3b6b7af2 Gerrit-Change-Number: 14376 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Comment-Date: Tue, 04 Jun 2019 16: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 Tue Jun 4 16:36:44 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 16:36:44 +0000 Subject: Change in ...docker-playground[master]: ttcn3-bts-tests: Add BTS_Tests_LAPDm.control to config file In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/14376 ) Change subject: ttcn3-bts-tests: Add BTS_Tests_LAPDm.control to config file ...................................................................... ttcn3-bts-tests: Add BTS_Tests_LAPDm.control to config file There's a number of new tests that aren't executed yet. Change-Id: I3bfb4483f39d4dbf3f506f86470e4f2d3b6b7af2 --- M ttcn3-bts-test/BTS_Tests.cfg 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Harald Welte: Looks good to me, approved; Verified diff --git a/ttcn3-bts-test/BTS_Tests.cfg b/ttcn3-bts-test/BTS_Tests.cfg index 9567845..7e734c8 100644 --- a/ttcn3-bts-test/BTS_Tests.cfg +++ b/ttcn3-bts-test/BTS_Tests.cfg @@ -20,3 +20,4 @@ [EXECUTE] BTS_Tests.control BTS_Tests_SMSCB.control +BTS_Tests_LAPDm.control -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3bfb4483f39d4dbf3f506f86470e4f2d3b6b7af2 Gerrit-Change-Number: 14376 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 16:38:20 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 16:38:20 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/TRXC_CodecPort.ttcn: add debug print on Rx / Tx of messages In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14372 ) Change subject: library/TRXC_CodecPort.ttcn: add debug print on Rx / Tx of messages ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I04af0043c67c5904d034b60b39ddce44aa4beba9 Gerrit-Change-Number: 14372 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: Harald Welte Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Jun 4 17:12:04 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 17:12:04 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5cf6a672b4588_2441fa05f01685870@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 135s] #define PACKAGE "osmo-sysmon" [ 135s] #define VERSION "0.1.0" [ 135s] #define STDC_HEADERS 1 [ 135s] #define HAVE_SYS_TYPES_H 1 [ 135s] #define HAVE_SYS_STAT_H 1 [ 135s] #define HAVE_STDLIB_H 1 [ 135s] #define HAVE_STRING_H 1 [ 135s] #define HAVE_MEMORY_H 1 [ 135s] #define HAVE_STRINGS_H 1 [ 135s] #define HAVE_INTTYPES_H 1 [ 135s] #define HAVE_STDINT_H 1 [ 135s] #define HAVE_UNISTD_H 1 [ 135s] #define HAVE_DLFCN_H 1 [ 135s] #define LT_OBJDIR ".libs/" [ 135s] [ 135s] configure: exit 1 [ 135s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 135s] make: *** [debian/rules:45: build] Error 2 [ 135s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 135s] [ 135s] cloud121 failed "build osmo-sysmon_0.1.0.dsc" at Tue Jun 4 17:11:46 UTC 2019. [ 135s] [ 135s] ### VM INTERACTION START ### [ 138s] [ 107.343938] sysrq: SysRq : Power Off [ 138s] [ 107.357044] reboot: Power down [ 139s] ### VM INTERACTION END ### [ 139s] [ 139s] cloud121 failed "build osmo-sysmon_0.1.0.dsc" at Tue Jun 4 17:11:51 UTC 2019. [ 139s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 17:13:12 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 17:13:12 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5cf6a6b06baac_2441fa05f01685911@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 110s] #define VERSION "0.1[ 88.954107] serial8250: too much work for irq4 [ 110s] .0" [ 110s] #define STDC_HEADERS 1 [ 110s] #define HAVE_SYS_TYPES_H 1 [ 110s] #define HAVE_SYS_STAT_H 1 [ 110s] #define HAVE_STDLIB_H 1 [ 110s] #define HAVE_STRING_H 1 [ 110s] #define HAVE_MEMORY_H 1 [ 110s] #define HAVE_STRINGS_H 1 [ 110s] #define HAVE_INTTYPES_H 1 [ 110s] #define HAVE_STDINT_H 1 [ 110s] #define HAVE_UNISTD_H 1 [ 110s] #define HAVE_DLFCN_H 1 [ 110s] #define LT_OBJDIR ".libs/" [ 110s] [ 110s] configure: exit 1 [ 110s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 110s] make: *** [debian/rules:45: build] Error 2 [ 110s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 110s] [ 110s] cloud118 failed "build osmo-sysmon_0.1.0.dsc" at Tue Jun 4 17:12:54 UTC 2019. [ 110s] [ 110s] ### VM INTERACTION START ### [ 113s] [ 92.176632] sysrq: SysRq : Power Off [ 113s] [ 92.181103] reboot: Power down [ 113s] ### VM INTERACTION END ### [ 113s] [ 113s] cloud118 failed "build osmo-sysmon_0.1.0.dsc" at Tue Jun 4 17:12:58 UTC 2019. [ 113s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 17:16:38 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 17:16:38 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5cf6a781e56b3_2441fa05f016866cc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Testing/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 176s] | #define HAVE_MEMORY_H 1 [ 176s] | #define HAVE_STRINGS_H 1 [ 176s] | #define HAVE_INTTYPES_H 1 [ 176s] | #define HAVE_STDINT_H 1 [ 176s] | #define HAVE_UNISTD_H 1 [ 176s] | #define HAVE_DLFCN_H 1 [ 176s] | #define LT_OBJDIR ".libs/" [ 176s] | #define BUILD_SMPP 1 [ 176s] | #define STDC_HEADERS 1 [ 176s] | #define HAVE_DBI_DBD_H 1 [ 176s] | #define HAVE_PCAP_PCAP_H 1 [ 176s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 176s] | [ 176s] | configure: exit 0 [ 176s] [ 176s] make[1]: *** [debian/rules:30: override_dh_auto_test] Error 1 [ 176s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 176s] make: *** [debian/rules:13: build] Error 2 [ 176s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 176s] [ 176s] build33 failed "build openbsc_1.2.0.dsc" at Tue Jun 4 17:16:27 UTC 2019. [ 176s] [ 176s] ### VM INTERACTION START ### [ 179s] [ 159.776433] sysrq: SysRq : Power Off [ 179s] [ 159.790215] reboot: Power down [ 180s] ### VM INTERACTION END ### [ 180s] [ 180s] build33 failed "build openbsc_1.2.0.dsc" at Tue Jun 4 17:16:31 UTC 2019. [ 180s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 17:18:21 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 17:18:21 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5cf6a7f94c56b_2441fa05f01686931@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Unstable/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 378s] | pkg_cv_LIBOSMOABIS_CFLAGS=-I/usr/include/ [ 378s] | pkg_cv_LIBOSMOABIS_LIBS=-losmoabis [ 378s] | pkg_cv_LIBOSMOCORE_CFLAGS=-I/usr/include/ [ 378s] | pkg_cv_LIBOSMOCORE_LIBS='-ltalloc -losmocore' [ 378s] | pkg_cv_LIBOSMOCTRL_CFLAGS=-I/usr/include/ [ 378s] | pkg_cv_LIBOSMOCTRL_LIBS='-ltalloc -losmoctrl -losmogsm -losmocore' [ 378s] | pkg_cv_LIBOSMOGB_CFLAGS='-fno-strict-aliasing -I/usr/include/' [ 378s] | pkg_cv_LIBOSMOGB_LIBS='-ltalloc -losmogb -losmovty -losmocore' [ 378s] | pkg_cv_LIBOSMOGSM_CFLAGS=-I/usr/include/ [ 378s] | pkg_cv_LIBOSMOGSM_LIBS='-ltalloc -losmogsm -losmocore' [ 378s] | pkg_cv_LIBOSMONETIF_CFLAGS=-I/usr/include/ [ 378s] | pkg_cv_LIBOSMONETIF_LIBS=-losmonetif [ 378s] | pkg_cv_LIBOSMOSCCP_CFLAGS=-I/usr/include/ [ 378s] | pkg_cv_LIBOSMOSCCP_LIBS=-lsccp [ 378s] | pkg_cv_LIBOSMOVTY_CFLAGS=-I/usr/include/ [ 378s] | pkg_cv_LIBOSMOVTY_LIBS='-ltalloc -losmovty -losmocore' [ 378s] | pkg_cv_LIBSMPP34_CFLAGS=-I/usr/include/ [ 378s] | pkg_cv_LIBSMPP34_LIBS=-lsmpp34 [ 378s] | [ 378s] | ## ----------------- ## [ 378s] | ## Output variables. ## [ 378s] | ## ----------------- ## [ 378s] | [ 381s] | ACLOCAL='${SHELL} /usr[ 329.626881] sysrq: SysRq : Power Off [ 381s] [ 329.667802] reboot: Power down [ 383s] ### VM INTERACTION END ### [ 383s] [ 383s] cloud109 failed "build openbsc_1.2.0.dsc" at Tue Jun 4 17:18:10 UTC 2019. [ 383s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 17:26:38 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 17:26:38 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5cf6a9d7879e7_2441fa05f01687322@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 262s] | #define HAVE_STRINGS_H 1 [ 262s] | #define HAVE_INTTYPES_H 1 [ 262s] | #define HAVE_STDINT_H 1 [ 262s] | #define HAVE_UNISTD_H 1 [ 262s] | #define HAVE_DLFCN_H 1 [ 262s] | #define LT_OBJDIR ".libs/" [ 262s] | #define HAVE_LIBSCTP 1 [ 262s] | #define BUILD_SMPP 1 [ 262s] | #define BUILD_IU 1 [ 262s] | #define STDC_HEADERS 1 [ 262s] | #define HAVE_DBI_DBD_H 1 [ 262s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 262s] | [ 262s] | configure: exit 0 [ 262s] [ 262s] make[1]: *** [debian/rules:63: override_dh_auto_test] Error 1 [ 262s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 262s] make: *** [debian/rules:45: build] Error 2 [ 262s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 262s] [ 262s] sheep83 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 17:26:29 UTC 2019. [ 262s] [ 262s] ### VM INTERACTION START ### [ 265s] [ 253.308619] sysrq: SysRq : Power Off [ 265s] [ 253.314714] reboot: Power down [ 265s] ### VM INTERACTION END ### [ 265s] [ 265s] sheep83 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 17:26:33 UTC 2019. [ 265s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 4 17:31:29 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 04 Jun 2019 17:31:29 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5cf6ab05e986a_2441fa05f01687776@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 397s] | #define HAVE_STRINGS_H 1 [ 397s] | #define HAVE_INTTYPES_H 1 [ 397s] | #define HAVE_STDINT_H 1 [ 397s] | #define HAVE_UNISTD_H 1 [ 397s] | #define HAVE_DLFCN_H 1 [ 397s] | #define LT_OBJDIR ".libs/" [ 397s] | #define HAVE_LIBSCTP 1 [ 397s] | #define BUILD_SMPP 1 [ 397s] | #define BUILD_IU 1 [ 397s] | #define STDC_HEADERS 1 [ 397s] | #define HAVE_DBI_DBD_H 1 [ 397s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 397s] | [ 397s] | configure: exit 0 [ 397s] [ 397s] make[1]: *** [debian/rules:63: override_dh_auto_test] Error 1 [ 397s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 397s] make: *** [debian/rules:45: build] Error 2 [ 397s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 397s] [ 397s] lamb24 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 17:31:13 UTC 2019. [ 397s] [ 397s] ### VM INTERACTION START ### [ 400s] [ 381.778623] sysrq: SysRq : Power Off [ 400s] [ 381.794831] reboot: Power down [ 400s] ### VM INTERACTION END ### [ 400s] [ 400s] lamb24 failed "build osmo-msc_1.3.1.133.9d61.dsc" at Tue Jun 4 17:31:18 UTC 2019. [ 400s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Jun 4 18:46:00 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 18:46:00 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: fix TRXC port mapping between test_CT and ConnHdlr In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14370 ) Change subject: BTS_Tests.ttcn: fix TRXC port mapping between test_CT and ConnHdlr ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie7d311bf8f03bf9b1d29b5bb28ffad793f215fd1 Gerrit-Change-Number: 14370 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 04 Jun 2019 18:46:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 18:46:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 18:46:01 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: correct error messages about TRXC connection In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14369 ) Change subject: BTS_Tests.ttcn: correct error messages about TRXC connection ...................................................................... BTS_Tests.ttcn: correct error messages about TRXC connection Change-Id: Ie3dbe925b8840c0c8d8047ee5878fcdaa1395ab3 --- M bts/BTS_Tests.ttcn 1 file changed, 6 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved Hoernchen: Looks good to me, but someone else must approve diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index e48c05a..ba67889 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -465,7 +465,9 @@ res := TRXC_CodecPort_CtrlFunct.f_IPL4_connect(BTS_TRXC, mp_bts_trxc_ip, mp_bts_trxc_port, "", -1, -1, {udp:={}}, {}); if (not ispresent(res.connId)) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Could not connect to trx-control interface of trxcon, check your configuration"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Could not connect to the control (TRXC) interface " & + "of FakeTRX, check your configuration"); } g_bts_trxc_conn_id := res.connId; } @@ -1436,7 +1438,9 @@ res := TRXC_CodecPort_CtrlFunct.f_IPL4_connect(BTS_TRXC, mp_bts_trxc_ip, mp_bts_trxc_port, "", -1, -1, {udp:={}}, {}); if (not ispresent(res.connId)) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Could not connect to trx-control interface of trxcon, check your configuration"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Could not connect to the control (TRXC) interface " & + "of FakeTRX, check your configuration"); } g_bts_trxc_conn_id := res.connId; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie3dbe925b8840c0c8d8047ee5878fcdaa1395ab3 Gerrit-Change-Number: 14369 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 18:46:01 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 18:46:01 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: fix TRXC port mapping between test_CT and ConnHdlr In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14370 ) Change subject: BTS_Tests.ttcn: fix TRXC port mapping between test_CT and ConnHdlr ...................................................................... BTS_Tests.ttcn: fix TRXC port mapping between test_CT and ConnHdlr Before this patch, sending special TRXC commands to FakeTRX, such as FAKE_TOA and FAKE_RSSI, from ConnHdlr resulted in a receive timeout waiting for the response. As it turned out, both the test_CT and the ConnHdlr have a TRXC port, as depending on the test one would want to globally control it from test_CT or from within a ConnHdlr. However, only one of the two should be active (connected) at any given point in time. Otherwise we'll have two UDP sockets on the same bind port, and it's more or less random on which of them it ends up. Let's add an optional parameter 'trxc_comp', which would indicate whether we need to control TRXC from ConnHdlr or not. Let's get rid of both f_trxc_connect() and f_main_trxc_connect(), which basically do the same, but run on different components. Change-Id: Ie7d311bf8f03bf9b1d29b5bb28ffad793f215fd1 Closes: OS#4039 --- M bts/BTS_Tests.ttcn 1 file changed, 37 insertions(+), 37 deletions(-) Approvals: Jenkins Builder: Verified Hoernchen: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index ba67889..50aaee7 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -117,7 +117,7 @@ /* L1CTL port (for classic tests) */ port L1CTL_PT L1CTL; - /* TRXC port (for classic tests) */ + /* Optional TRXC connection to FakeTRX (BTS side) */ port TRXC_CODEC_PT BTS_TRXC; var integer g_bts_trxc_conn_id; @@ -160,6 +160,7 @@ type component ConnHdlr extends RSL_DchanHdlr, lapdm_test_CT { port L1CTL_PT L1CTL; + /* Optional TRXC connection to FakeTRX (BTS side) */ port TRXC_CODEC_PT BTS_TRXC; var integer g_bts_trxc_conn_id; @@ -333,6 +334,20 @@ } } +private function f_init_trxc(TRXC_CODEC_PT pt, charstring id, + out integer trxc_conn_id) { + var Result res; + + res := TRXC_CodecPort_CtrlFunct.f_IPL4_connect(pt, mp_bts_trxc_ip, mp_bts_trxc_port, + "", -1, -1, { udp := {} }, {}); + if (not ispresent(res.connId)) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Could not connect to the control (TRXC) interface " & + "of FakeTRX, check your configuration"); + } + trxc_conn_id := res.connId; +} + /* global init function */ function f_init() runs on test_CT { var charstring id := testcasename(); @@ -398,8 +413,12 @@ if (mp_bts_trxc_port != -1) { var TrxcMessage ret; + + /* Init TRXC interface to FakeTRX */ + map(self:BTS_TRXC, system:BTS_TRXC); + f_init_trxc(BTS_TRXC, id, g_bts_trxc_conn_id); + /* start with a default moderate timing offset equalling TA=2 */ - f_main_trxc_connect(); ret := f_TRXC_transceive(BTS_TRXC, g_bts_trxc_conn_id, valueof(ts_TRXC_FAKE_TIMING(2*256))); } @@ -417,7 +436,9 @@ type function void_fn(charstring id) runs on ConnHdlr; /* create a new test component */ -function f_start_handler(void_fn fn, ConnHdlrPars pars, boolean pcu_comp := false) +function f_start_handler(void_fn fn, ConnHdlrPars pars, + boolean pcu_comp := false, + boolean trxc_comp := false) runs on test_CT return ConnHdlr { var charstring id := testcasename(); var ConnHdlr vc_conn; @@ -426,13 +447,18 @@ /* connect to RSL Emulation main component */ connect(vc_conn:RSL, vc_RSL:CLIENT_PT); connect(vc_conn:RSL_PROC, vc_RSL:RSL_PROC); + + /* The ConnHdlr component may want to talk to some ports directly, + * so we disconnect it from the test_CT and connect it to the component. + * This obviously only works for one component, i.e. no concurrency. */ if (pcu_comp) { - /* the ConnHdlr component wants to talk directly to the PCU, so disconnect - * it from the test_CT and connect it to the component. This obviously only - * works for one component, i.e. no concurrency */ unmap(self:PCU, system:PCU); map(vc_conn:PCU, system:PCU); } + if (trxc_comp) { + unmap(self:BTS_TRXC, system:BTS_TRXC); + map(vc_conn:BTS_TRXC, system:BTS_TRXC); + } vc_conn.start(f_handler_init(fn, id, pars)); return vc_conn; @@ -459,19 +485,6 @@ f_L1CTL_FBSB(L1CTL, { false, mp_trx0_arfcn }, ccch_mode, mp_rxlev_exp); } -private function f_trxc_connect() runs on ConnHdlr { - map(self:BTS_TRXC, system:BTS_TRXC); - var Result res; - res := TRXC_CodecPort_CtrlFunct.f_IPL4_connect(BTS_TRXC, mp_bts_trxc_ip, mp_bts_trxc_port, - "", -1, -1, {udp:={}}, {}); - if (not ispresent(res.connId)) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, - "Could not connect to the control (TRXC) interface " & - "of FakeTRX, check your configuration"); - } - g_bts_trxc_conn_id := res.connId; -} - private function f_trxc_fake_rssi(TRXC_RSSI rssi) runs on ConnHdlr { var TrxcMessage ret; ret := f_TRXC_transceive(BTS_TRXC, g_bts_trxc_conn_id, valueof(ts_TRXC_FAKE_RSSI(rssi))); @@ -492,7 +505,7 @@ f_connect_reset(L1CTL); if (mp_bts_trxc_port != -1) { - f_trxc_connect(); + f_init_trxc(BTS_TRXC, id, g_bts_trxc_conn_id); } g_Tguard.start(pars.t_guard); @@ -1430,21 +1443,6 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } - - -private function f_main_trxc_connect() runs on test_CT { - map(self:BTS_TRXC, system:BTS_TRXC); - var Result res; - res := TRXC_CodecPort_CtrlFunct.f_IPL4_connect(BTS_TRXC, mp_bts_trxc_ip, mp_bts_trxc_port, - "", -1, -1, {udp:={}}, {}); - if (not ispresent(res.connId)) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, - "Could not connect to the control (TRXC) interface " & - "of FakeTRX, check your configuration"); - } - g_bts_trxc_conn_id := res.connId; -} - private function f_rach_toffs(int16_t toffs256, boolean expect_pass) runs on test_CT { var TrxcMessage ret; /* tell fake_trx to use a given timing offset for all bursts */ @@ -1897,7 +1895,8 @@ f_init(); for (var integer tn := 1; tn <= 4; tn := tn+1) { pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); - vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); + vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars, + pcu_comp := false, trxc_comp := true); vc_conn.done; } Misc_Helpers.f_shutdown(__BFILE__, __LINE__); @@ -2064,7 +2063,8 @@ var ConnHdlrPars pars; f_init(); pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); - vc_conn := f_start_handler(refers(f_tc_rsl_chan_initial_ta), pars); + vc_conn := f_start_handler(refers(f_tc_rsl_chan_initial_ta), pars, + pcu_comp := false, trxc_comp := true); vc_conn.done; Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie7d311bf8f03bf9b1d29b5bb28ffad793f215fd1 Gerrit-Change-Number: 14370 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: 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 Tue Jun 4 18:46:07 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 18:46:07 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: indicate default RSSI=-60 to FakeTRX In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14375 ) Change subject: BTS_Tests.ttcn: indicate default RSSI=-60 to FakeTRX ...................................................................... BTS_Tests.ttcn: indicate default RSSI=-60 to FakeTRX Change-Id: Ib13e3f8d9fbcd2722c6522a1bb5c513e34adfb18 --- M bts/BTS_Tests.ttcn 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved Hoernchen: Looks good to me, but someone else must approve diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 50aaee7..98d439a 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -418,8 +418,9 @@ map(self:BTS_TRXC, system:BTS_TRXC); f_init_trxc(BTS_TRXC, id, g_bts_trxc_conn_id); - /* start with a default moderate timing offset equalling TA=2 */ + /* Start with a default moderate timing offset equalling TA=2, and RSSI=-60 */ ret := f_TRXC_transceive(BTS_TRXC, g_bts_trxc_conn_id, valueof(ts_TRXC_FAKE_TIMING(2*256))); + ret := f_TRXC_transceive(BTS_TRXC, g_bts_trxc_conn_id, valueof(ts_TRXC_FAKE_RSSI(-60))); } /* Wait some extra time to make sure the BTS emits a stable carrier. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib13e3f8d9fbcd2722c6522a1bb5c513e34adfb18 Gerrit-Change-Number: 14375 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 18:46:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 18:46:10 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS_Tests.ttcn: fix name of f_trx_fake_toffs256() In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14371 ) Change subject: BTS_Tests.ttcn: fix name of f_trx_fake_toffs256() ...................................................................... BTS_Tests.ttcn: fix name of f_trx_fake_toffs256() Change-Id: I83a1d68ffbfc4d588e143fecc62517baac9b31af --- M bts/BTS_Tests.ttcn 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified Hoernchen: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 98d439a..e10d967 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -491,7 +491,7 @@ ret := f_TRXC_transceive(BTS_TRXC, g_bts_trxc_conn_id, valueof(ts_TRXC_FAKE_RSSI(rssi))); } -private function f_trx_fake_toffs256(int16_t toffs256) runs on ConnHdlr { +private function f_trxc_fake_toffs256(int16_t toffs256) runs on ConnHdlr { var TrxcMessage ret; ret := f_TRXC_transceive(BTS_TRXC, g_bts_trxc_conn_id, valueof(ts_TRXC_FAKE_TIMING(toffs256))); } @@ -1863,7 +1863,7 @@ if (mp_bts_trxc_port != -1) { f_trxc_fake_rssi(rxlev2dbm(mp_ul_rxlev_exp)); - f_trx_fake_toffs256(g_pars.l1_pars.timing_offset_256syms); + f_trxc_fake_toffs256(g_pars.l1_pars.timing_offset_256syms); } f_est_dchan(); @@ -2031,7 +2031,7 @@ RSL.clear; /* tell fake_trx to use a given timing offset for all bursts */ - f_trx_fake_toffs256(ta_to_test*256); + f_trxc_fake_toffs256(ta_to_test*256); f_est_dchan(more_ies :={valueof(t_RSL_IE(RSL_IE_TIMING_ADVANCE, RSL_IE_Body:{timing_adv := ta_to_test}))} ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I83a1d68ffbfc4d588e143fecc62517baac9b31af Gerrit-Change-Number: 14371 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 18:46:41 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 18:46:41 +0000 Subject: Change in ...osmo-ggsn[master]: sgsnemu: Replace use of deprecated libgtp API pdp_newpdp with new one In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14299 ) Change subject: sgsnemu: Replace use of deprecated libgtp API pdp_newpdp with new one ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I9742b82c382ae2e63f8aff4c5c32e2450059082b Gerrit-Change-Number: 14299 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 04 Jun 2019 18:46:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 18:46:45 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 18:46:45 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Introduce new pdp APIs (and deprecate old ones) to support multi... In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14296 ) Change subject: gtp: Introduce new pdp APIs (and deprecate old ones) to support multiple GSN ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I653cbdc185165592d985e3efab6e3f1add97877b Gerrit-Change-Number: 14296 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 18:46: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 4 18:46:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 18:46:47 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Make use of new libgtp APIs with multi-gsn support In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14297 ) Change subject: gtp: Make use of new libgtp APIs with multi-gsn support ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ibf56a063f01d1f95a2a3271416da6e062e85fdfa Gerrit-Change-Number: 14297 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 Jun 2019 18:46: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 4 18:46:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 18:46:49 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn_vty_reference.xml: Update from last code changes In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14358 ) Change subject: ggsn_vty_reference.xml: Update from last code changes ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5de2e5223e4532bbbec77b928fbdecb57ef2bca7 Gerrit-Change-Number: 14358 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 18:46: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 4 18:46:51 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 18:46:51 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: vty: Require ggsn param in cmd In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14298 ) Change subject: ggsn: vty: Require ggsn param in cmd ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I8357e20076348c8ded5e9f5b8e7252566b0fbfea Gerrit-Change-Number: 14298 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 Jun 2019 18:46: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 4 18:46:53 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 18:46:53 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Introduce new pdp APIs (and deprecate old ones) to support multi... In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14296 ) Change subject: gtp: Introduce new pdp APIs (and deprecate old ones) to support multiple GSN ...................................................................... gtp: Introduce new pdp APIs (and deprecate old ones) to support multiple GSN Move static global pdp storage arrays to be per GSN. This way now several GSN per process are supported without collisions. * pdp_init() is defined in public API but it's actually only intended for use (and currently only used) internally in gtp_new(). So let's document that and re-use it for backward compatibility with now deprecated API, where only one GSN per process is supported. * Back pointer to gsn_t (pdp->gsn) moved from gtp.c:gtp_new() to gtp_pdp_newpdp(), since it makes more sense to have it there. This way backpointer is always set, even in case were app calls pdp_newpdp() API directly instead of creating them through gtp.c, like osmo-sgsn does. * Create new versions of required APIs with a pointer to gsn_t where the pdp ctx is to be created/found. Some APIs receiving a pointer to a pdp ctx can be left intact because we have a backpointer to its gsn_t. * pdp_getpdp() is nowhere used, and makes little sense now that we have pdpa reachable in gsn->pdpa, so let's deprecate it without adding a replacement. * Deprecate gtp.h gtp_newpdp(), since it's nowhere used and useless (does same as new gtp_pdp_newpdp() and doesn't allow for old_pdp to be passed as parameter). Fixes: OS#2873 Change-Id: I653cbdc185165592d985e3efab6e3f1add97877b --- M TODO-RELEASE M gtp/gtp.c M gtp/gtp.h M gtp/pdp.c M gtp/pdp.h 5 files changed, 90 insertions(+), 37 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index d0852fc..a3d63ac 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -7,3 +7,6 @@ # 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 +libgtp Several new APIs added see I653cbdc185165592d985e3efab6e3f1add97877b +libgtp API (non-used externally) pdp_init modified see I653cbdc185165592d985e3efab6e3f1add97877b +libgtp Several pdp_* APIs marked as deprecated see I653cbdc185165592d985e3efab6e3f1add97877b diff --git a/gtp/gtp.c b/gtp/gtp.c index 2b14026..84b8844 100644 --- a/gtp/gtp.c +++ b/gtp/gtp.c @@ -131,16 +131,12 @@ { 0, NULL } }; -/* gtp_new */ -/* gtp_free */ - +/* Deprecated, use gtp_pdp_newpdp() instead */ int gtp_newpdp(struct gsn_t *gsn, struct pdp_t **pdp, uint64_t imsi, uint8_t nsapi) { int rc; - rc = pdp_newpdp(pdp, imsi, nsapi, NULL); - if (!rc && *pdp) - (*pdp)->gsn = gsn; + rc = gtp_pdp_newpdp(gsn, pdp, imsi, nsapi, NULL); return rc; } @@ -849,7 +845,7 @@ queue_new(&(*gsn)->queue_resp); /* Initialise pdp table */ - pdp_init(); + pdp_init(*gsn); /* Initialise call back functions */ (*gsn)->cb_create_context_ind = 0; @@ -1681,9 +1677,7 @@ } } - pdp_newpdp(&pdp, pdp->imsi, pdp->nsapi, pdp); - if (pdp) - pdp->gsn = gsn; + gtp_pdp_newpdp(gsn, &pdp, pdp->imsi, pdp->nsapi, pdp); /* Callback function to validate login */ if (gsn->cb_create_context_ind != 0) diff --git a/gtp/gtp.h b/gtp/gtp.h index ec6aef3..c2c5122 100644 --- a/gtp/gtp.h +++ b/gtp/gtp.h @@ -15,6 +15,8 @@ #include #include +#include "pdp.h" + #define GTP_MODE_GGSN 1 #define GTP_MODE_SGSN 2 @@ -263,6 +265,9 @@ struct queue_t *queue_req; /* Request queue */ struct queue_t *queue_resp; /* Response queue */ + struct pdp_t pdpa[PDP_MAX]; /* PDP storage */ + struct pdp_t *hashtid[PDP_MAX]; /* Hash table for IMSI + NSAPI */ + /* Call back functions */ int (*cb_delete_context) (struct pdp_t *); int (*cb_create_context_ind) (struct pdp_t *); @@ -307,7 +312,7 @@ extern int gtp_free(struct gsn_t *gsn); extern int gtp_newpdp(struct gsn_t *gsn, struct pdp_t **pdp, - uint64_t imsi, uint8_t nsapi); + uint64_t imsi, uint8_t nsapi) OSMO_DEPRECATED("Use gtp_pdp_newpdp() instead"); extern int gtp_freepdp(struct gsn_t *gsn, struct pdp_t *pdp); extern int gtp_freepdp_teardown(struct gsn_t *gsn, struct pdp_t *pdp); diff --git a/gtp/pdp.c b/gtp/pdp.c index a5146e9..d745916 100644 --- a/gtp/pdp.c +++ b/gtp/pdp.c @@ -33,13 +33,6 @@ #include "lookupa.h" /* *********************************************************** - * Global variables TODO: most should be moved to gsn_t - *************************************************************/ - -static struct pdp_t pdpa[PDP_MAX]; /* PDP storage */ -static struct pdp_t *hashtid[PDP_MAX]; /* Hash table for IMSI + NSAPI */ - -/* *********************************************************** * Functions related to PDP storage * * Lifecycle @@ -111,11 +104,16 @@ * *************************************************************/ -int pdp_init() +static struct gsn_t *g_gsn; + +int pdp_init(struct gsn_t *gsn) { - memset(&pdpa, 0, sizeof(pdpa)); - memset(&hashtid, 0, sizeof(hashtid)); - /* memset(&haship, 0, sizeof(haship)); */ + if(!g_gsn) { + g_gsn = gsn; + } else { + LOGP(DLGTP, LOGL_FATAL, "This interface is depreacted and doesn't support multiple GGSN!"); + return -1; + } return 0; } @@ -123,6 +121,13 @@ int pdp_newpdp(struct pdp_t **pdp, uint64_t imsi, uint8_t nsapi, struct pdp_t *pdp_old) { + return gtp_pdp_newpdp(g_gsn, pdp, imsi, nsapi, pdp_old); +} + +int gtp_pdp_newpdp(struct gsn_t *gsn, struct pdp_t **pdp, uint64_t imsi, uint8_t nsapi, + struct pdp_t *pdp_old) +{ + struct pdp_t *pdpa = gsn->pdpa; int n; for (n = 0; n < PDP_MAX; n++) { /* TODO: Need to do better than linear search */ if (pdpa[n].inuse == 0) { @@ -132,6 +137,7 @@ else memset(*pdp, 0, sizeof(struct pdp_t)); (*pdp)->inuse = 1; + (*pdp)->gsn = gsn; (*pdp)->imsi = imsi; (*pdp)->nsapi = nsapi; (*pdp)->fllc = (uint16_t) n + 1; @@ -159,6 +165,8 @@ int pdp_freepdp(struct pdp_t *pdp) { + struct pdp_t *pdpa = pdp->gsn->pdpa; + pdp_tiddel(pdp); /* Remove any references in primary context */ @@ -173,12 +181,20 @@ int pdp_getpdp(struct pdp_t **pdp) { - *pdp = &pdpa[0]; + *pdp = &g_gsn->pdpa[0]; return 0; } int pdp_getgtp0(struct pdp_t **pdp, uint16_t fl) { + return gtp_pdp_getgtp0(g_gsn, pdp, fl); +} + + +int gtp_pdp_getgtp0(struct gsn_t *gsn, struct pdp_t **pdp, uint16_t fl) +{ + struct pdp_t *pdpa = gsn->pdpa; + if ((fl > PDP_MAX) || (fl < 1)) { return EOF; /* Not found */ } else { @@ -193,6 +209,13 @@ int pdp_getgtp1(struct pdp_t **pdp, uint32_t tei) { + return gtp_pdp_getgtp1(g_gsn, pdp, tei); +} + +int gtp_pdp_getgtp1(struct gsn_t *gsn, struct pdp_t **pdp, uint32_t tei) +{ + struct pdp_t *pdpa = gsn->pdpa; + if ((tei > PDP_MAX) || (tei < 1)) { return EOF; /* Not found */ } else { @@ -208,6 +231,12 @@ /* get a PDP based on the *peer* address + TEI-Data. Used for matching inbound Error Ind */ int pdp_getgtp1_peer_d(struct pdp_t **pdp, const struct sockaddr_in *peer, uint32_t teid_gn) { + return gtp_pdp_getgtp1_peer_d(g_gsn, pdp, peer, teid_gn); +} + +int gtp_pdp_getgtp1_peer_d(struct gsn_t *gsn, struct pdp_t **pdp, const struct sockaddr_in *peer, uint32_t teid_gn) +{ + struct pdp_t *pdpa = gsn->pdpa; unsigned int i; /* this is O(n) but we don't have (nor want) another hash... */ @@ -230,6 +259,7 @@ int pdp_tidset(struct pdp_t *pdp, uint64_t tid) { + struct pdp_t **hashtid = pdp->gsn->hashtid; int hash = pdp_tidhash(tid); struct pdp_t *pdp2; struct pdp_t *pdp_prev = NULL; @@ -248,6 +278,7 @@ int pdp_tiddel(struct pdp_t *pdp) { + struct pdp_t **hashtid = pdp->gsn->hashtid; int hash = pdp_tidhash(pdp->tid); struct pdp_t *pdp2; struct pdp_t *pdp_prev = NULL; @@ -269,6 +300,12 @@ int pdp_tidget(struct pdp_t **pdp, uint64_t tid) { + return gtp_pdp_tidget(g_gsn, pdp, tid); +} + +int gtp_pdp_tidget(struct gsn_t *gsn, struct pdp_t **pdp, uint64_t tid) +{ + struct pdp_t **hashtid = gsn->hashtid; int hash = pdp_tidhash(tid); struct pdp_t *pdp2; DEBUGP(DLGTP, "Begin pdp_tidget tid = %"PRIx64"\n", tid); @@ -285,7 +322,12 @@ int pdp_getimsi(struct pdp_t **pdp, uint64_t imsi, uint8_t nsapi) { - return pdp_tidget(pdp, + return gtp_pdp_getimsi(g_gsn, pdp, imsi, nsapi); +} + +int gtp_pdp_getimsi(struct gsn_t *gsn, struct pdp_t **pdp, uint64_t imsi, uint8_t nsapi) +{ + return gtp_pdp_tidget(gsn, pdp, (imsi & 0x0fffffffffffffffull) + ((uint64_t) nsapi << 60)); } diff --git a/gtp/pdp.h b/gtp/pdp.h index a287113..9527464 100644 --- a/gtp/pdp.h +++ b/gtp/pdp.h @@ -15,6 +15,8 @@ #include +#include + struct gsn_t; #define LOGPDPX(ss, level, pdp, fmt, args...) \ @@ -235,33 +237,40 @@ /* to be used by libgtp callers/users (to attach their own private state) */ void *priv; - struct gsn_t *gsn; + struct gsn_t *gsn; /* Back pointer to GSN where this pdp ctx belongs to */ bool tx_gpdu_seq; /* Transmit (true) or suppress G-PDU sequence numbers */ }; /* functions related to pdp_t management */ -int pdp_init(); -int pdp_newpdp(struct pdp_t **pdp, uint64_t imsi, uint8_t nsapi, - struct pdp_t *pdp_old); +int gtp_pdp_newpdp(struct gsn_t *gsn, struct pdp_t **pdp, uint64_t imsi, + uint8_t nsapi, struct pdp_t *pdp_old); int pdp_freepdp(struct pdp_t *pdp); -int pdp_getpdp(struct pdp_t **pdp); - -int pdp_getgtp0(struct pdp_t **pdp, uint16_t fl); -int pdp_getgtp1(struct pdp_t **pdp, uint32_t tei); -int pdp_getgtp1_peer_d(struct pdp_t **pdp, const struct sockaddr_in *peer, uint32_t teid_gn); - -int pdp_getimsi(struct pdp_t **pdp, uint64_t imsi, uint8_t nsapi); +int gtp_pdp_getgtp0(struct gsn_t *gsn, struct pdp_t **pdp, uint16_t fl); +int gtp_pdp_getgtp1(struct gsn_t *gsn, struct pdp_t **pdp, uint32_t tei); +int gtp_pdp_getgtp1_peer_d(struct gsn_t *gsn, struct pdp_t **pdp, const struct sockaddr_in *peer, uint32_t teid_gn); +int gtp_pdp_getimsi(struct gsn_t *gsn, struct pdp_t **pdp, uint64_t imsi, uint8_t nsapi); +int gtp_pdp_tidget(struct gsn_t *gsn, struct pdp_t **pdp, uint64_t tid); int pdp_tidhash(uint64_t tid); int pdp_tidset(struct pdp_t *pdp, uint64_t tid); int pdp_tiddel(struct pdp_t *pdp); -int pdp_tidget(struct pdp_t **pdp, uint64_t tid); +uint64_t pdp_gettid(uint64_t imsi, uint8_t nsapi); void pdp_set_imsi_nsapi(struct pdp_t *pdp, uint64_t teid); unsigned int pdp_count_secondary(struct pdp_t *pdp); -uint64_t pdp_gettid(uint64_t imsi, uint8_t nsapi); +/* Deprecated APIs (support for only 1 GSN per process). Must be used only after first call to gtp_new() and until it is freed. */ +int pdp_init(struct gsn_t *gsn); /* Use only allowed inside libgtp to keep compatiblity with deprecated APIs defined here. */ +int pdp_newpdp(struct pdp_t **pdp, uint64_t imsi, uint8_t nsapi, + struct pdp_t *pdp_old) OSMO_DEPRECATED("Use gtp_pdp_newpdp() instead"); +int pdp_getpdp(struct pdp_t **pdp) OSMO_DEPRECATED("Use gsn_t->pdpa field instead"); +int pdp_getgtp0(struct pdp_t **pdp, uint16_t fl) OSMO_DEPRECATED("Use gtp_pdp_getgtp0() instead"); +int pdp_getgtp1(struct pdp_t **pdp, uint32_t tei) OSMO_DEPRECATED("Use gtp_pdp_getgtp1() instead"); +int pdp_getgtp1_peer_d(struct pdp_t **pdp, const struct sockaddr_in *peer, uint32_t teid_gn) OSMO_DEPRECATED("Use gtp_pdp_getgtp1_peer_d() instead"); +int pdp_getimsi(struct pdp_t **pdp, uint64_t imsi, uint8_t nsapi) OSMO_DEPRECATED("Use gtp_pdp_getimsi() instead"); +int pdp_tidget(struct pdp_t **pdp, uint64_t tid) OSMO_DEPRECATED("Use gtp_pdp_tidget() instead"); + #endif /* !_PDP_H */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I653cbdc185165592d985e3efab6e3f1add97877b Gerrit-Change-Number: 14296 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 18:46:54 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 18:46:54 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Make use of new libgtp APIs with multi-gsn support In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14297 ) Change subject: gtp: Make use of new libgtp APIs with multi-gsn support ...................................................................... gtp: Make use of new libgtp APIs with multi-gsn support Drop use of deprecated APIs everywhere in libgtp and use the new ones instead. Related: OS#2873 Change-Id: Ibf56a063f01d1f95a2a3271416da6e062e85fdfa --- M gtp/gtp.c 1 file changed, 22 insertions(+), 23 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/gtp/gtp.c b/gtp/gtp.c index 84b8844..94c3245 100644 --- a/gtp/gtp.c +++ b/gtp/gtp.c @@ -156,9 +156,8 @@ for (n = 0; n < PDP_MAXNSAPI; n++) { if (pdp->secondary_tei[n]) { - if (pdp_getgtp1 - (&secondary_pdp, - pdp->secondary_tei[n])) { + if (gtp_pdp_getgtp1(gsn, &secondary_pdp, + pdp->secondary_tei[n])) { LOGP(DLGTP, LOGL_ERROR, "Unknown secondary PDP context\n"); continue; @@ -1150,7 +1149,7 @@ Protocol Configuration Options */ if (pdp->secondary) { - if (pdp_getgtp1(&linked_pdp, pdp->teic_own)) { + if (gtp_pdp_getgtp1(gsn, &linked_pdp, pdp->teic_own)) { LOGP(DLGTP, LOGL_ERROR, "Unknown linked PDP context: %u\n", pdp->teic_own); return EOF; @@ -1430,7 +1429,7 @@ if (!gtpie_gettv1(ie, GTPIE_NSAPI, 1, &linked_nsapi)) { /* Find the primary PDP context */ - if (pdp_getgtp1(&linked_pdp, get_tei(pack))) { + if (gtp_pdp_getgtp1(gsn, &linked_pdp, get_tei(pack))) { gsn->incorrect++; GTP_LOGPKG(LOGL_ERROR, peer, pack, len, @@ -1613,9 +1612,9 @@ in_addr2gsna(&pdp->gsnlc, &gsn->gsnc); in_addr2gsna(&pdp->gsnlu, &gsn->gsnu); - DEBUGP(DLGTP, "gtp_create_pdp_ind: Before pdp_tidget\n"); + DEBUGP(DLGTP, "gtp_create_pdp_ind: Before gtp_pdp_tidget\n"); - if (!pdp_getimsi(&pdp_old, pdp->imsi, pdp->nsapi)) { + if (!gtp_pdp_getimsi(gsn, &pdp_old, pdp->imsi, pdp->nsapi)) { /* Found old pdp with same tid. Now the voodoo begins! */ /* 09.60 / 29.060 allows create on existing context to "steal" */ /* the context which was allready established */ @@ -1709,7 +1708,7 @@ return EOF; /* Find the context in question */ - if (pdp_getgtp1(&pdp, get_tei(pack))) { + if (gtp_pdp_getgtp1(gsn, &pdp, get_tei(pack))) { gsn->err_unknownpdp++; GTP_LOGPKG(LOGL_ERROR, peer, pack, len, "Unknown PDP context: %u\n", get_tei(pack)); @@ -2091,7 +2090,7 @@ pdp_set_imsi_nsapi(pdp, tid); /* Find the context in question */ - if (pdp_getimsi(&pdp, imsi, nsapi)) { + if (gtp_pdp_getimsi(gsn, &pdp, imsi, nsapi)) { gsn->err_unknownpdp++; GTP_LOGPKG(LOGL_ERROR, peer, pack, len, "Unknown PDP context\n"); @@ -2113,7 +2112,7 @@ /* IMSI (conditional) */ if (gtpie_gettv0(ie, GTPIE_IMSI, 0, &imsi, sizeof(imsi))) { /* Find the context in question */ - if (pdp_getgtp1(&pdp, get_tei(pack))) { + if (gtp_pdp_getgtp1(gsn, &pdp, get_tei(pack))) { gsn->err_unknownpdp++; GTP_LOGPKG(LOGL_ERROR, peer, pack, len, "Unknown PDP context: %u\n", @@ -2124,7 +2123,7 @@ } } else { /* Find the context in question */ - if (pdp_getimsi(&pdp, imsi, nsapi)) { + if (gtp_pdp_getimsi(gsn, &pdp, imsi, nsapi)) { gsn->err_unknownpdp++; GTP_LOGPKG(LOGL_ERROR, peer, pack, len, "Unknown PDP context\n"); @@ -2290,7 +2289,7 @@ return EOF; /* Find the context in question */ - if (pdp_getgtp1(&pdp, get_tei(pack))) { + if (gtp_pdp_getgtp1(gsn, &pdp, get_tei(pack))) { gsn->err_unknownpdp++; GTP_LOGPKG(LOGL_ERROR, peer, pack, len, "Unknown PDP context: %u\n", get_tei(pack)); @@ -2391,7 +2390,7 @@ { struct pdp_t *linked_pdp; - if (pdp_getgtp1(&linked_pdp, pdp->teic_own)) { + if (gtp_pdp_getgtp1(gsn, &linked_pdp, pdp->teic_own)) { LOGP(DLGTP, LOGL_ERROR, "Unknown linked PDP context: %u\n", pdp->teic_own); return EOF; @@ -2447,7 +2446,7 @@ return EOF; } - if (pdp_getgtp1(&linked_pdp, pdp->teic_own)) { + if (gtp_pdp_getgtp1(gsn, &linked_pdp, pdp->teic_own)) { LOGP(DLGTP, LOGL_ERROR, "Unknown linked PDP context: %u\n", pdp->teic_own); return EOF; @@ -2543,7 +2542,7 @@ } /* Find the linked context in question */ - if (pdp_getgtp1(&linked_pdp, get_tei(pack))) { + if (gtp_pdp_getgtp1(gsn, &linked_pdp, get_tei(pack))) { gsn->err_unknownpdp++; GTP_LOGPKG(LOGL_ERROR, peer, pack, len, "Unknown PDP context: %u\n", get_tei(pack)); @@ -2583,7 +2582,7 @@ } /* Find the context in question */ - if (pdp_getgtp1(&pdp, linked_pdp->secondary_tei[nsapi & 0x0f])) { + if (gtp_pdp_getgtp1(gsn, &pdp, linked_pdp->secondary_tei[nsapi & 0x0f])) { gsn->err_unknownpdp++; GTP_LOGPKG(LOGL_ERROR, peer, pack, len, "Unknown PDP context\n"); @@ -2636,7 +2635,7 @@ /* Find the context in question. It may not be available if gtp_delete_context_req * was used and as a result the PDP ctx was already freed */ - if (pdp_getgtp1(&pdp, get_tei(pack))) { + if (gtp_pdp_getgtp1(gsn, &pdp, get_tei(pack))) { gsn->err_unknownpdp++; GTP_LOGPKG(LOGL_NOTICE, peer, pack, len, "Unknown PDP context: %u (expected if gtp_delete_context_req is used or pdp ctx was freed manually before response)\n", @@ -2714,7 +2713,7 @@ /* Find the context in question */ if (version == 0) { - if (pdp_tidget(&pdp, be64toh(((union gtp_packet *)pack)->gtp0.h.tid))) { + if (gtp_pdp_tidget(gsn, &pdp, be64toh(((union gtp_packet *)pack)->gtp0.h.tid))) { gsn->err_unknownpdp++; GTP_LOGPKG(LOGL_ERROR, peer, pack, len, "Unknown PDP context\n"); @@ -2740,7 +2739,7 @@ return EOF; } - if (pdp_getgtp1_peer_d(&pdp, peer, teid_gn)) { + if (gtp_pdp_getgtp1_peer_d(gsn, &pdp, peer, teid_gn)) { gsn->err_unknownpdp++; GTP_LOGPKG(LOGL_ERROR, peer, pack, len, "Unknown PDP context\n"); return EOF; @@ -2770,8 +2769,8 @@ switch (version) { case 0: - if (pdp_getgtp0 - (&pdp, ntoh16(((union gtp_packet *)pack)->gtp0.h.flow))) { + if (gtp_pdp_getgtp0(gsn, &pdp, + ntoh16(((union gtp_packet *)pack)->gtp0.h.flow))) { gsn->err_unknownpdp++; GTP_LOGPKG(LOGL_ERROR, peer, pack, len, "Unknown PDP context, GTPv0\n"); @@ -2781,8 +2780,8 @@ hlen = GTP0_HEADER_SIZE; break; case 1: - if (pdp_getgtp1 - (&pdp, ntoh32(((union gtp_packet *)pack)->gtp1l.h.tei))) { + if (gtp_pdp_getgtp1(gsn, &pdp, + ntoh32(((union gtp_packet *)pack)->gtp1l.h.tei))) { gsn->err_unknownpdp++; GTP_LOGPKG(LOGL_ERROR, peer, pack, len, "Unknown PDP context, GTPv1\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ibf56a063f01d1f95a2a3271416da6e062e85fdfa Gerrit-Change-Number: 14297 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte 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 4 18:46:54 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 18:46:54 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn_vty_reference.xml: Update from last code changes In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14358 ) Change subject: ggsn_vty_reference.xml: Update from last code changes ...................................................................... ggsn_vty_reference.xml: Update from last code changes Change-Id: I5de2e5223e4532bbbec77b928fbdecb57ef2bca7 --- M doc/manuals/vty/ggsn_vty_reference.xml 1 file changed, 52 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/doc/manuals/vty/ggsn_vty_reference.xml b/doc/manuals/vty/ggsn_vty_reference.xml index 7460026..a226f8f 100644 --- a/doc/manuals/vty/ggsn_vty_reference.xml +++ b/doc/manuals/vty/ggsn_vty_reference.xml @@ -187,7 +187,7 @@ - + @@ -214,6 +214,7 @@ + @@ -332,14 +333,22 @@ - + - - + + + + + + + + + + @@ -351,6 +360,16 @@ + + + + + + + + + + @@ -526,7 +545,7 @@ - + @@ -553,6 +572,7 @@ + @@ -671,14 +691,22 @@ - + - - + + + + + + + + + + @@ -690,6 +718,16 @@ + + + + + + + + + + @@ -821,7 +859,8 @@ - + + @@ -1020,7 +1059,7 @@ - + @@ -1047,6 +1086,7 @@ + @@ -1169,10 +1209,11 @@ - + + -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I5de2e5223e4532bbbec77b928fbdecb57ef2bca7 Gerrit-Change-Number: 14358 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 18:46:54 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 18:46:54 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: vty: Require ggsn param in cmd In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14298 ) Change subject: ggsn: vty: Require ggsn param in cmd ...................................................................... ggsn: vty: Require ggsn param in cmd Other similar commands already do it. This way we also get rid of deprecated APIs, supporting search when more than one GSN is set up. Related: OS#2873 Change-Id: I8357e20076348c8ded5e9f5b8e7252566b0fbfea --- M doc/manuals/vty/ggsn_vty_reference.xml M ggsn/ggsn_vty.c 2 files changed, 22 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/doc/manuals/vty/ggsn_vty_reference.xml b/doc/manuals/vty/ggsn_vty_reference.xml index a226f8f..a395b23 100644 --- a/doc/manuals/vty/ggsn_vty_reference.xml +++ b/doc/manuals/vty/ggsn_vty_reference.xml @@ -351,10 +351,12 @@ - + + + @@ -709,10 +711,12 @@ - + + + diff --git a/ggsn/ggsn_vty.c b/ggsn/ggsn_vty.c index 9101361..eb7cca7 100644 --- a/ggsn/ggsn_vty.c +++ b/ggsn/ggsn_vty.c @@ -764,25 +764,35 @@ } DEFUN(show_pdpctx_imsi, show_pdpctx_imsi_cmd, - "show pdp-context imsi IMSI [<0-15>]", + "show pdp-context ggsn NAME imsi IMSI [<0-15>]", SHOW_STR "Display information on PDP Context\n" + GGSN_STR "GGSN Name\n" "PDP contexts for given IMSI\n" "PDP context for given NSAPI\n") { - uint64_t imsi = strtoull(argv[0], NULL, 10); + struct ggsn_ctx *ggsn; + uint64_t imsi; unsigned int nsapi; struct pdp_t *pdp; int num_found = 0; - if (argc > 1) { - nsapi = atoi(argv[1]); - if (pdp_getimsi(&pdp, imsi, nsapi)) { + ggsn = ggsn_find(argv[0]); + if (!ggsn) { + vty_out(vty, "%% No such GGSN '%s'%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + imsi = strtoull(argv[1], NULL, 10); + + if (argc > 2) { + nsapi = atoi(argv[2]); + if (gtp_pdp_getimsi(ggsn->gsn, &pdp, imsi, nsapi)) { show_one_pdp(vty, pdp); num_found++; } } else { for (nsapi = 0; nsapi < PDP_MAXNSAPI; nsapi++) { - if (pdp_getimsi(&pdp, imsi, nsapi)) + if (gtp_pdp_getimsi(ggsn->gsn, &pdp, imsi, nsapi)) continue; show_one_pdp(vty, pdp); num_found++; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I8357e20076348c8ded5e9f5b8e7252566b0fbfea Gerrit-Change-Number: 14298 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte 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 4 18:46:54 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 18:46:54 +0000 Subject: Change in ...osmo-ggsn[master]: sgsnemu: Replace use of deprecated libgtp API pdp_newpdp with new one In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14299 ) Change subject: sgsnemu: Replace use of deprecated libgtp API pdp_newpdp with new one ...................................................................... sgsnemu: Replace use of deprecated libgtp API pdp_newpdp with new one Related: OS#2873 Change-Id: I9742b82c382ae2e63f8aff4c5c32e2450059082b --- M sgsnemu/sgsnemu.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c index 225dc59..36b52fc 100644 --- a/sgsnemu/sgsnemu.c +++ b/sgsnemu/sgsnemu.c @@ -1614,7 +1614,7 @@ /* Allocated here. */ /* If create context failes we have to deallocate ourselves. */ /* Otherwise it is deallocated by gtplib */ - pdp_newpdp(&pdp, myimsi, options.nsapi, NULL); + gtp_pdp_newpdp(gsn, &pdp, myimsi, options.nsapi, NULL); pdp->peer[0] = &iparr[n]; /* FIXME: support v4v6, have 2 peers */ pdp->ipif = tun; /* TODO */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I9742b82c382ae2e63f8aff4c5c32e2450059082b Gerrit-Change-Number: 14299 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 18:48:47 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 18:48:47 +0000 Subject: Change in ...osmo-sgsn[master]: doc/manuals/vty: regenerate sgsn_vty_reference.xml Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14377 Change subject: doc/manuals/vty: regenerate sgsn_vty_reference.xml ...................................................................... doc/manuals/vty: regenerate sgsn_vty_reference.xml Change-Id: I3dfe3598055457cc9724a371590e676f1920652b --- M doc/manuals/vty/sgsn_vty_reference.xml 1 file changed, 21 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/77/14377/1 diff --git a/doc/manuals/vty/sgsn_vty_reference.xml b/doc/manuals/vty/sgsn_vty_reference.xml index 52d4213..7619215 100644 --- a/doc/manuals/vty/sgsn_vty_reference.xml +++ b/doc/manuals/vty/sgsn_vty_reference.xml @@ -187,7 +187,7 @@ - + @@ -222,6 +222,7 @@ + @@ -733,7 +734,7 @@ - + @@ -768,6 +769,7 @@ + @@ -1488,7 +1490,8 @@ - + + @@ -1518,7 +1521,7 @@ - + @@ -1553,6 +1556,7 @@ + @@ -1696,10 +1700,11 @@ - + + @@ -1762,7 +1767,7 @@ - + @@ -1772,6 +1777,7 @@ + @@ -2234,6 +2240,13 @@ + + + + + + + @@ -2325,7 +2338,8 @@ - + + -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I3dfe3598055457cc9724a371590e676f1920652b Gerrit-Change-Number: 14377 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 4 18:50:41 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 18:50:41 +0000 Subject: Change in ...osmo-sgsn[master]: osmo-sgsn: add VTY parameter to toggle authentication In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14194 ) Change subject: osmo-sgsn: add VTY parameter to toggle authentication ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I9909145e7e0af587c28827e16301a61b13eedaa9 Gerrit-Change-Number: 14194 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 04 Jun 2019 18:50: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 4 19:45:09 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 19:45:09 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: start-testsuite.sh: do not override LD_LIBRARY_PATH In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14374 ) Change subject: start-testsuite.sh: do not override LD_LIBRARY_PATH ...................................................................... start-testsuite.sh: do not override LD_LIBRARY_PATH The Eclipse titan.core may not only be installed to hard-coded '/usr/lib/titan' patch, but to any other location too. In the later case, one would have to make sure that the custom path is in $LD_LIBRARY_PATH. So we shall not override it. Change-Id: I1ec28e8c3081d5de1bea90a7451791ac8cbbd27c --- M start-testsuite.sh 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/start-testsuite.sh b/start-testsuite.sh index 5740d3d..31bc891 100755 --- a/start-testsuite.sh +++ b/start-testsuite.sh @@ -21,7 +21,8 @@ TEST=$3 fi -LD_LIBRARY_PATH="$SUITE_DIR:/usr/lib/titan:/usr/ttcn3/lib" ttcn3_start $SUITE $CFG $TEST +TITAN_LIBRARY_PATH="/usr/lib/titan:/usr/ttcn3/lib" +LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$SUITE_DIR:$TITAN_LIBRARY_PATH" ttcn3_start $SUITE $CFG $TEST expected="$SUITE_DIR/expected-results.xml" if [ ! -f "$expected" ]; then -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1ec28e8c3081d5de1bea90a7451791ac8cbbd27c Gerrit-Change-Number: 14374 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 20:53:40 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 20:53:40 +0000 Subject: Change in ...osmo-msc[master]: libmsc/db.c: fix potential integer overflow In-Reply-To: References: Message-ID: Hello pespin, Neels Hofmeyr, Harald Welte, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/13470 to look at the new patch set (#9). Change subject: libmsc/db.c: fix potential integer overflow ...................................................................... libmsc/db.c: fix potential integer overflow The value of 'sms->user_data_len' is fetched from the database: sms->user_data_len = dbi_result_get_field_length(result, "user_data"); and this is where the problem is. As per the libdbi's documentation (see 3.5.3), dbi_result_get_field_length() returns the length in bytes of the value stored in the specified field: unsigned int dbi_result_get_field_length(dbi_result Result, const char *fieldname) so 'unsigned int' is assigned to 'uint8_t', what could lead to an integer overflow if the value is grather than 0xff. As a result, if the database for some reason does contain such odd TP-UD, the truncation of 'user_data' would be done incorrectly. Let's avoid such direct assignment, and use a separate variable. Also, let's warn user if TP-UDL value is grether than 140, as per 3GPP TS 03.40. Change-Id: Ibbd588545e1a4817504c806a3d02cf59d5938ee2 Related: OS#3684 --- M src/libmsc/db.c 1 file changed, 27 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/70/13470/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ibbd588545e1a4817504c806a3d02cf59d5938ee2 Gerrit-Change-Number: 13470 Gerrit-PatchSet: 9 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr 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 4 20:53:40 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 20:53:40 +0000 Subject: Change in ...osmo-msc[master]: libmsc/db.c: introduce and use parse_sm_ud_from_result() 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/+/13488 to look at the new patch set (#7). Change subject: libmsc/db.c: introduce and use parse_sm_ud_from_result() ...................................................................... libmsc/db.c: introduce and use parse_sm_ud_from_result() The following functions: - sms_from_result(), - sms_from_result_v3(), - sms_from_result_v4(), do retrieve the TP-UD, TP-UDL and text in the same way. A consequence of such duplication is [1], which fixed potential NULL-pointer dereference for sms_from_result(), but not for two other functions: sms_from_result_v3() and sms_from_result_v4(). [1] I545967464c406348b8505d1729213cfb4afcd3e2 Change-Id: If67dfb9f7d2a55fa3d45dc4689a2acff9909faf6 --- M src/libmsc/db.c 1 file changed, 37 insertions(+), 49 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/88/13488/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If67dfb9f7d2a55fa3d45dc4689a2acff9909faf6 Gerrit-Change-Number: 13488 Gerrit-PatchSet: 7 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 4 21:05:17 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 21:05:17 +0000 Subject: Change in ...osmo-msc[master]: libmsc/db.c: properly get / set TP-UD length (octets vs septets) In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/13490 ) Change subject: libmsc/db.c: properly get / set TP-UD length (octets vs septets) ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I84f973bc6561a9822b4b26975a781abd2b6e026a Gerrit-Change-Number: 13490 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Assignee: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: fixeria Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 21:06:06 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 4 Jun 2019 21:06:06 +0000 Subject: Change in ...osmo-msc[master]: libmsc/db.c: get rid of hard-coded SMS expiry threshold In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/13631 ) Change subject: libmsc/db.c: get rid of hard-coded SMS expiry threshold ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0ce6b1ab50986dc69a2be4ea62b6a24c7f3f8f0a Gerrit-Change-Number: 13631 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Stefan Sperling Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 04 Jun 2019 21:06:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 21:14:17 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 21:14:17 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add test csse for I frame with wrong C/R value In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14350 to look at the new patch set (#4). Change subject: bts: Add test csse for I frame with wrong C/R value ...................................................................... bts: Add test csse for I frame with wrong C/R value Implemented as BTS_Tests_LAPDm.TC_incorrect_cr() Related: OS#4032 Change-Id: I19e50049625bd31662a1e22b1394b69b2d249104 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 54 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/50/14350/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I19e50049625bd31662a1e22b1394b69b2d249104 Gerrit-Change-Number: 14350 Gerrit-PatchSet: 4 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte 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 4 21:14:20 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 21:14:20 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add LAPDm test for SABM with wrong C/R bit Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14378 Change subject: bts: Add LAPDm test for SABM with wrong C/R bit ...................................................................... bts: Add LAPDm test for SABM with wrong C/R bit Test that the BTS will take no action when it receives an SABM frame with the C bit set wrong (R); Inspired by TS 51.010-1 25.2.5.2 Implemented as TC_sabm_incorrect_c(). Related: OS#4032 Change-Id: I4fbe7e708c9b1a2c04e5d24a205b5b5af20ff8c7 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 50 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/78/14378/1 diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index 12f24eb..edbd37b 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -1052,6 +1052,55 @@ var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); f_testmatrix_each_chan(pars, refers(f_TC_incorrect_cr)); } + +/* test that the BTS will take no action when it receives an SABM frame with the C bit set wrong (R) + Inspired by TS 51.010-1 25.2.5.2 */ +private function f_TC_sabm_incorrect_c(charstring id) runs on ConnHdlr { + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(0)); + var integer sapi := link_id.sapi; + var boolean is_sacch := false; + if (link_id.c == SACCH) { + is_sacch := true; + } + timer T := 3.0; + var default d; + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background(true)); + RSL.clear; + LAPDM.clear; + + f_establish_mo(link_id); + + /* Send I-frame SAPI = 0, C = 1, P = 0, M = 0, L = 3, N(S) = 0, N(R) = 0 */ + var octetstring l3_mo := '010203'O; + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=false, nr:=0, ns:=0, + l3:=l3_mo))); + /* Expect RR SAPI = 0, R = 1, F = 0, M = 0, L = 0, N(R) = 1 */ + LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=false, nr:=1))); + RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, l3_mo)); + /* Send SABM SAPI = 0, C = 0, P = 1, M = 0, L = 0 */ + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_RSP, p:=true, l3:=''O))); + /* Expect RSL ERR IND */ + RSL.receive(tr_RSL_ERROR_IND(g_chan_nr, link_id, '0C'O)); + /* Expect fill frame C = 0, P = 0, M = 0, L = 0 */ + LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_UI(0, ?, ''O))); + /* Send RR command (P=1) SAPI = 0, C = 1, P = 1, M = 0, L = 0, N(R) = 0 */ + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=true, nr:=0))); + /* Expect RR response (F=1) SAPI = 0, R = 1, F = 1, M = 0, L = 0, N(R) = 1 */ + LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=true, nr:=1))); + + deactivate(d); + + fp_common_fini(); +} +testcase TC_sabm_incorrect_c() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_incorrect_c)); +} + control { execute(TC_foo()); execute(TC_sabm_ua_dcch_sapi0()); @@ -1071,6 +1120,7 @@ execute(TC_t200_n200()); execute(TC_rr_response_frame_loss()); execute(TC_incorrect_cr()); + execute(TC_sabm_incorrect_c()); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4fbe7e708c9b1a2c04e5d24a205b5b5af20ff8c7 Gerrit-Change-Number: 14378 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 21:30:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 21:30:04 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add test csse for I frame with wrong C/R value In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14350 ) Change subject: bts: Add test csse for I frame with wrong C/R value ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I19e50049625bd31662a1e22b1394b69b2d249104 Gerrit-Change-Number: 14350 Gerrit-PatchSet: 4 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 21:30: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 4 21:30:05 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 21:30:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add LAPDm test for SABM with wrong C/R bit In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14378 ) Change subject: bts: Add LAPDm test for SABM with wrong C/R bit ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4fbe7e708c9b1a2c04e5d24a205b5b5af20ff8c7 Gerrit-Change-Number: 14378 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 21:30:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 21:30:07 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 21:30:07 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add test csse for I frame with wrong C/R value In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14350 ) Change subject: bts: Add test csse for I frame with wrong C/R value ...................................................................... bts: Add test csse for I frame with wrong C/R value Implemented as BTS_Tests_LAPDm.TC_incorrect_cr() Related: OS#4032 Change-Id: I19e50049625bd31662a1e22b1394b69b2d249104 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 54 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index bf359f2..12f24eb 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -999,6 +999,59 @@ f_testmatrix_each_chan(pars, refers(f_TC_rr_response_frame_loss)); } +/* Ensure BTS ignores I frames with wrong C/R bit; Inspired by TS 51.010-1 25.2.5.1 */ +private function f_TC_incorrect_cr(charstring id) runs on ConnHdlr { + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(0)); + var integer sapi := link_id.sapi; + var boolean is_sacch := false; + if (link_id.c == SACCH) { + is_sacch := true; + } + timer T := 3.0; + var default d; + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background(true)); + RSL.clear; + LAPDM.clear; + + f_establish_mo(link_id); + + var octetstring l3_mo := f_rnd_octstring(10); + /* Send an I frame to the BTS: SAPI = 0, C = 0, P = 1, M = 0, L = 3, N(S) = 0, N(R) = 0 */ + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_I(sapi, c_r:=cr_MO_RSP, p:=true, nr:=0, ns:=0, + l3:=l3_mo))); + T.start; + alt { + [] RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, l3_mo)) { + setverdict(fail, "BTS didn't ignore I frame with wrong C/R bit"); + } + [] RSL.receive(tr_RSL_ERROR_IND(g_chan_nr, link_id, '0C'O)) { + repeat; + } + /* ensure BTS still sends idle frames */ + [] as_lapdm_idle() { + setverdict(pass, "still sending idle frames"); + } + [] T.timeout {} + } + + /* Send RR command P=1 */ + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=true, nr:=0))); + + /* The BTS shall respond with a RR response, F bit set to 1. */ + LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=true, nr:=0))); + + deactivate(d); + + fp_common_fini(); +} +testcase TC_incorrect_cr() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_incorrect_cr)); +} control { execute(TC_foo()); execute(TC_sabm_ua_dcch_sapi0()); @@ -1017,6 +1070,7 @@ execute(TC_segm_concat_sacch()); execute(TC_t200_n200()); execute(TC_rr_response_frame_loss()); + execute(TC_incorrect_cr()); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I19e50049625bd31662a1e22b1394b69b2d249104 Gerrit-Change-Number: 14350 Gerrit-PatchSet: 4 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 21:30:07 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 21:30:07 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Add LAPDm test for SABM with wrong C/R bit In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14378 ) Change subject: bts: Add LAPDm test for SABM with wrong C/R bit ...................................................................... bts: Add LAPDm test for SABM with wrong C/R bit Test that the BTS will take no action when it receives an SABM frame with the C bit set wrong (R); Inspired by TS 51.010-1 25.2.5.2 Implemented as TC_sabm_incorrect_c(). Related: OS#4032 Change-Id: I4fbe7e708c9b1a2c04e5d24a205b5b5af20ff8c7 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 50 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index 12f24eb..edbd37b 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -1052,6 +1052,55 @@ var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); f_testmatrix_each_chan(pars, refers(f_TC_incorrect_cr)); } + +/* test that the BTS will take no action when it receives an SABM frame with the C bit set wrong (R) + Inspired by TS 51.010-1 25.2.5.2 */ +private function f_TC_sabm_incorrect_c(charstring id) runs on ConnHdlr { + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(0)); + var integer sapi := link_id.sapi; + var boolean is_sacch := false; + if (link_id.c == SACCH) { + is_sacch := true; + } + timer T := 3.0; + var default d; + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background(true)); + RSL.clear; + LAPDM.clear; + + f_establish_mo(link_id); + + /* Send I-frame SAPI = 0, C = 1, P = 0, M = 0, L = 3, N(S) = 0, N(R) = 0 */ + var octetstring l3_mo := '010203'O; + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=false, nr:=0, ns:=0, + l3:=l3_mo))); + /* Expect RR SAPI = 0, R = 1, F = 0, M = 0, L = 0, N(R) = 1 */ + LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=false, nr:=1))); + RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, l3_mo)); + /* Send SABM SAPI = 0, C = 0, P = 1, M = 0, L = 0 */ + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_RSP, p:=true, l3:=''O))); + /* Expect RSL ERR IND */ + RSL.receive(tr_RSL_ERROR_IND(g_chan_nr, link_id, '0C'O)); + /* Expect fill frame C = 0, P = 0, M = 0, L = 0 */ + LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_UI(0, ?, ''O))); + /* Send RR command (P=1) SAPI = 0, C = 1, P = 1, M = 0, L = 0, N(R) = 0 */ + LAPDM.send(t_PH_DATA(0, is_sacch, ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=true, nr:=0))); + /* Expect RR response (F=1) SAPI = 0, R = 1, F = 1, M = 0, L = 0, N(R) = 1 */ + LAPDM.receive(t_PH_DATA(0, is_sacch, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=true, nr:=1))); + + deactivate(d); + + fp_common_fini(); +} +testcase TC_sabm_incorrect_c() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_incorrect_c)); +} + control { execute(TC_foo()); execute(TC_sabm_ua_dcch_sapi0()); @@ -1071,6 +1120,7 @@ execute(TC_t200_n200()); execute(TC_rr_response_frame_loss()); execute(TC_incorrect_cr()); + execute(TC_sabm_incorrect_c()); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4fbe7e708c9b1a2c04e5d24a205b5b5af20ff8c7 Gerrit-Change-Number: 14378 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 21:31:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 21:31:12 +0000 Subject: Change in ...osmo-sgsn[master]: osmo-sgsn: get rid of OSMO_ASSERT() in 'auth-policy' handler In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14195 ) Change subject: osmo-sgsn: get rid of OSMO_ASSERT() in 'auth-policy' handler ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If9b0c0d031477ca87786aab5c269d00748e896c8 Gerrit-Change-Number: 14195 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 04 Jun 2019 21:31: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 4 21:31:32 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 21:31:32 +0000 Subject: Change in ...osmo-sgsn[master]: osmo-sgsn: add VTY parameter to toggle authentication In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14194 ) Change subject: osmo-sgsn: add VTY parameter to toggle authentication ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I9909145e7e0af587c28827e16301a61b13eedaa9 Gerrit-Change-Number: 14194 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 04 Jun 2019 21: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 4 21:31:43 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 21:31:43 +0000 Subject: Change in ...osmo-sgsn[master]: doc/manuals/vty: regenerate sgsn_vty_reference.xml In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14377 ) Change subject: doc/manuals/vty: regenerate sgsn_vty_reference.xml ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I3dfe3598055457cc9724a371590e676f1920652b Gerrit-Change-Number: 14377 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 21:31:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 21:31:43 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 21:31:43 +0000 Subject: Change in ...osmo-sgsn[master]: doc/manuals/vty: regenerate sgsn_vty_reference.xml In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14377 ) Change subject: doc/manuals/vty: regenerate sgsn_vty_reference.xml ...................................................................... doc/manuals/vty: regenerate sgsn_vty_reference.xml Change-Id: I3dfe3598055457cc9724a371590e676f1920652b --- M doc/manuals/vty/sgsn_vty_reference.xml 1 file changed, 21 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/doc/manuals/vty/sgsn_vty_reference.xml b/doc/manuals/vty/sgsn_vty_reference.xml index 52d4213..7619215 100644 --- a/doc/manuals/vty/sgsn_vty_reference.xml +++ b/doc/manuals/vty/sgsn_vty_reference.xml @@ -187,7 +187,7 @@ - + @@ -222,6 +222,7 @@ + @@ -733,7 +734,7 @@ - + @@ -768,6 +769,7 @@ + @@ -1488,7 +1490,8 @@ - + + @@ -1518,7 +1521,7 @@ - + @@ -1553,6 +1556,7 @@ + @@ -1696,10 +1700,11 @@ - + + @@ -1762,7 +1767,7 @@ - + @@ -1772,6 +1777,7 @@ + @@ -2234,6 +2240,13 @@ + + + + + + + @@ -2325,7 +2338,8 @@ - + + -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I3dfe3598055457cc9724a371590e676f1920652b Gerrit-Change-Number: 14377 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 21:35:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 21:35:48 +0000 Subject: Change in ...osmo-msc[master]: libmsc/db.c: fix potential integer overflow In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/13470 ) Change subject: libmsc/db.c: fix potential integer overflow ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ibbd588545e1a4817504c806a3d02cf59d5938ee2 Gerrit-Change-Number: 13470 Gerrit-PatchSet: 9 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 04 Jun 2019 21:35:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 21:36:04 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 21:36:04 +0000 Subject: Change in ...osmo-msc[master]: libmsc/db.c: introduce and use parse_sm_ud_from_result() In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/13488 ) Change subject: libmsc/db.c: introduce and use parse_sm_ud_from_result() ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If67dfb9f7d2a55fa3d45dc4689a2acff9909faf6 Gerrit-Change-Number: 13488 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 21:36: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 4 21:36:17 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 21:36:17 +0000 Subject: Change in ...osmo-msc[master]: libmsc/db.c: warn user about SMS text truncation In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/13489 ) Change subject: libmsc/db.c: warn user about SMS text truncation ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I75e852ebe44ba4784572cbffa029e13f0d3c430c Gerrit-Change-Number: 13489 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 04 Jun 2019 21:36: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 4 21:36:31 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 21:36:31 +0000 Subject: Change in ...osmo-msc[master]: libmsc/db.c: get rid of hard-coded SMS expiry threshold In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/13631 ) Change subject: libmsc/db.c: get rid of hard-coded SMS expiry threshold ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0ce6b1ab50986dc69a2be4ea62b6a24c7f3f8f0a Gerrit-Change-Number: 13631 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Stefan Sperling Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 04 Jun 2019 21:36:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 4 21:44:25 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Tue, 4 Jun 2019 21:44:25 +0000 Subject: Change in ...libosmocore[master]: lapdm: Allow user to specify T200 values; Use correct N200 values 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/+/14339 to look at the new patch set (#4). Change subject: lapdm: Allow user to specify T200 values; Use correct N200 values ...................................................................... lapdm: Allow user to specify T200 values; Use correct N200 values TS 04.06 specifies a N200 re-transmission counter that depends on the channel type, which we didn't care about at all so far. Let's have the caller tell us the channel type so we can internally look up the correct N200 value for it. At the same time, permit the user to specify T200 re-transmission timer values for each SAPI on both DCCH and ACCH, which is required at least in the BTS as per GSM TS 12.21. Also, extend the timer resolution of the API from seconds to milli-seconds, which is more applicable as particularly on the FACCH the recommended values are in the 200ms range. Change-Id: I90fdc4dd4720d4e02213197c894eb0a55a39158c Related: OS#3906 Related: OS#2294 Related: OS#4037 --- M include/osmocom/gsm/lapdm.h M src/gsm/lapdm.c M src/gsm/libosmogsm.map 3 files changed, 85 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/39/14339/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I90fdc4dd4720d4e02213197c894eb0a55a39158c Gerrit-Change-Number: 14339 Gerrit-PatchSet: 4 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Jun 5 02:41:24 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Jun 2019 02:41:24 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5cf72bda30440_2441fa05f01753843@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 527s] -Returned: 0, Current node: 1 '%s> ' [ 527s] -Going to execute 'ambiguous_str' [ 527s] -Called: 'ambiguous_str [ARG]' (argc=0) [ 527s] -Returned: 0, Current node: 1 '%s> ' [ 527s] -Going to execute 'ambiguous_str arg' [ 527s] -Called: 'ambiguous_str [ARG]' (argc=1) [ 527s] -Returned: 0, Current node: 1 '%s> ' [ 527s] -Going to execute 'ambiguous_str arg keyword' [ 527s] -Called: 'ambiguous_str ARG keyword' [ 527s] -Returned: 0, Current node: 1 '%s> ' [ 527s] -All tests passed [ 527s] ./testsuite.at:196: exit code was 139, expected 0 [ 527s] 31. testsuite.at:192: 31. vty (testsuite.at:192): FAILED (testsuite.at:196) [ 527s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 527s] make[1]: *** [override_dh_auto_test] Error 1 [ 527s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 527s] debian/rules:15: recipe for target 'build' failed [ 527s] make: *** [build] Error 2 [ 527s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 527s] [ 527s] armbuild21 failed "build libosmocore_1.1.0.44.ef7be.dsc" at Wed Jun 5 02:41:08 UTC 2019. [ 527s] [ 527s] ### VM INTERACTION START ### [ 530s] [ 510.732471] sysrq: SysRq : Power Off [ 530s] [ 510.777778] reboot: Power down [ 530s] ### VM INTERACTION END ### [ 530s] [ 530s] armbuild21 failed "build libosmocore_1.1.0.44.ef7be.dsc" at Wed Jun 5 02:41:11 UTC 2019. [ 530s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 5 03:03:24 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Jun 2019 03:03:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5cf73105f150a_2441fa05f017545da@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_9.0/i586 Package network:osmocom:nightly/osmo-msc failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 266s] +DDB FATAL Failed to create database connection to sqlite3 db ':memory:'; Is the sqlite3 database driver for libdbi installed on this system? [ 266s] +Assert failed rc == 0 db_sms_test.c:541 [ 266s] +/usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/test-source: line 26: 28481 Aborted $abs_top_builddir/tests/db_sms/db_sms_test [ 266s] --- expout 2019-06-05 03:03:07.668367394 +0000 [ 266s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/stdout 2019-06-05 03:03:07.676367394 +0000 [ 266s] @@ -0,0 +1,5 @@ [ 266s] +backtrace() returned 5 addresses [ 266s] +/usr/lib/i386-linux-gnu/libosmocore.so.12(osmo_panic+0x4c) [0xf768a39c] [ 266s] +/usr/src/packages/BUILD/tests/db_sms/db_sms_test(main+0xa9e) [0x565c5f4e] [ 266s] +/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf6) [0xf729e286] [ 266s] +/usr/src/packages/BUILD/tests/db_sms/db_sms_test(+0x8307) [0x565c6307] [ 266s] ./testsuite.at:23: exit code was 134, expected 0 [ 266s] 3. testsuite.at:19: 3. db_sms_test (testsuite.at:19): FAILED (testsuite.at:23) [ 266s] debian/rules:63: recipe for target 'override_dh_auto_test' failed [ 266s] make[1]: *** [override_dh_auto_test] Error 1 [ 266s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 266s] debian/rules:45: recipe for target 'build' failed [ 266s] make: *** [build] Error 2 [ 266s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 266s] [ 266s] build83 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:03:08 UTC 2019. [ 266s] [ 266s] ### VM INTERACTION START ### [ 268s] [ 255.699382] sysrq: SysRq : Power Off [ 268s] [ 255.701292] reboot: Power down [ 268s] ### VM INTERACTION END ### [ 268s] [ 268s] build83 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:03:11 UTC 2019. [ 268s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 5 03:07:24 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Jun 2019 03:07:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5cf731f4a9a17_2441fa05f017546f2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_8.0/i586 Package network:osmocom:nightly/osmo-msc failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 239s] +Assert failed rc == 0 db_sms_test.c:541 [ 239s] +/usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/test-source: line 26: 2993 Aborted $abs_top_builddir/tests/db_sms/db_sms_test [ 239s] --- expout 2019-06-05 03:07:18.308000000 +0000 [ 239s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/stdout 2019-06-05 03:07:18.320000000 +0000 [ 239s] @@ -0,0 +1,6 @@ [ 239s] +backtrace() returned 6 addresses [ 239s] +/usr/lib/i386-linux-gnu/libosmocore.so.12(osmo_generate_backtrace+0x11) [0xf768ffd1] [ 239s] +/usr/lib/i386-linux-gnu/libosmocore.so.12(osmo_panic+0x4c) [0xf768fdfc] [ 239s] +/usr/src/packages/BUILD/tests/db_sms/db_sms_test() [0x804e35c] [ 239s] +/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0xf72e4723] [ 239s] +/usr/src/packages/BUILD/tests/db_sms/db_sms_test() [0x804e672] [ 239s] ./testsuite.at:23: exit code was 134, expected 0 [ 239s] 3. testsuite.at:19: 3. db_sms_test (testsuite.at:19): FAILED (testsuite.at:23) [ 239s] debian/rules:63: recipe for target 'override_dh_auto_test' failed [ 239s] make[1]: *** [override_dh_auto_test] Error 1 [ 239s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 239s] debian/rules:45: recipe for target 'build' failed [ 239s] make: *** [build] Error 2 [ 239s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 239s] [ 239s] lamb05 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:07:19 UTC 2019. [ 239s] [ 239s] ### VM INTERACTION START ### [ 240s] Powering off. [ 240s] [ 227.116411] reboot: Power down [ 240s] ### VM INTERACTION END ### [ 240s] [ 240s] lamb05 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:07:21 UTC 2019. [ 240s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 5 03:10:16 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Jun 2019 03:10:16 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in xUbuntu_16.04/i586 In-Reply-To: References: Message-ID: <5cf732a9d006a_2441fa05f017551a4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/xUbuntu_16.04/i586 Package network:osmocom:nightly/osmo-msc failed to build in xUbuntu_16.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 380s] +DDB FATAL Failed to create database connection to sqlite3 db ':memory:'; Is the sqlite3 database driver for libdbi installed on this system? [ 380s] +Assert failed rc == 0 db_sms_test.c:541 [ 380s] +/usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/test-source: line 26: 2625 Aborted $abs_top_builddir/tests/db_sms/db_sms_test [ 380s] --- expout 2019-06-05 03:10:08.980238841 +0000 [ 380s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/stdout 2019-06-05 03:10:08.992238841 +0000 [ 380s] @@ -0,0 +1,5 @@ [ 380s] +backtrace() returned 5 addresses [ 380s] +/usr/lib/i386-linux-gnu/libosmocore.so.12(osmo_panic+0x4c) [0xf760a39c] [ 380s] +/usr/src/packages/BUILD/tests/db_sms/db_sms_test() [0x804e329] [ 380s] +/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf7) [0xf7240637] [ 380s] +/usr/src/packages/BUILD/tests/db_sms/db_sms_test() [0x804e5f2] [ 380s] ./testsuite.at:23: exit code was 134, expected 0 [ 380s] 3. testsuite.at:19: 3. db_sms_test (testsuite.at:19): FAILED (testsuite.at:23) [ 380s] debian/rules:63: recipe for target 'override_dh_auto_test' failed [ 380s] make[1]: *** [override_dh_auto_test] Error 1 [ 380s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 380s] debian/rules:45: recipe for target 'build' failed [ 380s] make: *** [build] Error 2 [ 380s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 380s] [ 380s] cloud114 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:10:10 UTC 2019. [ 380s] [ 380s] ### VM INTERACTION START ### [ 383s] [ 330.306930] sysrq: SysRq : Power Off [ 383s] [ 330.321247] reboot: Power down [ 384s] ### VM INTERACTION END ### [ 384s] [ 384s] cloud114 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:10:15 UTC 2019. [ 384s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 5 03:11:41 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Jun 2019 03:11:41 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5cf732ff296d8_2441fa05f017552d6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 486s] -DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch [ 486s] -DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected [ 486s] -DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch [ 486s] -DDB NOTICE test_db_sms_get('Same MSISDN #1'): failure, as expected [ 486s] -DDB NOTICE test_db_sms_get('Same MSISDN #2'): failure, as expected [ 486s] -DDB NOTICE test_db_sms_get('Expired SMS'): unexpected result [ 486s] -DDB NOTICE verify_sms('Expired SMS'): match [ 486s] -DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected [ 486s] -DDB NOTICE verify_sms('Empty TP-UD'): match [ 486s] -full talloc report on 'null_context' (total 0 bytes in 1 blocks) [ 486s] +DDB FATAL Failed to create database connection to sqlite3 db ':memory:'; Is the sqlite3 database driver for libdbi installed on this system? [ 486s] +Assert failed rc == 0 db_sms_test.c:541 [ 486s] +/usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/test-source: line 15: 32359 Aborted $abs_top_builddir/tests/db_sms/db_sms_test [ 486s] ./testsuite.at:23: exit code was 134, expected 0 [ 486s] 3. testsuite.at:19: 3. db_sms_test (testsuite.at:19): FAILED (testsuite.at:23) [ 486s] make[1]: *** [debian/rules:63: override_dh_auto_test] Error 1 [ 486s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 486s] make: *** [debian/rules:45: build] Error 2 [ 486s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 486s] [ 486s] lamb55 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:11:22 UTC 2019. [ 486s] [ 486s] ### VM INTERACTION START ### [ 489s] [ 459.576399] sysrq: SysRq : Power Off [ 489s] [ 459.661125] reboot: Power down [ 489s] ### VM INTERACTION END ### [ 489s] [ 489s] lamb55 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:11:26 UTC 2019. [ 489s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 5 03:13:07 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Jun 2019 03:13:07 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5cf7335dd7d38_2441fa05f01755388@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 386s] -DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch [ 386s] -DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected [ 386s] -DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch [ 386s] -DDB NOTICE test_db_sms_get('Same MSISDN #1'): failure, as expected [ 386s] -DDB NOTICE test_db_sms_get('Same MSISDN #2'): failure, as expected [ 386s] -DDB NOTICE test_db_sms_get('Expired SMS'): unexpected result [ 386s] -DDB NOTICE verify_sms('Expired SMS'): match [ 386s] -DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected [ 386s] -DDB NOTICE verify_sms('Empty TP-UD'): match [ 386s] -full talloc report on 'null_context' (total 0 bytes in 1 blocks) [ 386s] +DDB FATAL Failed to create database connection to sqlite3 db ':memory:'; Is the sqlite3 database driver for libdbi installed on this system? [ 386s] +Assert failed rc == 0 db_sms_test.c:541 [ 386s] +/usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/test-source: line 15: 31077 Aborted $abs_top_builddir/tests/db_sms/db_sms_test [ 386s] ./testsuite.at:23: exit code was 134, expected 0 [ 386s] 3. testsuite.at:19: 3. db_sms_test (testsuite.at:19): FAILED (testsuite.at:23) [ 386s] make[1]: *** [debian/rules:63: override_dh_auto_test] Error 1 [ 386s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 386s] make: *** [debian/rules:45: build] Error 2 [ 386s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 386s] [ 386s] lamb20 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:12:55 UTC 2019. [ 386s] [ 386s] ### VM INTERACTION START ### [ 389s] [ 372.150655] sysrq: SysRq : Power Off [ 389s] [ 372.156146] reboot: Power down [ 389s] ### VM INTERACTION END ### [ 389s] [ 389s] lamb20 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:12:58 UTC 2019. [ 389s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 5 03:13:07 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Jun 2019 03:13:07 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in xUbuntu_16.04/x86_64 In-Reply-To: References: Message-ID: <5cf7335e74ace_2441fa05f01755470@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/xUbuntu_16.04/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in xUbuntu_16.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 574s] | #define HAVE_STDINT_H 1 [ 574s] | #define HAVE_UNISTD_H 1 [ 574s] | #define HAVE_DLFCN_H 1 [ 574s] | #define LT_OBJDIR ".libs/" [ 574s] | #define HAVE_LIBSCTP 1 [ 574s] | #define BUILD_SMPP 1 [ 574s] | #define BUILD_IU 1 [ 574s] | #define STDC_HEADERS 1 [ 574s] | #define HAVE_DBI_DBD_H 1 [ 574s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 574s] | [ 574s] | configure: exit 0 [ 574s] [ 574s] debian/rules:63: recipe for target 'override_dh_auto_test' failed [ 574s] make[1]: *** [override_dh_auto_test] Error 1 [ 574s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 574s] debian/rules:45: recipe for target 'build' failed [ 574s] make: *** [build] Error 2 [ 574s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 574s] [ 574s] cloud105 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:12:58 UTC 2019. [ 574s] [ 574s] ### VM INTERACTION START ### [ 577s] [ 541.245009] sysrq: SysRq : Power Off [ 577s] [ 541.548578] reboot: Power down [ 578s] ### VM INTERACTION END ### [ 578s] [ 578s] cloud105 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:13:03 UTC 2019. [ 578s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 5 03:14:33 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Jun 2019 03:14:33 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5cf733b7cbfd1_2441fa05f0175566d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 369s] -DDB NOTICE test_db_sms_get('Same MSISDN #1'): failure, as expected [ 369s] -DDB NOTICE test_db_sms_get('Same MSISDN #2'): failure, as expected [ 369s] -DDB NOTICE test_db_sms_get('Expired SMS'): unexpected result [ 369s] -DDB NOTICE verify_sms('Expired SMS'[ 353.252200] serial8250: too much work for irq4 [ 369s] ): match [ 369s] -DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected [ 369s] -DDB NOTICE verify_sms('Empty TP-UD'): match [ 369s] -full talloc report on 'null_context' (total 0 bytes in 1 blocks) [ 369s] +DDB FATAL Failed to create database connection to sqlite3 db ':memory:'; Is the sqlite3 database driver for libdbi installed on this system? [ 369s] +Assert failed rc == 0 db_sms_test.c:541 [ 369s] +/usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/test-source: line 26: 32186 Aborted $abs_top_builddir/tests/db_sms/db_sms_test [ 369s] ./testsuite.at:23: exit code was 134, expected 0 [ 369s] 3. testsuite.at:19: 3. db_sms_test (testsuite.at:19): FAILED (testsuite.at:23) [ 369s] debian/rules:63: recipe for target 'override_dh_auto_test' failed [ 369s] make[1]: *** [override_dh_auto_test] Error 1 [ 369s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 369s] debian/rules:45: recipe for target 'build' failed [ 369s] make: *** [build] Error 2 [ 369s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 369s] [ 369s] lamb65 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:14:14 UTC 2019. [ 369s] [ 369s] ### VM INTERACTION START ### [ 372s] [ 356.446427] sysrq: SysRq : Power Off [ 372s] [ 356.451730] reboot: Power down [ 372s] ### VM INTERACTION END ### [ 372s] [ 372s] lamb65 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:14:18 UTC 2019. [ 372s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 5 03:15:24 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Jun 2019 03:15:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5cf733d3a6290_2441fa05f017557c9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 572s] | #define HAVE_STRINGS_H 1 [ 572s] | #define HAVE_INTTYPES_H 1 [ 572s] | #define HAVE_STDINT_H 1 [ 572s] | #define HAVE_UNISTD_H 1 [ 572s] | #define HAVE_DLFCN_H 1 [ 572s] | #define LT_OBJDIR ".libs/" [ 572s] | #define HAVE_LIBSCTP 1 [ 572s] | #define BUILD_SMPP 1 [ 572s] | #define BUILD_IU 1 [ 572s] | #define STDC_HEADERS 1 [ 572s] | #define HAVE_DBI_DBD_H 1 [ 572s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 572s] | [ 572s] | configure: exit 0 [ 572s] [ 572s] make[1]: *** [debian/rules:63: override_dh_auto_test] Error 1 [ 572s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 572s] make: *** [debian/rules:45: build] Error 2 [ 572s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 572s] [ 572s] lamb16 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:15:16 UTC 2019. [ 572s] [ 572s] ### VM INTERACTION START ### [ 575s] [ 557.870646] sysrq: SysRq : Power Off [ 575s] [ 557.910474] reboot: Power down [ 575s] ### VM INTERACTION END ### [ 575s] [ 575s] lamb16 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:15:20 UTC 2019. [ 575s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 5 03:16:16 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Jun 2019 03:16:16 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5cf7340e38b60_2441fa05f01755831@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 373s] +DDB FATAL Failed to create database connection to sqlite3 db ':memory:'; Is the sqlite3 database driver for libdbi installed on this system? [ 373s] +Assert failed rc == 0 db_sms_test.c:541 [ 373s] +/usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/test-source: line 26: 3436 Aborted $abs_top_builddir/tests/db_sms/db_sms_test [ 373s] --- expout 2019-06-05 03:16:02.996000000 +0000 [ 373s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/stdout 2019-06-05 03:16:03.004000000 +0000 [ 373s] @@ -0,0 +1,5 @@ [ 373s] +backtrace() returned 5 addresses [ 373s] +/usr/lib/x86_64-linux-gnu/libosmocore.so.12(osmo_panic+0xcb) [0x7f54015ea4fb] [ 373s] +/usr/src/packages/BUILD/tests/db_sms/db_sms_test() [0x40852e] [ 373s] +/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f53fffc4b45] [ 373s] +/usr/src/packages/BUILD/tests/db_sms/db_sms_test() [0x40881b] [ 373s] ./testsuite.at:23: exit code was 134, expected 0 [ 373s] 3. testsuite.at:19: 3. db_sms_test (testsuite.at:19): FAILED (testsuite.at:23) [ 373s] debian/rules:63: recipe for target 'override_dh_auto_test' failed [ 373s] make[1]: *** [override_dh_auto_test] Error 1 [ 373s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 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] [ 373s] lamb52 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:16:05 UTC 2019. [ 373s] [ 373s] ### VM INTERACTION START ### [ 373s] Powering off. [ 373s] [ 358.251590] reboot: Power down [ 374s] ### VM INTERACTION END ### [ 374s] [ 374s] lamb52 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:16:09 UTC 2019. [ 374s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 5 03:17:24 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Jun 2019 03:17:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5cf7344dcc749_2441fa05f01755979@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_9.0/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 339s] | $ ./config.status [ 339s] | [ 339s] | on cloud123 [ 339s] | [ 339s] | config.status:1172: creating include/Makefile [ 339s] | config.status:1172: creating include/osmocom/Makefile [ 339s] | config.status:1172: creating include/osmocom/msc/Makefile [ 339s] | config.status:1172: creating src/Makefile [ 339s] | config.status:1172: creating src/libmsc/Makefile [ 339s] | config.status:1172: creating src/libvlr/Makefile [ 339s] | config.status:1172: creating src/osmo-msc/Makefile [ 339s] | config.status:1172: creating src/utils/Makefile [ 339s] | config.status:1172: creating tests/Makefile [ 339s] | config.status:1172: creating tests/atlocal [ 339s] | config.status:1172: creating tests/smpp/Makefile [ 339s] | config.status:1172: creating tests/db_sms/Makefile [ 339s] | config.status:1172: creating tests/sms_queue/Makefile [ 339s] | config.status:1172: creating tests/msc_vlr/Makefile [ 339s] | config.status:1172: creating doc/Makefile [ 339s] | config.status:1172: creating doc/examples/Makefile [ 339s] | config.status:1172: creating doc/manuals/Makefile [ 339s] | config.status:1172: creating doc/sequence_charts/Makefile [ 339s] | config.status:1172: creating contrib/Makefile [ 341s] | config.sta[ 309.850940] sysrq: SysRq : Power Off [ 341s] [ 309.860777] reboot: Power down [ 342s] ### VM INTERACTION END ### [ 342s] [ 342s] cloud123 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:17:18 UTC 2019. [ 342s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 5 03:20:33 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Jun 2019 03:20:33 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5cf7351c86cce_2441fa05f017562b8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/xUbuntu_18.04/i586 Package network:osmocom:nightly/osmo-msc failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 541s] | ac_cv_env_LIBOSMOCORE_LIBS_value= [ 541s] | ac_cv_env_LIBOSMOCTRL_CFLAGS_set= [ 541s] | ac_cv_env_LIBOSMOCTRL_CFLAGS_value= [ 541s] | ac_cv_env_LIBOSMOCTRL_LIBS_set= [ 541s] | ac_cv_env_LIBOSMOCTRL_LIBS_value= [ 541s] | ac_cv_env_LIBOSMOGSM_CFLAGS_set= [ 541s] | ac_cv_env_LIBOSMOGSM_CFLAGS_value= [ 541s] | ac_cv_env_LIBOSMOGSM_LIBS_set= [ 541s] | ac_cv_env_LIBOSMOGSM_LIBS_value= [ 541s] | ac_cv_env_LIBOSMOGSUPCLIENT_CFLAGS_set= [ 541s] | ac_cv_env_LIBOSMOGSUPCLIENT_CFLAGS_value= [ 541s] | ac_cv_env_LIBOSMOGSUPCLIENT_LIBS_set= [ 541s] | ac_cv_env_LIBOSMOGSUPCLIENT_LIBS_value= [ 541s] | ac_cv_env_LIBOSMOMGCPCLIENT_CFLAGS_set= [ 541s] | ac_cv_env_LIBOSMOMGCPCLIENT_CFLAGS_value= [ 541s] | ac_cv_env_LIBOSMOMGCPCLIENT_LIBS_set= [ 541s] | ac_cv_env_LIBOSMOMGCPCLIENT_LIBS_value= [ 541s] | ac_cv_env_LIBOSMONETIF_CFLAGS_set= [ 541s] | ac_cv_env_LIBOSMONETIF_CFLAGS_value= [ 541s] | ac_cv_env_LIBOSMONETIF_LIBS_set= [ 541s] | ac_cv_env_LIBOSMONETIF_LIBS_value= [ 541s] | ac_cv_env_LIBOSMORANAP_CFLAGS_set= [ 541s] | ac_cv_env_LIBOSMORANAP_CFLAGS_value= [ 541s] | ac_cv_env_LIBOSMORANAP_LIBS_set= [ 541s] | ac_cv_env_LIBOSMORANAP_LIBS_value= [ 541s] | ac_cv_env_LIBOSMOSCCP_CFLAGS_set= [ 541s] | ac_cv_env_LIBOSMOSCCP_CFLAGS_value= [ 543s] | ac_cv_env_LIBOSMOSCCP_LIBS_set=[ 477.907925] sysrq: SysRq : Power Off [ 543s] [ 477.912936] reboot: Power down -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 5 03:20:33 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Jun 2019 03:20:33 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5cf7351d8e27f_2441fa05f017563c7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 271s] -DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch [ 271s] -DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected [ 271s] -DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch [ 271s] -DDB NOTICE test_db_sms_get('Same MSISDN #1'): failure, as expected [ 271s] -DDB NOTICE test_db_sms_get('Same MSISDN #2'): failure, as expected [ 271s] -DDB NOTICE test_db_sms_get('Expired SMS'): unexpected result [ 271s] -DDB NOTICE verify_sms('Expired SMS'): match [ 271s] -DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected [ 271s] -DDB NOTICE verify_sms('Empty TP-UD'): match [ 271s] -full talloc report on 'null_context' (total 0 bytes in 1 blocks) [ 271s] +DDB FATAL Failed to create database connection to sqlite3 db ':memory:'; Is the sqlite3 database driver for libdbi installed on this system? [ 271s] +Assert failed rc == 0 db_sms_test.c:541 [ 271s] +/usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/test-source: line 26: 31773 Aborted $abs_top_builddir/tests/db_sms/db_sms_test [ 271s] ./testsuite.at:23: exit code was 134, expected 0 [ 271s] 3. testsuite.at:19: 3. db_sms_test (testsuite.at:19): FAILED (testsuite.at:23) [ 271s] make[1]: *** [debian/rules:63: override_dh_auto_test] Error 1 [ 271s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 271s] make: *** [debian/rules:45: build] Error 2 [ 271s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 271s] [ 271s] sheep84 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:20:28 UTC 2019. [ 271s] [ 271s] ### VM INTERACTION START ### [ 274s] [ 264.116596] sysrq: SysRq : Power Off [ 274s] [ 264.121769] reboot: Power down [ 274s] ### VM INTERACTION END ### [ 274s] [ 274s] sheep84 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:20:31 UTC 2019. [ 274s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 5 03:22:50 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Jun 2019 03:22:50 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5cf73596ed5af_2441fa05f0175657b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/xUbuntu_18.10/i586 Package network:osmocom:nightly/osmo-msc failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 534s] | #define HAVE_STRINGS_H 1 [ 534s] | #define HAVE_INTTYPES_H 1 [ 534s] | #define HAVE_STDINT_H 1 [ 534s] | #define HAVE_UNISTD_H 1 [ 534s] | #define HAVE_DLFCN_H 1 [ 534s] | #define LT_OBJDIR ".libs/" [ 534s] | #define HAVE_LIBSCTP 1 [ 534s] | #define BUILD_SMPP 1 [ 534s] | #define BUILD_IU 1 [ 534s] | #define STDC_HEADERS 1 [ 534s] | #define HAVE_DBI_DBD_H 1 [ 534s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 534s] | [ 534s] | configure: exit 0 [ 534s] [ 534s] make[1]: *** [debian/rules:63: override_dh_auto_test] Error 1 [ 534s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 534s] make: *** [debian/rules:45: build] Error 2 [ 534s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 534s] [ 534s] lamb15 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:22:33 UTC 2019. [ 534s] [ 534s] ### VM INTERACTION START ### [ 538s] [ 523.094375] sysrq: SysRq : Power Off [ 538s] [ 523.100085] reboot: Power down [ 538s] ### VM INTERACTION END ### [ 538s] [ 538s] lamb15 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 03:22:37 UTC 2019. [ 538s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 5 04:16:33 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Jun 2019 04:16:33 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5cf742405a43a_2441fa05f017601a1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-msc failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 621s] -DDB NOTICE verify_sms('Expired SMS'): match [ 621s] -DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected [ 621s] -DDB NOTICE verify_sms('Empty TP-UD'): match [ 621s] -full talloc report on 'null_context' (total 0 bytes in 1 blocks) [ 621s] +DDB FATAL Failed to create database connection to sqlite3 db ':memory:'; Is the sqlite3 database driver for libdbi installed on this system? [ 621s] +Assert failed rc == 0 db_sms_test.c:541 [ 621s] +/usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/test-source: line 26: 29369 Aborted $abs_top_builddir/tests/db_sms/db_sms_test [ 621s] --- expout 2019-06-05 04:16:24.865000000 +0000 [ 621s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/stdout 2019-06-05 04:16:24.890000000 +0000 [ 621s] @@ -0,0 +1 @@ [ 621s] +backtrace() returned 0 addresses [ 621s] ./testsuite.at:23: exit code was 134, expected 0 [ 621s] 3. testsuite.at:19: 3. db_sms_test (testsuite.at:19): FAILED (testsuite.at:23) [ 621s] debian/rules:63: recipe for target 'override_dh_auto_test' failed [ 621s] make[1]: *** [override_dh_auto_test] Error 1 [ 621s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 621s] debian/rules:45: recipe for target 'build' failed [ 621s] make: *** [build] Error 2 [ 621s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 621s] [ 621s] armbuild22 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 04:16:26 UTC 2019. [ 621s] [ 621s] ### VM INTERACTION START ### [ 623s] [ 602.620632] sysrq: SysRq : Power Off [ 623s] [ 602.637668] reboot: Power down [ 624s] ### VM INTERACTION END ### [ 624s] [ 624s] armbuild22 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 04:16:30 UTC 2019. [ 624s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 5 04:23:24 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Jun 2019 04:23:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5cf743c350a07_2441fa05f01760631@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-msc failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 668s] -DDB NOTICE verify_sms('Expired SMS'): match [ 668s] -DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected [ 668s] -DDB NOTICE verify_sms('Empty TP-UD'): match [ 668s] -full talloc report on 'null_context' (total 0 bytes in 1 blocks) [ 668s] +DDB FATAL Failed to create database connection to sqlite3 db ':memory:'; Is the sqlite3 database driver for libdbi installed on this system? [ 668s] +Assert failed rc == 0 db_sms_test.c:541 [ 668s] +/usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/test-source: line 26: 28907 Aborted $abs_top_builddir/tests/db_sms/db_sms_test [ 668s] --- expout 2019-06-05 04:23:02.050000000 +0000 [ 668s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/3/stdout 2019-06-05 04:23:02.080000000 +0000 [ 668s] @@ -0,0 +1 @@ [ 668s] +backtrace() returned 0 addresses [ 668s] ./testsuite.at:23: exit code was 134, expected 0 [ 668s] 3. testsuite.at:19: 3. db_sms_test (testsuite.at:19): FAILED (testsuite.at:23) [ 668s] debian/rules:63: recipe for target 'override_dh_auto_test' failed [ 668s] make[1]: *** [override_dh_auto_test] Error 1 [ 668s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 668s] debian/rules:45: recipe for target 'build' failed [ 668s] make: *** [build] Error 2 [ 668s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 668s] [ 668s] armbuild21 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 04:23:03 UTC 2019. [ 668s] [ 668s] ### VM INTERACTION START ### [ 670s] [ 649.439871] sysrq: SysRq : Power Off [ 670s] [ 649.441262] reboot: Power down [ 671s] ### VM INTERACTION END ### [ 671s] [ 671s] armbuild21 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 04:23:07 UTC 2019. [ 671s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 5 04:28:16 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 05 Jun 2019 04:28:16 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5cf744ee3d7ab_2441fa05f017609c3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 396s] | #define HAVE_STRINGS_H 1 [ 396s] | #define HAVE_INTTYPES_H 1 [ 396s] | #define HAVE_STDINT_H 1 [ 396s] | #define HAVE_UNISTD_H 1 [ 396s] | #define HAVE_DLFCN_H 1 [ 396s] | #define LT_OBJDIR ".libs/" [ 396s] | #define HAVE_LIBSCTP 1 [ 396s] | #define BUILD_SMPP 1 [ 396s] | #define BUILD_IU 1 [ 396s] | #define STDC_HEADERS 1 [ 396s] | #define HAVE_DBI_DBD_H 1 [ 396s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 396s] | [ 396s] | configure: exit 0 [ 396s] [ 396s] make[1]: *** [debian/rules:63: override_dh_auto_test] Error 1 [ 396s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 396s] make: *** [debian/rules:45: build] Error 2 [ 396s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 396s] [ 396s] build70 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 04:28:04 UTC 2019. [ 396s] [ 396s] ### VM INTERACTION START ### [ 399s] [ 383.041190] sysrq: SysRq : Power Off [ 399s] [ 383.049584] reboot: Power down [ 399s] ### VM INTERACTION END ### [ 399s] [ 399s] build70 failed "build osmo-msc_1.3.1.135.17aa.dsc" at Wed Jun 5 04:28:09 UTC 2019. [ 399s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Jun 5 08:20:10 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 5 Jun 2019 08:20:10 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Check if BTS_TRXC port is mapped before attempting UDP socket co... Message-ID: Harald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14379 Change subject: bts: Check if BTS_TRXC port is mapped before attempting UDP socket connect ...................................................................... bts: Check if BTS_TRXC port is mapped before attempting UDP socket connect A large number of our tests is currently failing with BTS_Tests.ttcn:341 Dynamic test case error: IPL4 Test Port not mapped which was introduced by Change-Id Ie7d311bf8f03bf9b1d29b5bb28ffad793f215fd1 Change-Id: Ia1ef4ac7dcfec137a8613bc49a7f312d81a86153 --- M bts/BTS_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/79/14379/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index e10d967..9371612 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -505,7 +505,7 @@ map(self:L1CTL, system:L1CTL); f_connect_reset(L1CTL); - if (mp_bts_trxc_port != -1) { + 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/+/14379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia1ef4ac7dcfec137a8613bc49a7f312d81a86153 Gerrit-Change-Number: 14379 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 5 08:26:12 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 5 Jun 2019 08:26:12 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Check if BTS_TRXC port is mapped before attempting UDP socket co... In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14379 ) Change subject: bts: Check if BTS_TRXC port is mapped before attempting UDP socket connect ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia1ef4ac7dcfec137a8613bc49a7f312d81a86153 Gerrit-Change-Number: 14379 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 05 Jun 2019 08:26:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 5 08:26:49 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 5 Jun 2019 08:26:49 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: Check if BTS_TRXC port is mapped before attempting UDP socket co... In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14379 ) Change subject: bts: Check if BTS_TRXC port is mapped before attempting UDP socket connect ...................................................................... bts: Check if BTS_TRXC port is mapped before attempting UDP socket connect A large number of our tests is currently failing with BTS_Tests.ttcn:341 Dynamic test case error: IPL4 Test Port not mapped which was introduced by Change-Id Ie7d311bf8f03bf9b1d29b5bb28ffad793f215fd1 Change-Id: Ia1ef4ac7dcfec137a8613bc49a7f312d81a86153 --- M bts/BTS_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index e10d967..9371612 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -505,7 +505,7 @@ map(self:L1CTL, system:L1CTL); f_connect_reset(L1CTL); - if (mp_bts_trxc_port != -1) { + 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/+/14379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia1ef4ac7dcfec137a8613bc49a7f312d81a86153 Gerrit-Change-Number: 14379 Gerrit-PatchSet: 1 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 5 09:53:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 Jun 2019 09:53:57 +0000 Subject: Change in ...osmo-sgsn[master]: osmo-sgsn: get rid of OSMO_ASSERT() in 'auth-policy' handler In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14195 ) Change subject: osmo-sgsn: get rid of OSMO_ASSERT() in 'auth-policy' handler ...................................................................... Patch Set 2: Code-Review-1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If9b0c0d031477ca87786aab5c269d00748e896c8 Gerrit-Change-Number: 14195 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 Jun 2019 09:53:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 5 10:00:25 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 5 Jun 2019 10:00:25 +0000 Subject: Change in ...libosmocore[master]: lapdm: Allow user to specify T200 values; Use correct N200 values In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14339 ) Change subject: lapdm: Allow user to specify T200 values; Use correct N200 values ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I90fdc4dd4720d4e02213197c894eb0a55a39158c Gerrit-Change-Number: 14339 Gerrit-PatchSet: 4 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 05 Jun 2019 10:00: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 5 10:00:47 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 5 Jun 2019 10:00:47 +0000 Subject: Change in ...libosmocore[master]: lapd_core: Perform N200 retransmissions, not N200-1 In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14347 ) Change subject: lapd_core: Perform N200 retransmissions, not N200-1 ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic33854ee61311f73b7db55eeef10280349151097 Gerrit-Change-Number: 14347 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 05 Jun 2019 10: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 Wed Jun 5 10:01:16 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 5 Jun 2019 10:01:16 +0000 Subject: Change in ...libosmocore[master]: fsm: Allow millisecond granularity in osmo_fsm built-in timer In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14200 ) Change subject: fsm: Allow millisecond granularity in osmo_fsm built-in timer ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I35b330e460e80bb67376c77e997e464439ac5397 Gerrit-Change-Number: 14200 Gerrit-PatchSet: 7 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 Jun 2019 10:01:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 5 10:01:19 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 5 Jun 2019 10:01:19 +0000 Subject: Change in ...libosmocore[master]: fsm: Reduce amount of copy+pasted LOGPFSMSRC() statements In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14363 ) Change subject: fsm: Reduce amount of copy+pasted LOGPFSMSRC() statements ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I49528c4ca1fa11aef09c2092615dccca450b847c Gerrit-Change-Number: 14363 Gerrit-PatchSet: 2 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 05 Jun 2019 10:01: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 5 10:01:21 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 5 Jun 2019 10:01:21 +0000 Subject: Change in ...libosmocore[master]: lapdm: Allow user to specify T200 values; Use correct N200 values In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14339 ) Change subject: lapdm: Allow user to specify T200 values; Use correct N200 values ...................................................................... lapdm: Allow user to specify T200 values; Use correct N200 values TS 04.06 specifies a N200 re-transmission counter that depends on the channel type, which we didn't care about at all so far. Let's have the caller tell us the channel type so we can internally look up the correct N200 value for it. At the same time, permit the user to specify T200 re-transmission timer values for each SAPI on both DCCH and ACCH, which is required at least in the BTS as per GSM TS 12.21. Also, extend the timer resolution of the API from seconds to milli-seconds, which is more applicable as particularly on the FACCH the recommended values are in the 200ms range. Change-Id: I90fdc4dd4720d4e02213197c894eb0a55a39158c Related: OS#3906 Related: OS#2294 Related: OS#4037 --- M include/osmocom/gsm/lapdm.h M src/gsm/lapdm.c M src/gsm/libosmogsm.map 3 files changed, 85 insertions(+), 15 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gsm/lapdm.h b/include/osmocom/gsm/lapdm.h index e01d065..931de80 100644 --- a/include/osmocom/gsm/lapdm.h +++ b/include/osmocom/gsm/lapdm.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include /*! \defgroup lapdm LAPDm implementation according to GSM TS 04.06 @@ -81,9 +82,14 @@ struct lapdm_datalink *lapdm_datalink_for_sapi(struct lapdm_entity *le, uint8_t sapi); /* initialize a LAPDm entity */ -void lapdm_entity_init(struct lapdm_entity *le, enum lapdm_mode mode, int t200); -void lapdm_channel_init(struct lapdm_channel *lc, enum lapdm_mode mode); - +void lapdm_entity_init(struct lapdm_entity *le, enum lapdm_mode mode, int t200) + OSMO_DEPRECATED("Use lapdm_entity_init2() instead"); +void lapdm_entity_init2(struct lapdm_entity *le, enum lapdm_mode mode, + const int *t200_ms, int n200); +void lapdm_channel_init(struct lapdm_channel *lc, enum lapdm_mode mode) + OSMO_DEPRECATED("Use lapdm_channel_init2() instead"); +int lapdm_channel_init2(struct lapdm_channel *lc, enum lapdm_mode mode, + const int *t200_ms_dcch, const int *t200_ms_acch, enum gsm_chan_t chan_t); /* deinitialize a LAPDm entity */ void lapdm_entity_exit(struct lapdm_entity *le); void lapdm_channel_exit(struct lapdm_channel *lc); diff --git a/src/gsm/lapdm.c b/src/gsm/lapdm.c index f1651d6..8084029 100644 --- a/src/gsm/lapdm.c +++ b/src/gsm/lapdm.c @@ -1,7 +1,7 @@ /*! \file lapdm.c * GSM LAPDm (TS 04.06) implementation. */ /* - * (C) 2010-2017 by Harald Welte + * (C) 2010-2019 by Harald Welte * (C) 2010-2011 by Andreas Eversberg * (C) 2014-2016 by sysmocom - s.f.m.c GmbH * @@ -132,7 +132,7 @@ static int update_pending_frames(struct lapd_msg_ctx *lctx); static void lapdm_dl_init(struct lapdm_datalink *dl, - struct lapdm_entity *entity, int t200) + struct lapdm_entity *entity, int t200_ms, uint32_t n200) { memset(dl, 0, sizeof(*dl)); dl->entity = entity; @@ -142,39 +142,101 @@ dl->dl.send_dlsap = send_rslms_dlsap; dl->dl.update_pending_frames = update_pending_frames; dl->dl.n200_est_rel = N200_EST_REL; - dl->dl.n200 = N200; + dl->dl.n200 = n200; dl->dl.t203_sec = 0; dl->dl.t203_usec = 0; - dl->dl.t200_sec = t200; dl->dl.t200_usec = 0; + dl->dl.t200_sec = t200_ms / 1000; dl->dl.t200_usec = (t200_ms % 1000) * 1000; } /*! initialize a LAPDm entity and all datalinks inside * \param[in] le LAPDm entity * \param[in] mode \ref lapdm_mode (BTS/MS) + * \param[in] t200 T200 re-transmission timer for all SAPIs in seconds + * + * Don't use this function; It doesn't support different T200 values per API + * and doesn't permit the caller to specify the N200 counter, both of which + * are required by GSM specs and supported by lapdm_entity_init2(). */ void lapdm_entity_init(struct lapdm_entity *le, enum lapdm_mode mode, int t200) { + /* convert from single full-second value to per-SAPI milli-second value */ + int t200_ms_sapi_arr[_NR_DL_SAPI]; + int i; + + for (i = 0; i < ARRAY_SIZE(t200_ms_sapi_arr); i++) + t200_ms_sapi_arr[i] = t200 * 1000; + + return lapdm_entity_init2(le, mode, t200_ms_sapi_arr, N200); +} + +/*! initialize a LAPDm entity and all datalinks inside + * \param[in] le LAPDm entity + * \param[in] mode lapdm_mode (BTS/MS) + * \param[in] t200_ms per-SAPI array of T200 re-transmission timer in milli-seconds + * \param[in] n200 N200 re-transmisison count + */ +void lapdm_entity_init2(struct lapdm_entity *le, enum lapdm_mode mode, + const int *t200_ms, int n200) +{ unsigned int i; for (i = 0; i < ARRAY_SIZE(le->datalink); i++) - lapdm_dl_init(&le->datalink[i], le, t200); + lapdm_dl_init(&le->datalink[i], le, t200_ms[i], n200); lapdm_entity_set_mode(le, mode); } +static int get_n200_dcch(enum gsm_chan_t chan_t) +{ + switch (chan_t) { + case GSM_LCHAN_SDCCH: + return N200_TR_SDCCH; + case GSM_LCHAN_TCH_F: + return N200_TR_FACCH_FR; + case GSM_LCHAN_TCH_H: + return N200_TR_FACCH_HR; + default: + return -1; + } +} + +/*! initialize a LAPDm channel and all its channels + * \param[in] lc lapdm_channel to be initialized + * \param[in] mode lapdm_mode (BTS/MS) + * + * Don't use this function; It doesn't support different T200 values per API + * and doesn't set the correct N200 counter, both of which + * are required by GSM specs and supported by lapdm_channel_init2(). + */ +void lapdm_channel_init(struct lapdm_channel *lc, enum lapdm_mode mode) +{ + /* emulate old backwards-compatible behavior with 1s/2s */ + const int t200_ms_dcch[_NR_DL_SAPI] = { 1000, 1000 }; + const int t200_ms_acch[_NR_DL_SAPI] = { 2000, 2000 }; + + lapdm_channel_init2(lc, mode, t200_ms_dcch, t200_ms_acch, GSM_LCHAN_SDCCH); +} + /*! initialize a LAPDm channel and all its channels * \param[in] lc \ref lapdm_channel to be initialized * \param[in] mode \ref lapdm_mode (BTS/MS) - * - * This really is a convenience wrapper around calling \ref - * lapdm_entity_init twice. + * \param[in] t200_ms_dcch per-SAPI array of T200 in milli-seconds for DCCH + * \param[in] t200_ms_acch per-SAPI array of T200 in milli-seconds for SACCH + * \param[in] chan_t GSM channel type (to correctly set N200) */ -void lapdm_channel_init(struct lapdm_channel *lc, enum lapdm_mode mode) +int lapdm_channel_init2(struct lapdm_channel *lc, enum lapdm_mode mode, + const int *t200_ms_dcch, const int *t200_ms_acch, enum gsm_chan_t chan_t) { - lapdm_entity_init(&lc->lapdm_acch, mode, 2); + int n200_dcch = get_n200_dcch(chan_t); + if (n200_dcch < 0) + return -EINVAL; + + lapdm_entity_init2(&lc->lapdm_acch, mode, t200_ms_acch, N200_TR_SACCH); lc->lapdm_acch.lapdm_ch = lc; - /* FIXME: this depends on chan type */ - lapdm_entity_init(&lc->lapdm_dcch, mode, 1); + + lapdm_entity_init2(&lc->lapdm_dcch, mode, t200_ms_dcch, n200_dcch); lc->lapdm_dcch.lapdm_ch = lc; + + return 0; } /*! flush and release all resoures in LAPDm entity */ diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 9aa9683..34a1543 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -457,6 +457,7 @@ lapdm_channel_exit; lapdm_channel_init; +lapdm_channel_init2; lapdm_channel_reset; lapdm_channel_set_flags; lapdm_channel_set_l1; @@ -465,6 +466,7 @@ lapdm_datalink_for_sapi; lapdm_entity_exit; lapdm_entity_init; +lapdm_entity_init2; lapdm_entity_reset; lapdm_entity_set_flags; lapdm_entity_set_mode; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I90fdc4dd4720d4e02213197c894eb0a55a39158c Gerrit-Change-Number: 14339 Gerrit-PatchSet: 5 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 5 10:01:21 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 5 Jun 2019 10:01:21 +0000 Subject: Change in ...libosmocore[master]: lapd_core: Perform N200 retransmissions, not N200-1 In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14347 ) Change subject: lapd_core: Perform N200 retransmissions, not N200-1 ...................................................................... lapd_core: Perform N200 retransmissions, not N200-1 During testing with BTS_Tests_LAPDm.TC_t200_n200() it was discovered that the existing LAPD[m] implementation always gave up at N200-1 retransmissions, rather than N200 retransmissions. The first transmission doesn't count, and hence we must have N200 actual re-transmissions. The Error message is then described as "T200 expired N200+1 times", i.e. we start T200 one more time after the last re-transmission and only give up if it expires again (i.e. no ACK received) Change-Id: Ic33854ee61311f73b7db55eeef10280349151097 Related: OS4037 --- M src/gsm/lapd_core.c 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gsm/lapd_core.c b/src/gsm/lapd_core.c index a2ff230..19dff4f 100644 --- a/src/gsm/lapd_core.c +++ b/src/gsm/lapd_core.c @@ -564,7 +564,7 @@ switch (dl->state) { case LAPD_STATE_SABM_SENT: /* 5.4.1.3 */ - if (dl->retrans_ctr + 1 >= dl->n200_est_rel + 1) { + if (dl->retrans_ctr >= dl->n200_est_rel + 1) { /* flush tx and send buffers */ lapd_dl_flush_tx(dl); lapd_dl_flush_send(dl); @@ -589,7 +589,7 @@ break; case LAPD_STATE_DISC_SENT: /* 5.4.4.3 */ - if (dl->retrans_ctr + 1 >= dl->n200_est_rel + 1) { + if (dl->retrans_ctr >= dl->n200_est_rel + 1) { /* send MDL ERROR INIDCATION to L3 */ mdl_error(MDL_CAUSE_T200_EXPIRED, &dl->lctx); /* send RELEASE INDICATION to L3 */ @@ -618,7 +618,7 @@ /* fall through */ case LAPD_STATE_TIMER_RECOV: dl->retrans_ctr++; - if (dl->retrans_ctr < dl->n200) { + if (dl->retrans_ctr <= dl->n200) { uint8_t vs = sub_mod(dl->v_send, 1, dl->v_range); uint8_t h = do_mod(vs, dl->range_hist); /* retransmit I frame (V_s-1) with P=1, if any */ @@ -671,7 +671,7 @@ /* reestablish */ if (!dl->reestablish) break; - LOGP(DLLAPD, LOGL_NOTICE, "N200 reached, performing " + LOGP(DLLAPD, LOGL_NOTICE, "N200+1 reached, performing " "reestablishment. (dl=%p)\n", dl); lapd_reestablish(dl); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic33854ee61311f73b7db55eeef10280349151097 Gerrit-Change-Number: 14347 Gerrit-PatchSet: 4 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 5 10:01:21 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 5 Jun 2019 10:01:21 +0000 Subject: Change in ...libosmocore[master]: fsm: Allow millisecond granularity in osmo_fsm built-in timer In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14200 ) Change subject: fsm: Allow millisecond granularity in osmo_fsm built-in timer ...................................................................... fsm: Allow millisecond granularity in osmo_fsm built-in timer So far, the public API of osmo_fsm only allowed integral seconds as timeout. Let's change that to milli-seconds in order to cover more use cases. This introduces * osmo_fsm_inst_state_chg_ms() * osmo_fsm_inst_state_chg_keep_or_start_timer_ms() Which both work exactly like their previous counterparts without the _ms suffix - the only difference being that the timeout parameter is specified in milli-seconds, not in seconds. The value range for an unsigned long in milli-seconds even on a 32bit platform extends to about 48 days. This patch also removes the documentation notice about limiting the maximum value to 0x7fffffff due to time_t signed-ness. We don't use time_t but unsigned long. Change-Id: I35b330e460e80bb67376c77e997e464439ac5397 --- M include/osmocom/core/fsm.h M src/fsm.c 2 files changed, 46 insertions(+), 23 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/core/fsm.h b/include/osmocom/core/fsm.h index 41d01a5..1701c45 100644 --- a/include/osmocom/core/fsm.h +++ b/include/osmocom/core/fsm.h @@ -243,6 +243,13 @@ unsigned long timeout_secs, int T, const char *file, int line); +#define osmo_fsm_inst_state_chg_ms(fi, new_state, timeout_ms, T) \ + _osmo_fsm_inst_state_chg_ms(fi, new_state, timeout_ms, T, \ + __FILE__, __LINE__) +int _osmo_fsm_inst_state_chg_ms(struct osmo_fsm_inst *fi, uint32_t new_state, + unsigned long timeout_ms, int T, + const char *file, int line); + /*! perform a state change while keeping the current timer running. * * This is useful to keep a timeout across several states (without having to round the @@ -273,6 +280,14 @@ unsigned long timeout_secs, int T, const char *file, int line); +#define osmo_fsm_inst_state_chg_keep_or_start_timer_ms(fi, new_state, timeout_ms, T) \ + _osmo_fsm_inst_state_chg_keep_or_start_timer_ms(fi, new_state, timeout_ms, T, \ + __FILE__, __LINE__) +int _osmo_fsm_inst_state_chg_keep_or_start_timer_ms(struct osmo_fsm_inst *fi, uint32_t new_state, + unsigned long timeout_ms, int T, + const char *file, int line); + + /*! dispatch an event to an osmocom finite state machine instance * * This is a macro that calls _osmo_fsm_inst_dispatch() with the given diff --git a/src/fsm.c b/src/fsm.c index 411797d..37da9f9 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -1,7 +1,7 @@ /*! \file fsm.c * Osmocom generic Finite State Machine implementation. */ /* - * (C) 2016 by Harald Welte + * (C) 2016-2019 by Harald Welte * * SPDX-License-Identifier: GPL-2.0+ * @@ -584,7 +584,7 @@ } static int state_chg(struct osmo_fsm_inst *fi, uint32_t new_state, - bool keep_timer, unsigned long timeout_secs, int T, + bool keep_timer, unsigned long timeout_ms, int T, const char *file, int line) { struct osmo_fsm *fsm = fi->fsm; @@ -592,11 +592,6 @@ const struct osmo_fsm_state *st = &fsm->states[fi->state]; struct timeval remaining; - /* Limit to 0x7fffffff seconds as explained by - * _osmo_fsm_inst_state_chg()'s API doc. */ - if (timeout_secs > 0x7fffffff) - timeout_secs = 0x7fffffff; - /* validate if new_state is a valid state */ if (!(st->out_state_mask & (1 << new_state))) { LOGPFSMLSRC(fi, LOGL_ERROR, file, line, @@ -627,11 +622,18 @@ "State change to %s (keeping " OSMO_T_FMT ", %ld.%03lds remaining)\n", osmo_fsm_state_name(fsm, new_state), OSMO_T_FMT_ARGS(fi->T), remaining.tv_sec, remaining.tv_usec / 1000); - } else if (timeout_secs) - LOGPFSMSRC(fi, file, line, "State change to %s (" OSMO_T_FMT ", %lus)\n", - osmo_fsm_state_name(fsm, new_state), - OSMO_T_FMT_ARGS(T), timeout_secs); - else + } else if (timeout_ms) { + if (timeout_ms % 1000 == 0) { + /* keep log output legacy compatible to avoid autotest failures */ + LOGPFSMSRC(fi, file, line, "State change to %s (" OSMO_T_FMT ", %lus)\n", + osmo_fsm_state_name(fsm, new_state), + OSMO_T_FMT_ARGS(T), timeout_ms/1000); + } else { + LOGPFSMSRC(fi, file, line, "State change to %s (" OSMO_T_FMT ", %lums)\n", + osmo_fsm_state_name(fsm, new_state), + OSMO_T_FMT_ARGS(T), timeout_ms); + } + } else LOGPFSMSRC(fi, file, line, "State change to %s (no timeout)\n", osmo_fsm_state_name(fsm, new_state)); } else { @@ -645,8 +647,8 @@ if (!keep_timer || (keep_timer && !osmo_timer_pending(&fi->timer))) { fi->T = T; - if (timeout_secs) - osmo_timer_schedule(&fi->timer, timeout_secs, 0); + if (timeout_ms) + osmo_timer_schedule(&fi->timer, timeout_ms / 1000, timeout_ms % 1000); } /* Call 'onenter' last, user might terminate FSM from there */ @@ -686,13 +688,6 @@ * provides a unified way to configure and apply GSM style Tnnnn timers to FSM * state transitions. * - * Range: since time_t's maximum value is not well defined in a cross platform - * way, clamp timeout_secs to the maximum of the signed 32bit range, or roughly - * 68 years (float(0x7fffffff) / (60. * 60 * 24 * 365.25) = 68.0497). Thus - * ensure that very large timeouts do not wrap around to become very small - * ones. Note though that this might still be unsafe on systems with a time_t - * range below 32 bits. - * * \param[in] fi FSM instance whose state is to change * \param[in] new_state The new state into which we should change * \param[in] timeout_secs Timeout in seconds (if !=0), maximum-clamped to 2147483647 seconds. @@ -707,7 +702,13 @@ unsigned long timeout_secs, int T, const char *file, int line) { - return state_chg(fi, new_state, false, timeout_secs, T, file, line); + return state_chg(fi, new_state, false, timeout_secs*1000, T, file, line); +} +int _osmo_fsm_inst_state_chg_ms(struct osmo_fsm_inst *fi, uint32_t new_state, + unsigned long timeout_ms, int T, + const char *file, int line) +{ + return state_chg(fi, new_state, false, timeout_ms, T, file, line); } /*! perform a state change while keeping the current timer running. @@ -761,8 +762,15 @@ unsigned long timeout_secs, int T, const char *file, int line) { - return state_chg(fi, new_state, true, timeout_secs, T, file, line); + return state_chg(fi, new_state, true, timeout_secs*1000, T, file, line); } +int _osmo_fsm_inst_state_chg_keep_or_start_timer_ms(struct osmo_fsm_inst *fi, uint32_t new_state, + unsigned long timeout_ms, int T, + const char *file, int line) +{ + return state_chg(fi, new_state, true, timeout_ms, T, file, line); +} + /*! dispatch an event to an osmocom finite state machine instance * -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I35b330e460e80bb67376c77e997e464439ac5397 Gerrit-Change-Number: 14200 Gerrit-PatchSet: 8 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 5 10:01:22 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 5 Jun 2019 10:01:22 +0000 Subject: Change in ...libosmocore[master]: fsm: Reduce amount of copy+pasted LOGPFSMSRC() statements In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14363 ) Change subject: fsm: Reduce amount of copy+pasted LOGPFSMSRC() statements ...................................................................... fsm: Reduce amount of copy+pasted LOGPFSMSRC() statements Instead of copy+pasting the same LOGPFSMSRC("State change to " ...) with slightly different trailer depending on the FSM timer, let's first snprintf() to a stack variable and then have a single log statement. Change-Id: I49528c4ca1fa11aef09c2092615dccca450b847c --- M src/fsm.c 1 file changed, 15 insertions(+), 17 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/fsm.c b/src/fsm.c index 37da9f9..337786d 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -609,33 +609,31 @@ st->onleave(fi, new_state); if (fsm_log_timeouts) { + char trailer[64]; + trailer[0] = '\0'; if (keep_timer && fi->timer.active) { /* This should always give us a timeout, but just in case the return value indicates error, omit * logging the remaining time. */ if (osmo_timer_remaining(&fi->timer, NULL, &remaining)) - LOGPFSMSRC(fi, file, line, - "State change to %s (keeping " OSMO_T_FMT ")\n", - osmo_fsm_state_name(fsm, new_state), - OSMO_T_FMT_ARGS(fi->T)); + snprintf(trailer, sizeof(trailer), "(keeping " OSMO_T_FMT ")", + OSMO_T_FMT_ARGS(fi->T)); else - LOGPFSMSRC(fi, file, line, - "State change to %s (keeping " OSMO_T_FMT ", %ld.%03lds remaining)\n", - osmo_fsm_state_name(fsm, new_state), - OSMO_T_FMT_ARGS(fi->T), remaining.tv_sec, remaining.tv_usec / 1000); + snprintf(trailer, sizeof(trailer), "(keeping " OSMO_T_FMT + ", %ld.%03lds remaining)", OSMO_T_FMT_ARGS(fi->T), + remaining.tv_sec, remaining.tv_usec / 1000); } else if (timeout_ms) { - if (timeout_ms % 1000 == 0) { + if (timeout_ms % 1000 == 0) /* keep log output legacy compatible to avoid autotest failures */ - LOGPFSMSRC(fi, file, line, "State change to %s (" OSMO_T_FMT ", %lus)\n", - osmo_fsm_state_name(fsm, new_state), + snprintf(trailer, sizeof(trailer), "(" OSMO_T_FMT ", %lus)", OSMO_T_FMT_ARGS(T), timeout_ms/1000); - } else { - LOGPFSMSRC(fi, file, line, "State change to %s (" OSMO_T_FMT ", %lums)\n", - osmo_fsm_state_name(fsm, new_state), + else + snprintf(trailer, sizeof(trailer), "(" OSMO_T_FMT ", %lums)", OSMO_T_FMT_ARGS(T), timeout_ms); - } } else - LOGPFSMSRC(fi, file, line, "State change to %s (no timeout)\n", - osmo_fsm_state_name(fsm, new_state)); + snprintf(trailer, sizeof(trailer), "(no timeout)"); + + LOGPFSMSRC(fi, file, line, "State change to %s %s\n", + osmo_fsm_state_name(fsm, new_state), trailer); } else { LOGPFSMSRC(fi, file, line, "state_chg to %s\n", osmo_fsm_state_name(fsm, new_state)); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I49528c4ca1fa11aef09c2092615dccca450b847c Gerrit-Change-Number: 14363 Gerrit-PatchSet: 3 Gerrit-Owner: Harald Welte Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 5 10:24:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 Jun 2019 10:24:35 +0000 Subject: Change in ...osmo-sgsn[master]: osmo-sgsn: get rid of OSMO_ASSERT() in 'auth-policy' handler In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14195 ) Change subject: osmo-sgsn: get rid of OSMO_ASSERT() in 'auth-policy' handler ...................................................................... Patch Set 2: I created https://osmocom.org/issues/4045 to track this issue and a fix for libosmovty. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If9b0c0d031477ca87786aab5c269d00748e896c8 Gerrit-Change-Number: 14195 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 Jun 2019 10:24: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 5 11:16:57 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 Jun 2019 11:16:57 +0000 Subject: Change in ...osmo-sgsn[master]: osmo-sgsn: get rid of OSMO_ASSERT() in 'auth-policy' handler In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14195 ) Change subject: osmo-sgsn: get rid of OSMO_ASSERT() in 'auth-policy' handler ...................................................................... Patch Set 2: > I created https://osmocom.org/issues/4045 to track this issue and a fix for libosmovty. Thanks. Please also see: https://gerrit.osmocom.org/#/c/libosmocore/+/14307/ -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If9b0c0d031477ca87786aab5c269d00748e896c8 Gerrit-Change-Number: 14195 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 Jun 2019 11:16: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 5 11:36:36 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 Jun 2019 11:36:36 +0000 Subject: Change in ...osmo-msc[master]: debian/control: add missing libdbd-sqlite3 to Build-Depends Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14380 Change subject: debian/control: add missing libdbd-sqlite3 to Build-Depends ...................................................................... debian/control: add missing libdbd-sqlite3 to Build-Depends The libdbd-sqlite3 provides SQLite3 driver for libdbi. We use it by default for the built-in SMS Centre. Since [1], we have unit test coverage for the db_sms_* API, thus we need libdbd-sqlite3 to be installed at build-time. [1] Id94ad35b6f78f839137db2e17010fbf9b40111a3 Change-Id: Ice9fb11f5b8a39abecee426d2fadcf62b7ee47c4 --- M debian/control 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/80/14380/1 diff --git a/debian/control b/debian/control index 8b0d690..887e386 100644 --- a/debian/control +++ b/debian/control @@ -10,6 +10,7 @@ libtool, pkg-config, libdbi-dev, + libdbd-sqlite3, libsctp-dev, libtalloc-dev, libsmpp34-dev (>= 1.12), -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ice9fb11f5b8a39abecee426d2fadcf62b7ee47c4 Gerrit-Change-Number: 14380 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 5 11:49:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 Jun 2019 11:49:46 +0000 Subject: Change in ...libosmocore[master]: vty_transcript_test.vty: add choice auto-complete tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14307 ) Change subject: vty_transcript_test.vty: add choice auto-complete tests ...................................................................... Patch Set 1: Code-Review+2 So IIUC this commit proves the "wrong behavior" through a test, and you'll fix it + check test expectations in next commit. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I83c3aef813173952641035862c534ef16384780e Gerrit-Change-Number: 14307 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 Jun 2019 11:49:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 5 11:50:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 Jun 2019 11:50:53 +0000 Subject: Change in ...osmo-msc[master]: debian/control: add missing libdbd-sqlite3 to Build-Depends In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14380 ) Change subject: debian/control: add missing libdbd-sqlite3 to Build-Depends ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ice9fb11f5b8a39abecee426d2fadcf62b7ee47c4 Gerrit-Change-Number: 14380 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 Jun 2019 11: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 Wed Jun 5 13:02:34 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 5 Jun 2019 13:02:34 +0000 Subject: Change in ...osmo-msc[master]: debian/control: add missing libdbd-sqlite3 to Build-Depends In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14380 ) Change subject: debian/control: add missing libdbd-sqlite3 to Build-Depends ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ice9fb11f5b8a39abecee426d2fadcf62b7ee47c4 Gerrit-Change-Number: 14380 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 Jun 2019 13:02: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 5 14:20:20 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 Jun 2019 14:20:20 +0000 Subject: Change in ...osmo-bts[master]: Use #define RSL_CHAN_RACH for RSL Channel Number of RACH Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14381 Change subject: Use #define RSL_CHAN_RACH for RSL Channel Number of RACH ...................................................................... Use #define RSL_CHAN_RACH for RSL Channel Number of RACH Change-Id: I7f54fccdae6799e5f4d956a101e11c2d6f998546 --- M src/common/rsl.c M src/osmo-bts-litecell15/l1_if.c M src/osmo-bts-oc2g/l1_if.c M src/osmo-bts-octphy/l1_if.c M src/osmo-bts-sysmo/l1_if.c 5 files changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/81/14381/1 diff --git a/src/common/rsl.c b/src/common/rsl.c index 410b38a..7630a8c 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -883,7 +883,7 @@ /* 9.3.17 Access Delay */ msgb_tv_put(nmsg, RSL_IE_ACCESS_DELAY, acc_delay); - rsl_cch_push_hdr(nmsg, RSL_MT_CHAN_RQD, 0x88); // FIXME + rsl_cch_push_hdr(nmsg, RSL_MT_CHAN_RQD, RSL_CHAN_RACH); // FIXME nmsg->trx = trx; return abis_bts_rsl_sendmsg(nmsg); diff --git a/src/osmo-bts-litecell15/l1_if.c b/src/osmo-bts-litecell15/l1_if.c index 99852e3..3710fa8 100644 --- a/src/osmo-bts-litecell15/l1_if.c +++ b/src/osmo-bts-litecell15/l1_if.c @@ -1035,7 +1035,7 @@ if (!lchan || lchan->ts->pchan == GSM_PCHAN_CCCH || lchan->ts->pchan == GSM_PCHAN_CCCH_SDCCH4 || lchan->ts->pchan == GSM_PCHAN_CCCH_SDCCH4_CBCH) - rach_ind_param.chan_nr = 0x88; + rach_ind_param.chan_nr = RSL_CHAN_RACH; else rach_ind_param.chan_nr = gsm_lchan2chan_nr(lchan); diff --git a/src/osmo-bts-oc2g/l1_if.c b/src/osmo-bts-oc2g/l1_if.c index 87c7cf7..d9c8da0 100644 --- a/src/osmo-bts-oc2g/l1_if.c +++ b/src/osmo-bts-oc2g/l1_if.c @@ -1091,7 +1091,7 @@ if (!lchan || lchan->ts->pchan == GSM_PCHAN_CCCH || lchan->ts->pchan == GSM_PCHAN_CCCH_SDCCH4 || lchan->ts->pchan == GSM_PCHAN_CCCH_SDCCH4_CBCH) - rach_ind_param.chan_nr = 0x88; + rach_ind_param.chan_nr = RSL_CHAN_RACH; else rach_ind_param.chan_nr = gsm_lchan2chan_nr(lchan); diff --git a/src/osmo-bts-octphy/l1_if.c b/src/osmo-bts-octphy/l1_if.c index f149c04..32e738f 100644 --- a/src/osmo-bts-octphy/l1_if.c +++ b/src/osmo-bts-octphy/l1_if.c @@ -1195,7 +1195,7 @@ if (ra_ind->LchId.bySubChannelNb == cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_ALL && ra_ind->LchId.bySAPI == cOCTVC1_GSM_SAPI_ENUM_RACH) { - rach_ind_param.chan_nr = 0x88; + rach_ind_param.chan_nr = RSL_CHAN_RACH; } else { struct gsm_lchan *lchan = get_lchan_by_lchid(trx, &ra_ind->LchId); rach_ind_param.chan_nr = gsm_lchan2chan_nr(lchan); diff --git a/src/osmo-bts-sysmo/l1_if.c b/src/osmo-bts-sysmo/l1_if.c index 6f61c67..0777d0e 100644 --- a/src/osmo-bts-sysmo/l1_if.c +++ b/src/osmo-bts-sysmo/l1_if.c @@ -1030,7 +1030,7 @@ if (!lchan || lchan->ts->pchan == GSM_PCHAN_CCCH || lchan->ts->pchan == GSM_PCHAN_CCCH_SDCCH4 || lchan->ts->pchan == GSM_PCHAN_CCCH_SDCCH4_CBCH) - rach_ind_param.chan_nr = 0x88; + rach_ind_param.chan_nr = RSL_CHAN_RACH; else rach_ind_param.chan_nr = gsm_lchan2chan_nr(lchan); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7f54fccdae6799e5f4d956a101e11c2d6f998546 Gerrit-Change-Number: 14381 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 5 16:24:43 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 5 Jun 2019 16:24:43 +0000 Subject: Change in ...osmo-msc[master]: debian/control: add missing libdbd-sqlite3 to Build-Depends In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14380 ) Change subject: debian/control: add missing libdbd-sqlite3 to Build-Depends ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ice9fb11f5b8a39abecee426d2fadcf62b7ee47c4 Gerrit-Change-Number: 14380 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 Jun 2019 16:24:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 5 16:24:44 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 5 Jun 2019 16:24:44 +0000 Subject: Change in ...osmo-msc[master]: debian/control: add missing libdbd-sqlite3 to Build-Depends In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14380 ) Change subject: debian/control: add missing libdbd-sqlite3 to Build-Depends ...................................................................... debian/control: add missing libdbd-sqlite3 to Build-Depends The libdbd-sqlite3 provides SQLite3 driver for libdbi. We use it by default for the built-in SMS Centre. Since [1], we have unit test coverage for the db_sms_* API, thus we need libdbd-sqlite3 to be installed at build-time. [1] Id94ad35b6f78f839137db2e17010fbf9b40111a3 Change-Id: Ice9fb11f5b8a39abecee426d2fadcf62b7ee47c4 --- M debian/control 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve osmith: Looks good to me, approved Harald Welte: Looks good to me, approved diff --git a/debian/control b/debian/control index 8b0d690..887e386 100644 --- a/debian/control +++ b/debian/control @@ -10,6 +10,7 @@ libtool, pkg-config, libdbi-dev, + libdbd-sqlite3, libsctp-dev, libtalloc-dev, libsmpp34-dev (>= 1.12), -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ice9fb11f5b8a39abecee426d2fadcf62b7ee47c4 Gerrit-Change-Number: 14380 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 5 16:25:06 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 5 Jun 2019 16:25:06 +0000 Subject: Change in ...osmo-bts[master]: Use #define RSL_CHAN_RACH for RSL Channel Number of RACH In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14381 ) Change subject: Use #define RSL_CHAN_RACH for RSL Channel Number of RACH ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7f54fccdae6799e5f4d956a101e11c2d6f998546 Gerrit-Change-Number: 14381 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 05 Jun 2019 16:25: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 5 16:25:07 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 5 Jun 2019 16:25:07 +0000 Subject: Change in ...osmo-bts[master]: Use #define RSL_CHAN_RACH for RSL Channel Number of RACH In-Reply-To: References: Message-ID: Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14381 ) Change subject: Use #define RSL_CHAN_RACH for RSL Channel Number of RACH ...................................................................... Use #define RSL_CHAN_RACH for RSL Channel Number of RACH Change-Id: I7f54fccdae6799e5f4d956a101e11c2d6f998546 --- M src/common/rsl.c M src/osmo-bts-litecell15/l1_if.c M src/osmo-bts-oc2g/l1_if.c M src/osmo-bts-octphy/l1_if.c M src/osmo-bts-sysmo/l1_if.c 5 files changed, 5 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/src/common/rsl.c b/src/common/rsl.c index 410b38a..7630a8c 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -883,7 +883,7 @@ /* 9.3.17 Access Delay */ msgb_tv_put(nmsg, RSL_IE_ACCESS_DELAY, acc_delay); - rsl_cch_push_hdr(nmsg, RSL_MT_CHAN_RQD, 0x88); // FIXME + rsl_cch_push_hdr(nmsg, RSL_MT_CHAN_RQD, RSL_CHAN_RACH); // FIXME nmsg->trx = trx; return abis_bts_rsl_sendmsg(nmsg); diff --git a/src/osmo-bts-litecell15/l1_if.c b/src/osmo-bts-litecell15/l1_if.c index 99852e3..3710fa8 100644 --- a/src/osmo-bts-litecell15/l1_if.c +++ b/src/osmo-bts-litecell15/l1_if.c @@ -1035,7 +1035,7 @@ if (!lchan || lchan->ts->pchan == GSM_PCHAN_CCCH || lchan->ts->pchan == GSM_PCHAN_CCCH_SDCCH4 || lchan->ts->pchan == GSM_PCHAN_CCCH_SDCCH4_CBCH) - rach_ind_param.chan_nr = 0x88; + rach_ind_param.chan_nr = RSL_CHAN_RACH; else rach_ind_param.chan_nr = gsm_lchan2chan_nr(lchan); diff --git a/src/osmo-bts-oc2g/l1_if.c b/src/osmo-bts-oc2g/l1_if.c index 87c7cf7..d9c8da0 100644 --- a/src/osmo-bts-oc2g/l1_if.c +++ b/src/osmo-bts-oc2g/l1_if.c @@ -1091,7 +1091,7 @@ if (!lchan || lchan->ts->pchan == GSM_PCHAN_CCCH || lchan->ts->pchan == GSM_PCHAN_CCCH_SDCCH4 || lchan->ts->pchan == GSM_PCHAN_CCCH_SDCCH4_CBCH) - rach_ind_param.chan_nr = 0x88; + rach_ind_param.chan_nr = RSL_CHAN_RACH; else rach_ind_param.chan_nr = gsm_lchan2chan_nr(lchan); diff --git a/src/osmo-bts-octphy/l1_if.c b/src/osmo-bts-octphy/l1_if.c index f149c04..32e738f 100644 --- a/src/osmo-bts-octphy/l1_if.c +++ b/src/osmo-bts-octphy/l1_if.c @@ -1195,7 +1195,7 @@ if (ra_ind->LchId.bySubChannelNb == cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_ALL && ra_ind->LchId.bySAPI == cOCTVC1_GSM_SAPI_ENUM_RACH) { - rach_ind_param.chan_nr = 0x88; + rach_ind_param.chan_nr = RSL_CHAN_RACH; } else { struct gsm_lchan *lchan = get_lchan_by_lchid(trx, &ra_ind->LchId); rach_ind_param.chan_nr = gsm_lchan2chan_nr(lchan); diff --git a/src/osmo-bts-sysmo/l1_if.c b/src/osmo-bts-sysmo/l1_if.c index 6f61c67..0777d0e 100644 --- a/src/osmo-bts-sysmo/l1_if.c +++ b/src/osmo-bts-sysmo/l1_if.c @@ -1030,7 +1030,7 @@ if (!lchan || lchan->ts->pchan == GSM_PCHAN_CCCH || lchan->ts->pchan == GSM_PCHAN_CCCH_SDCCH4 || lchan->ts->pchan == GSM_PCHAN_CCCH_SDCCH4_CBCH) - rach_ind_param.chan_nr = 0x88; + rach_ind_param.chan_nr = RSL_CHAN_RACH; else rach_ind_param.chan_nr = gsm_lchan2chan_nr(lchan); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7f54fccdae6799e5f4d956a101e11c2d6f998546 Gerrit-Change-Number: 14381 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 5 16:25:48 2019 From: gerrit-no-reply at lists.osmocom.org (Harald Welte) Date: Wed, 5 Jun 2019 16:25:48 +0000 Subject: Change in ...osmo-msc[master]: db_sms_test: Remove libdbi expected driver load errors In-Reply-To: References: Message-ID: Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14362 ) Change subject: db_sms_test: Remove libdbi expected driver load errors ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Iec78826d28435f464be22e81b3776a6ae8326d59 Gerrit-Change-Number: 14362 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Assignee: fixeria Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 Jun 2019 16:25: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 5 17:01:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 5 Jun 2019 17:01:06 +0000 Subject: Change in ...osmo-msc[master]: db_sms_test: Remove libdbi expected driver load errors In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14362 ) Change subject: db_sms_test: Remove libdbi expected driver load errors ...................................................................... db_sms_test: Remove libdbi expected driver load errors Newer versions of libdbi print to stderr unconditionally when trying to load drivers from /usr/lib/dbd. This makes test output to change depending on host/distro set up (installed modules). Let's get those messages out to make it easier for people having tests pass. We swap stderr/stdout instead of mixing to avoud future possible race conditions if both get content writen into them. Change-Id: Iec78826d28435f464be22e81b3776a6ae8326d59 --- M tests/db_sms/db_sms_test.err M tests/db_sms/db_sms_test.ok M tests/testsuite.at 3 files changed, 77 insertions(+), 76 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/db_sms/db_sms_test.err b/tests/db_sms/db_sms_test.err index c61b1f4..e69de29 100644 --- a/tests/db_sms/db_sms_test.err +++ b/tests/db_sms/db_sms_test.err @@ -1,75 +0,0 @@ -DDB DEBUG Init a new database -DDB DEBUG Init complete -DDB INFO Testing db_sms_store()... -DDB NOTICE test_db_sms_store('Regular MO SMS'): success, as expected -DDB NOTICE test_db_sms_store('Regular MT SMS'): success, as expected -DDB NOTICE test_db_sms_store('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected -DDB NOTICE test_db_sms_store('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected -DDB NOTICE test_db_sms_store('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected -DDB NOTICE test_db_sms_store('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected -DDB NOTICE test_db_sms_store('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected -DDB NOTICE test_db_sms_store('Same MSISDN #1'): success, as expected -DDB NOTICE test_db_sms_store('Same MSISDN #2'): success, as expected -DDB NOTICE test_db_sms_store('Expired SMS'): success, as expected -DDB NOTICE test_db_sms_store('Empty TP-UD'): success, as expected -DDB INFO Testing db_sms_get()... -DDB NOTICE test_db_sms_get('Regular MO SMS'): success, as expected -DDB NOTICE verify_sms('Regular MO SMS'): match -DDB NOTICE test_db_sms_get('Regular MT SMS'): success, as expected -DDB NOTICE verify_sms('Regular MT SMS'): match -DDB NOTICE test_db_sms_get('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch -DDB NOTICE test_db_sms_get('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch -DDB NOTICE test_db_sms_get('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected -DDB NOTICE verify_sms('TP-UD buffer overflow (UDH-Length > UD-Length)'): match -DDB NOTICE test_db_sms_get('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch -DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch -DDB NOTICE test_db_sms_get('Same MSISDN #1'): success, as expected -DDB NOTICE verify_sms('Same MSISDN #1'): match -DDB NOTICE test_db_sms_get('Same MSISDN #2'): success, as expected -DDB NOTICE verify_sms('Same MSISDN #2'): match -DDB NOTICE test_db_sms_get('Expired SMS'): success, as expected -DDB NOTICE verify_sms('Expired SMS'): match -DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected -DDB NOTICE verify_sms('Empty TP-UD'): match -DDB INFO Testing db_sms_get_next_unsent() and db_sms_mark_delivered()... -DDB NOTICE db_sms_get_next_unsent(#1): found -DDB NOTICE verify_sms('Regular MO SMS'): match -DDB NOTICE db_sms_get_next_unsent(#2): found -DDB NOTICE verify_sms('Regular MT SMS'): match -DDB DEBUG Marking #1 as delivered: rc=0 -DDB DEBUG Marking #2 as delivered: rc=0 -DDB NOTICE db_sms_get_next_unsent(starting from #1): found -DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch -DDB INFO Testing db_sms_delete_sent_message_by_id()... -DDB NOTICE db_sms_delete_sent_message_by_id(#1, sent): rc=0 -DDB NOTICE db_sms_delete_sent_message_by_id(#3, not sent): rc=0 -DDB INFO Testing db_sms_delete_by_msisdn()... -DDB NOTICE db_sms_delete_by_msisdn('72631'): rc=0 -DDB INFO Testing db_sms_delete_oldest_expired_message()... -DDB NOTICE db_sms_delete_oldest_expired_message() -DDB INFO Expectations updated, retrieving all messages again -DDB INFO Testing db_sms_get()... -DDB NOTICE test_db_sms_get('Regular MO SMS'): failure, as expected -DDB NOTICE test_db_sms_get('Regular MT SMS'): success, as expected -DDB NOTICE verify_sms('Regular MT SMS'): match -DDB NOTICE test_db_sms_get('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch -DDB NOTICE test_db_sms_get('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch -DDB NOTICE test_db_sms_get('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected -DDB NOTICE verify_sms('TP-UD buffer overflow (UDH-Length > UD-Length)'): match -DDB NOTICE test_db_sms_get('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch -DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected -DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch -DDB NOTICE test_db_sms_get('Same MSISDN #1'): failure, as expected -DDB NOTICE test_db_sms_get('Same MSISDN #2'): failure, as expected -DDB NOTICE test_db_sms_get('Expired SMS'): unexpected result -DDB NOTICE verify_sms('Expired SMS'): match -DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected -DDB NOTICE verify_sms('Empty TP-UD'): match -full talloc report on 'null_context' (total 0 bytes in 1 blocks) diff --git a/tests/db_sms/db_sms_test.ok b/tests/db_sms/db_sms_test.ok index e69de29..c61b1f4 100644 --- a/tests/db_sms/db_sms_test.ok +++ b/tests/db_sms/db_sms_test.ok @@ -0,0 +1,75 @@ +DDB DEBUG Init a new database +DDB DEBUG Init complete +DDB INFO Testing db_sms_store()... +DDB NOTICE test_db_sms_store('Regular MO SMS'): success, as expected +DDB NOTICE test_db_sms_store('Regular MT SMS'): success, as expected +DDB NOTICE test_db_sms_store('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected +DDB NOTICE test_db_sms_store('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected +DDB NOTICE test_db_sms_store('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected +DDB NOTICE test_db_sms_store('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected +DDB NOTICE test_db_sms_store('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected +DDB NOTICE test_db_sms_store('Same MSISDN #1'): success, as expected +DDB NOTICE test_db_sms_store('Same MSISDN #2'): success, as expected +DDB NOTICE test_db_sms_store('Expired SMS'): success, as expected +DDB NOTICE test_db_sms_store('Empty TP-UD'): success, as expected +DDB INFO Testing db_sms_get()... +DDB NOTICE test_db_sms_get('Regular MO SMS'): success, as expected +DDB NOTICE verify_sms('Regular MO SMS'): match +DDB NOTICE test_db_sms_get('Regular MT SMS'): success, as expected +DDB NOTICE verify_sms('Regular MT SMS'): match +DDB NOTICE test_db_sms_get('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch +DDB NOTICE test_db_sms_get('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch +DDB NOTICE test_db_sms_get('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected +DDB NOTICE verify_sms('TP-UD buffer overflow (UDH-Length > UD-Length)'): match +DDB NOTICE test_db_sms_get('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch +DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch +DDB NOTICE test_db_sms_get('Same MSISDN #1'): success, as expected +DDB NOTICE verify_sms('Same MSISDN #1'): match +DDB NOTICE test_db_sms_get('Same MSISDN #2'): success, as expected +DDB NOTICE verify_sms('Same MSISDN #2'): match +DDB NOTICE test_db_sms_get('Expired SMS'): success, as expected +DDB NOTICE verify_sms('Expired SMS'): match +DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected +DDB NOTICE verify_sms('Empty TP-UD'): match +DDB INFO Testing db_sms_get_next_unsent() and db_sms_mark_delivered()... +DDB NOTICE db_sms_get_next_unsent(#1): found +DDB NOTICE verify_sms('Regular MO SMS'): match +DDB NOTICE db_sms_get_next_unsent(#2): found +DDB NOTICE verify_sms('Regular MT SMS'): match +DDB DEBUG Marking #1 as delivered: rc=0 +DDB DEBUG Marking #2 as delivered: rc=0 +DDB NOTICE db_sms_get_next_unsent(starting from #1): found +DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch +DDB INFO Testing db_sms_delete_sent_message_by_id()... +DDB NOTICE db_sms_delete_sent_message_by_id(#1, sent): rc=0 +DDB NOTICE db_sms_delete_sent_message_by_id(#3, not sent): rc=0 +DDB INFO Testing db_sms_delete_by_msisdn()... +DDB NOTICE db_sms_delete_by_msisdn('72631'): rc=0 +DDB INFO Testing db_sms_delete_oldest_expired_message()... +DDB NOTICE db_sms_delete_oldest_expired_message() +DDB INFO Expectations updated, retrieving all messages again +DDB INFO Testing db_sms_get()... +DDB NOTICE test_db_sms_get('Regular MO SMS'): failure, as expected +DDB NOTICE test_db_sms_get('Regular MT SMS'): success, as expected +DDB NOTICE verify_sms('Regular MT SMS'): match +DDB NOTICE test_db_sms_get('Complete TP-UD (160 septets, 7-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Complete TP-UD (160 septets, 7-bit encoding)'): TP-User-Data mismatch +DDB NOTICE test_db_sms_get('Complete TP-UD (140 octets, 8-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Complete TP-UD (140 octets, 8-bit encoding)'): TP-User-Data mismatch +DDB NOTICE test_db_sms_get('TP-UD buffer overflow (UDH-Length > UD-Length)'): success, as expected +DDB NOTICE verify_sms('TP-UD buffer overflow (UDH-Length > UD-Length)'): match +DDB NOTICE test_db_sms_get('Truncated TP-UD (200 septets, 7-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Truncated TP-UD (200 septets, 7-bit encoding)'): TP-User-Data mismatch +DDB NOTICE test_db_sms_get('Truncated TP-UD (255 octets, 8-bit encoding)'): success, as expected +DDB NOTICE verify_sms('Truncated TP-UD (255 octets, 8-bit encoding)'): TP-User-Data mismatch +DDB NOTICE test_db_sms_get('Same MSISDN #1'): failure, as expected +DDB NOTICE test_db_sms_get('Same MSISDN #2'): failure, as expected +DDB NOTICE test_db_sms_get('Expired SMS'): unexpected result +DDB NOTICE verify_sms('Expired SMS'): match +DDB NOTICE test_db_sms_get('Empty TP-UD'): success, as expected +DDB NOTICE verify_sms('Empty TP-UD'): match +full talloc report on 'null_context' (total 0 bytes in 1 blocks) diff --git a/tests/testsuite.at b/tests/testsuite.at index cd01bf1..c0788b9 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -20,7 +20,8 @@ AT_KEYWORDS([db_sms_test]) cat $abs_srcdir/db_sms/db_sms_test.ok > expout cat $abs_srcdir/db_sms/db_sms_test.err > experr -AT_CHECK([$abs_top_builddir/tests/db_sms/db_sms_test], [], [expout], [experr]) +# swap the output from stderr and stdout so we can drop libdbi prints to stderr when trying to load wrong drivers +AT_CHECK([$abs_top_builddir/tests/db_sms/db_sms_test 3>&1 1>&2 2>&3 | grep -v "Failed to load driver" | grep -v "cannot open shared object file"], [], [expout], [experr]) AT_CLEANUP AT_SETUP([msc_vlr_test_no_authen]) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Iec78826d28435f464be22e81b3776a6ae8326d59 Gerrit-Change-Number: 14362 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Assignee: fixeria Gerrit-Reviewer: Harald Welte 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 5 18:03:25 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 Jun 2019 18:03:25 +0000 Subject: Change in ...osmo-trx[master]: Add rate_ctr support to store/retrieve SDR errors through VTY In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14167 ) Change subject: Add rate_ctr support to store/retrieve SDR errors through VTY ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I78b158141697e5714d04db8b9ccc96f31f34f439 Gerrit-Change-Number: 14167 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 05 Jun 2019 18:03:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 5 18:05:17 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 Jun 2019 18:05:17 +0000 Subject: Change in ...osmo-trx[master]: lms: Drop unusued variable masterClockRate In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14367 ) Change subject: lms: Drop unusued variable masterClockRate ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I19192925d008046f474615a0476b52ddee9a9d78 Gerrit-Change-Number: 14367 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 05 Jun 2019 18: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 Wed Jun 5 18:05:40 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 5 Jun 2019 18:05:40 +0000 Subject: Change in ...osmo-trx[master]: lms: Fix stream_stats checks with overrun/underrun In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14368 ) Change subject: lms: Fix stream_stats checks with overrun/underrun ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I677232a7b12ee83d26aa34d92f76a91d4b5a63a6 Gerrit-Change-Number: 14368 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 05 Jun 2019 18:05:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Jun 6 02:41:14 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 06 Jun 2019 02:41:14 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5cf87d671a89_75ead65ec788d1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 560s] -Returned: 0, Current node: 1 '%s> ' [ 560s] -Going to execute 'ambiguous_str' [ 560s] -Called: 'ambiguous_str [ARG]' (argc=0) [ 560s] -Returned: 0, Current node: 1 '%s> ' [ 560s] -Going to execute 'ambiguous_str arg' [ 560s] -Called: 'ambiguous_str [ARG]' (argc=1) [ 560s] -Returned: 0, Current node: 1 '%s> ' [ 560s] -Going to execute 'ambiguous_str arg keyword' [ 560s] -Called: 'ambiguous_str ARG keyword' [ 560s] -Returned: 0, Current node: 1 '%s> ' [ 560s] -All tests passed [ 560s] ./testsuite.at:196: exit code was 139, expected 0 [ 560s] 31. testsuite.at:192: 31. vty (testsuite.at:192): FAILED (testsuite.at:196) [ 560s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 560s] make[1]: *** [override_dh_auto_test] Error 1 [ 560s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 560s] debian/rules:15: recipe for target 'build' failed [ 560s] make: *** [build] Error 2 [ 560s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 560s] [ 560s] armbuild22 failed "build libosmocore_1.1.0.48.cb5e.dsc" at Thu Jun 6 02:41:08 UTC 2019. [ 560s] [ 560s] ### VM INTERACTION START ### [ 562s] [ 543.087685] sysrq: SysRq : Power Off [ 562s] [ 543.089239] reboot: Power down [ 563s] ### VM INTERACTION END ### [ 563s] [ 563s] armbuild22 failed "build libosmocore_1.1.0.48.cb5e.dsc" at Thu Jun 6 02:41:12 UTC 2019. [ 563s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Jun 6 06:26:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 06:26:30 +0000 Subject: Change in ...libosmocore[master]: vty_transcript_test.vty: add choice auto-complete tests In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14307 ) Change subject: vty_transcript_test.vty: add choice auto-complete tests ...................................................................... vty_transcript_test.vty: add choice auto-complete tests This patch is a result of discussion we had in [1]. The key idea is that libosmovty should properly auto-complete the commands containing choice, such as the following one: multi0 (one|two|three) [1] If9b0c0d031477ca87786aab5c269d00748e896c8 Right now, sending the following command: (osmo-foo-bar)# multi0 th would basically match the following vector: multi0 three however the resulting argv would be: ["multi0", "th"] Moreover, sending the following command: (osmo-foo-bar)# multi0 t would basically match the following vectors: multi0 two multi0 three because both start from 't', so the resulting argv would be: ["multi0", "t"] which is ambiguous! The expected output is: (osmo-foo-bar)# multi0 th ok argc=1 three (osmo-foo-bar)# multi0 t % Ambiguous command. This is going to be fixed in the follow up patches. Change-Id: I83c3aef813173952641035862c534ef16384780e --- M tests/vty/vty_transcript_test.vty 1 file changed, 9 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/tests/vty/vty_transcript_test.vty b/tests/vty/vty_transcript_test.vty index 57920a8..27dacdc 100644 --- a/tests/vty/vty_transcript_test.vty +++ b/tests/vty/vty_transcript_test.vty @@ -66,3 +66,12 @@ vty_transcript_test> multi2 ok argc=0 + +vty_transcript_test> multi0 thr +ok argc=1 thr + +vty_transcript_test> multi1 on +ok argc=1 on + +vty_transcript_test> multi2 t +ok argc=1 t -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I83c3aef813173952641035862c534ef16384780e Gerrit-Change-Number: 14307 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Jun 6 09:59:25 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 06 Jun 2019 09:59:25 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5cf8e40c7813a_75ead65ec162466@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 84s] #define PACKAGE "osmo-sysmon" [ 84s] #define VERSION "0.1.0" [ 84s] #define STDC_HEADERS 1 [ 84s] #define HAVE_SYS_TYPES_H 1 [ 84s] #define HAVE_SYS_STAT_H 1 [ 84s] #define HAVE_STDLIB_H 1 [ 84s] #define HAVE_STRING_H 1 [ 84s] #define HAVE_MEMORY_H 1 [ 84s] #define HAVE_STRINGS_H 1 [ 84s] #define HAVE_INTTYPES_H 1 [ 84s] #define HAVE_STDINT_H 1 [ 84s] #define HAVE_UNISTD_H 1 [ 84s] #define HAVE_DLFCN_H 1 [ 84s] #define LT_OBJDIR ".libs/" [ 84s] [ 84s] configure: exit 1 [ 84s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 84s] make: *** [debian/rules:45: build] Error 2 [ 84s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 84s] [ 84s] sheep83 failed "build osmo-sysmon_0.1.0.dsc" at Thu Jun 6 09:59:06 UTC 2019. [ 84s] [ 84s] ### VM INTERACTION START ### [ 87s] [ 76.534221] sysrq: SysRq : Power Off [ 87s] [ 76.549272] reboot: Power down [ 87s] ### VM INTERACTION END ### [ 87s] [ 87s] sheep83 failed "build osmo-sysmon_0.1.0.dsc" at Thu Jun 6 09:59:10 UTC 2019. [ 87s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Jun 6 10:07:42 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 06 Jun 2019 10:07:42 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5cf8e60829aff_75ead65ec16684a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Testing/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 285s] | configure: exit 0 [ 285s] [ 285s] # -*- compilation -*- [ 285s] 4. testsuite.at:23: testing db ... [ 285s] ./testsuite.at:28: $abs_top_builddir/tests/db/db_test [ 285s] --- expout 2019-06-06 10:07:20.096000000 +0000 [ 285s] +++ /usr/src/packages/BUILD/openbsc/tests/testsuite.dir/at-groups/4/stdout 2019-06-06 10:07:20.268000000 +0000 [ 285s] @@ -1,4 +1,6 @@ [ 285s] Testing subscriber database code. [ 285s] DB: Database initialized. [ 285s] +no tables in statement ! [ 285s] +no tables in statement ! [ 285s] DB: Database prepared. [ 285s] Done [ 285s] 4. testsuite.at:23: 4. db (testsuite.at:23): FAILED (testsuite.at:28) [ 285s] make[1]: *** [debian/rules:30: override_dh_auto_test] Error 1 [ 285s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 285s] make: *** [debian/rules:13: build] Error 2 [ 285s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 285s] [ 285s] lamb22 failed "build openbsc_1.2.0.dsc" at Thu Jun 6 10:07:20 UTC 2019. [ 285s] [ 285s] ### VM INTERACTION START ### [ 288s] [ 271.910662] sysrq: SysRq : Power Off [ 288s] [ 271.918767] reboot: Power down [ 288s] ### VM INTERACTION END ### [ 288s] [ 288s] lamb22 failed "build openbsc_1.2.0.dsc" at Thu Jun 6 10:07:25 UTC 2019. [ 288s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Jun 6 10:11:59 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 Jun 2019 10:11:59 +0000 Subject: Change in ...osmo-trx[master]: Add rate_ctr support to store/retrieve SDR errors through VTY In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/14167 to look at the new patch set (#3). Change subject: Add rate_ctr support to store/retrieve SDR errors through VTY ...................................................................... Add rate_ctr support to store/retrieve SDR errors through VTY Introduce a unified implementation-agnostic interface for radioDevice to signal SDR error counters to upper layers and manage them. This patch only implements counters for osmo-trx-lms (other devices will show all counters unchanged during time). Sample use through VTY: """ OsmoTRX> show rate-counters osmo-trx statistics 0: device:rx_underruns: 0 (0/s 0/m 0/h 0/d) Number of Rx underruns device:rx_overruns: 0 (0/s 0/m 0/h 0/d) Number of Rx overruns device:tx_underruns: 0 (0/s 0/m 0/h 0/d) Number of Tx underruns device:rx_drop_events: 4 (0/s 2/m 3/h 0/d) Number of times Rx samples were dropped by HW device:rx_drop_samples: 513 (0/s 196/m 425/h 0/d) Number of Rx samples dropped by HW """ Change-Id: I78b158141697e5714d04db8b9ccc96f31f34f439 --- M CommonLibs/Makefile.am M CommonLibs/osmo_signal.h A CommonLibs/trx_rate_ctr.cpp A CommonLibs/trx_rate_ctr.h M Transceiver52M/device/common/radioDevice.h M Transceiver52M/device/lms/LMSDevice.cpp M Transceiver52M/device/lms/LMSDevice.h M Transceiver52M/osmo-trx.cpp 8 files changed, 262 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/67/14167/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I78b158141697e5714d04db8b9ccc96f31f34f439 Gerrit-Change-Number: 14167 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 10:11:59 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 Jun 2019 10:11:59 +0000 Subject: Change in ...osmo-trx[master]: Rename and move STOP signal from Transceiver to main In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/14366 to look at the new patch set (#2). Change subject: Rename and move STOP signal from Transceiver to main ...................................................................... Rename and move STOP signal from Transceiver to main The callback actually belongs there, since it's the code/thread in main the one actually in charge of stopping everything. It simplifies current code, and more important, allows for new clients of this signal to use it. This callback will also be used in forthcoming commits by code controlling rate_ctr thresholds to stop the process if the VTY configured threshold is used. Change-Id: Id4159e64225c6606fef34a74b24f37c3a071aceb --- M CommonLibs/osmo_signal.h M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h M Transceiver52M/osmo-trx.cpp 4 files changed, 9 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/66/14366/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Id4159e64225c6606fef34a74b24f37c3a071aceb Gerrit-Change-Number: 14366 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 10:12:01 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 Jun 2019 10:12:01 +0000 Subject: Change in ...osmo-trx[master]: doc: vty: Update trx_vty_reference.xml Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/14382 Change subject: doc: vty: Update trx_vty_reference.xml ...................................................................... doc: vty: Update trx_vty_reference.xml Change-Id: I2587cd47ee48e979de447f7a0f4d79bb5fac0592 --- M doc/manuals/vty/trx_vty_reference.xml 1 file changed, 138 insertions(+), 43 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/82/14382/1 diff --git a/doc/manuals/vty/trx_vty_reference.xml b/doc/manuals/vty/trx_vty_reference.xml index ffc642a..d6cd15d 100644 --- a/doc/manuals/vty/trx_vty_reference.xml +++ b/doc/manuals/vty/trx_vty_reference.xml @@ -85,12 +85,6 @@ - - - - - - @@ -181,7 +175,7 @@ - + @@ -189,6 +183,7 @@ + @@ -198,21 +193,14 @@ - - - - - - - - - - + - + + + @@ -231,7 +219,7 @@ - + @@ -239,6 +227,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -312,6 +332,12 @@ + + + + + + enable @@ -365,12 +391,6 @@ - - - - - - @@ -474,7 +494,7 @@ - + @@ -482,6 +502,7 @@ + @@ -491,21 +512,14 @@ - - - - - - - - - - + - + + + @@ -524,7 +538,7 @@ - + @@ -532,6 +546,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -605,6 +651,12 @@ + + + + + + config @@ -910,7 +962,7 @@ - + @@ -918,14 +970,17 @@ + - + - + + + @@ -944,7 +999,7 @@ - + @@ -952,6 +1007,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-stats @@ -1035,10 +1122,11 @@ - + + @@ -1146,6 +1234,13 @@ + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I2587cd47ee48e979de447f7a0f4d79bb5fac0592 Gerrit-Change-Number: 14382 Gerrit-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 6 10:12:09 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 Jun 2019 10:12:09 +0000 Subject: Change in ...osmo-trx[master]: Add VTY commands to set error ctr thresholds In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14168 ) Change subject: Add VTY commands to set error ctr thresholds ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4bcf44dbf064e2e86dfc3b8a2ad18fea76fbd51a Gerrit-Change-Number: 14168 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 Jun 2019 10:12: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 6 15:00:48 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 Jun 2019 15:00:48 +0000 Subject: Change in ...osmo-bsc[master]: Introduce msc_is_{sccplite, aoip}() helpers Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14383 Change subject: Introduce msc_is_{sccplite,aoip}() helpers ...................................................................... Introduce msc_is_{sccplite,aoip}() helpers Having the helper makes it easier to read/find for transport type checks. It will be ifurther re-used in forthcoming commits. Change-Id: Ic0ee4c472e29ec3092049e5e23b744395613616d --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/osmo_bsc_sigtran.c 3 files changed, 23 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/83/14383/1 diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 4720845..1f9872a 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -191,5 +191,25 @@ return (port - base) / 2; } +static inline bool msc_is_aoip(const struct bsc_msc_data *msc) +{ + switch (msc->a.asp_proto) { + case OSMO_SS7_ASP_PROT_SUA: + case OSMO_SS7_ASP_PROT_M3UA: + return true; + default: + return false; + } +} + +static inline bool msc_is_sccplite(const struct bsc_msc_data *msc) +{ + switch (msc->a.asp_proto) { + case OSMO_SS7_ASP_PROT_IPA: + return true; + default: + return false; + } +} #endif diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 87ad567..7b9f912 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -1058,14 +1058,7 @@ if (!conn || !conn->sccp.msc) return false; - switch (conn->sccp.msc->a.asp_proto) { - case OSMO_SS7_ASP_PROT_SUA: - case OSMO_SS7_ASP_PROT_M3UA: - return true; - - default: - return false; - } + return msc_is_aoip(conn->sccp.msc); } bool gscon_is_sccplite(struct gsm_subscriber_connection *conn) @@ -1073,11 +1066,5 @@ if (!conn || !conn->sccp.msc) return false; - switch (conn->sccp.msc->a.asp_proto) { - case OSMO_SS7_ASP_PROT_IPA: - return true; - - default: - return false; - } + return msc_is_sccplite(conn->sccp.msc); } diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 5d61c32..8303c4f 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -523,8 +523,7 @@ * an X-Osmo-IGN flag telling osmo-mgw to ignore CallID mismatches for this endpoint. * If an explicit VTY command has already indicated whether or not to send X-Osmo-IGN, do * not overwrite that setting. */ - if (msc->a.asp_proto == OSMO_SS7_ASP_PROT_IPA - && !msc->x_osmo_ign_configured) + if (msc_is_sccplite(msc) && !msc->x_osmo_ign_configured) msc->x_osmo_ign |= MGCP_X_OSMO_IGN_CALLID; /* If unset, use default local SCCP address */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic0ee4c472e29ec3092049e5e23b744395613616d Gerrit-Change-Number: 14383 Gerrit-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 6 15:00:49 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 Jun 2019 15:00:49 +0000 Subject: Change in ...osmo-bsc[master]: bsc: Append Osmux Support IE only on AoIP Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14384 Change subject: bsc: Append Osmux Support IE only on AoIP ...................................................................... bsc: Append Osmux Support IE only on AoIP Since in SCCPlite the BSC-attached MGW is controlled by the MSC, we don't need this kind of signalling. It's only needed for AoIP. Related: OS#2551 Change-Id: I802fc65c593e42aaa7a15cecab7a2f2b77ade3ea --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/84/14384/1 diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 8303c4f..18f269d 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -101,7 +101,7 @@ LOGP(DMSC, LOGL_NOTICE, "Sending RESET to MSC: %s\n", osmo_sccp_addr_name(ss7, &msc->a.msc_addr)); msg = gsm0808_create_reset(); - if (msc->use_osmux != OSMUX_USAGE_OFF) + if (msc_is_aoip(msc) && msc->use_osmux != OSMUX_USAGE_OFF) _gsm0808_extend_announce_osmux(msg); osmo_sccp_tx_unitdata_msg(msc->a.sccp_user, &msc->a.bsc_addr, @@ -120,7 +120,7 @@ LOGP(DMSC, LOGL_NOTICE, "Sending RESET ACK to MSC: %s\n", osmo_sccp_addr_name(ss7, &msc->a.msc_addr)); msg = gsm0808_create_reset_ack(); - if (msc->use_osmux != OSMUX_USAGE_OFF) + if (msc_is_aoip(msc) && msc->use_osmux != OSMUX_USAGE_OFF) _gsm0808_extend_announce_osmux(msg); osmo_sccp_tx_unitdata_msg(msc->a.sccp_user, &msc->a.bsc_addr, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I802fc65c593e42aaa7a15cecab7a2f2b77ade3ea Gerrit-Change-Number: 14384 Gerrit-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 6 15:16:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 Jun 2019 15:16:34 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Avoid appending Osmux CID IE in AssignReq/Compl with SCCPLite Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14385 Change subject: bsc: Avoid appending Osmux CID IE in AssignReq/Compl with SCCPLite ...................................................................... bsc: Avoid appending Osmux CID IE in AssignReq/Compl with SCCPLite That IE is not required when on SCCPlite, only for AoIP. Change-Id: Iff939e431fa3da9fef648242140fdb8d0dc92e52 --- M bsc/BSC_Tests.ttcn 1 file changed, 2 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/85/14385/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index a84277f..518f9e1 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -650,11 +650,7 @@ } } else { var BSSMAP_IE_CircuitIdentityCode cic := valueof(ts_BSSMAP_IE_CIC(0,1)); - if (osmux_enabled) { - ass_cmd := valueof(ts_BSSMAP_AssignmentReq(cic, omit, osmux_cid)); - } else { - ass_cmd := valueof(ts_BSSMAP_AssignmentReq(cic, omit)); - } + ass_cmd := valueof(ts_BSSMAP_AssignmentReq(cic, omit)); } return ass_cmd; } @@ -684,11 +680,7 @@ } } else { /* CIC is optional "*" as the MSC allocated it */ - if (expect_osmux) { - exp_compl := tr_BSSMAP_AssignmentComplete(*, omit, osmux_cid); - } else { - exp_compl := tr_BSSMAP_AssignmentComplete(*, omit); - } + exp_compl := tr_BSSMAP_AssignmentComplete(*, omit); } return exp_compl; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iff939e431fa3da9fef648242140fdb8d0dc92e52 Gerrit-Change-Number: 14385 Gerrit-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 6 15:16:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 Jun 2019 15:16:34 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Add and set transport field for RanOps structure Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14386 Change subject: Add and set transport field for RanOps structure ...................................................................... Add and set transport field for RanOps structure This will allow RAN_Emulation to have better knowledge on the protocol stack in use, and behave differently based on that information. For intance, forthcoming commit will append OsmuxSupport IE only if transport is BSSAP AoIP. Change-Id: Ife62e328af2d3f2475ff93249f2138820c7ddabb --- M bsc-nat/BSC_MS_ConnectionHandler.ttcn M bsc-nat/MSC_ConnectionHandler.ttcn M bsc/MSC_ConnectionHandler.ttcn M library/RAN_Adapter.ttcnpp M library/RAN_Emulation.ttcnpp M msc/BSC_ConnectionHandler.ttcn 6 files changed, 13 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/86/14386/1 diff --git a/bsc-nat/BSC_MS_ConnectionHandler.ttcn b/bsc-nat/BSC_MS_ConnectionHandler.ttcn index f9f4db0..7f2ebcd 100644 --- a/bsc-nat/BSC_MS_ConnectionHandler.ttcn +++ b/bsc-nat/BSC_MS_ConnectionHandler.ttcn @@ -63,7 +63,7 @@ decode_dtap := false, role_ms := true, protocol := RAN_PROTOCOL_BSSAP, - /* Always false. We don't want to enable Osmux signalling in SCCPLite messages: */ + transport := BSSAP_TRANSPORT_AoIP, use_osmux := false, sccp_addr_local := omit, sccp_addr_peer := omit diff --git a/bsc-nat/MSC_ConnectionHandler.ttcn b/bsc-nat/MSC_ConnectionHandler.ttcn index 89728b4..c8cb005 100644 --- a/bsc-nat/MSC_ConnectionHandler.ttcn +++ b/bsc-nat/MSC_ConnectionHandler.ttcn @@ -69,6 +69,7 @@ decode_dtap := false, role_ms := false, protocol := RAN_PROTOCOL_BSSAP, + transport := BSSAP_TRANSPORT_AoIP, use_osmux := false, sccp_addr_local := omit, sccp_addr_peer := omit diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index dbba135..3cc8f8a 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -394,6 +394,7 @@ decode_dtap := false, role_ms := false, protocol := RAN_PROTOCOL_BSSAP, + transport := BSSAP_TRANSPORT_AoIP, use_osmux := false, sccp_addr_local := omit, sccp_addr_peer := omit diff --git a/library/RAN_Adapter.ttcnpp b/library/RAN_Adapter.ttcnpp index 30a1a9e..862921e 100644 --- a/library/RAN_Adapter.ttcnpp +++ b/library/RAN_Adapter.ttcnpp @@ -52,13 +52,6 @@ RAN_Emulation_CT vc_RAN } -type enumerated RAN_Transport { - BSSAP_TRANSPORT_AoIP, /* 3GPP AoIP: SCCP over M3UA over SCTP */ - BSSAP_TRANSPORT_SCCPlite_SERVER, /* SCCPlite: SCCP over IPA over TCP */ - BSSAP_TRANSPORT_SCCPlite_CLIENT, /* SCCPlite: SCCP over IPA over TCP */ - RANAP_TRANSPORT_IuCS /* 3GPP IuCS: SCCP over M3UA over SCTP */ -}; - type record RAN_Configuration { RAN_Transport transport, charstring sccp_service_type, @@ -153,6 +146,7 @@ timer T := 5.0; T.start; //T.timeout; + ops.transport := cfg.transport; /* connect BSSNAP component to upper side of SCCP */ if (cfg.transport == RANAP_TRANSPORT_IuCS) { #ifdef RAN_EMULATION_RANAP diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index 41aec47..85ae084 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -75,6 +75,13 @@ MSC_CONN_PRIM_CONF_IND } +type enumerated RAN_Transport { + BSSAP_TRANSPORT_AoIP, /* 3GPP AoIP: SCCP over M3UA over SCTP */ + BSSAP_TRANSPORT_SCCPlite_SERVER, /* SCCPlite: SCCP over IPA over TCP */ + BSSAP_TRANSPORT_SCCPlite_CLIENT, /* SCCPlite: SCCP over IPA over TCP */ + RANAP_TRANSPORT_IuCS /* 3GPP IuCS: SCCP over M3UA over SCTP */ +}; + /* similar to PDU_BSSAP with DTAP, but DTAP is already decoded! */ type record PDU_DTAP_MO { OCT1 dlci optional, @@ -650,6 +657,7 @@ boolean decode_dtap, boolean role_ms, RanProtocol protocol, + RAN_Transport transport, boolean use_osmux, /* needed for performing BSSMAP RESET */ SCCP_PAR_Address sccp_addr_local optional, diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index b5dbb87..1dd4d05 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -222,6 +222,7 @@ decode_dtap := true, role_ms := true, protocol := RAN_PROTOCOL_BSSAP, + transport := BSSAP_TRANSPORT_AoIP, use_osmux := false, sccp_addr_local := omit, sccp_addr_peer := omit -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ife62e328af2d3f2475ff93249f2138820c7ddabb Gerrit-Change-Number: 14386 Gerrit-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 6 15:16:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 Jun 2019 15:16:35 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Only append Osmux IEs in BSSAP AoIP Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14387 Change subject: bsc: Only append Osmux IEs in BSSAP AoIP ...................................................................... bsc: Only append Osmux IEs in BSSAP AoIP Previous to this commit, BSSAP Reset (Ack) messages contained Osmux Support IE even if transport was SCCPLite, where those IEs are actually meaningless. Change-Id: If6cc0f65a0f273297a4523e5d6a7564d966f0aa6 --- M bsc/MSC_ConnectionHandler.ttcn M library/RAN_Emulation.ttcnpp 2 files changed, 20 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/87/14387/1 diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 3cc8f8a..c7f6495 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -379,10 +379,12 @@ private function UnitdataCallback(PDU_BSSAP bssap) runs on RAN_Emulation_CT return template PDU_BSSAP { var template PDU_BSSAP resp := omit; + var boolean append_osmux_support := g_ran_ops.use_osmux and + (g_ran_ops.transport == BSSAP_TRANSPORT_AoIP); /* answer all RESET with a RESET ACK */ - if (match(bssap, tr_BSSMAP_Reset(g_ran_ops.use_osmux))) { - resp := ts_BSSMAP_ResetAck(g_ran_ops.use_osmux); + if (match(bssap, tr_BSSMAP_Reset(append_osmux_support))) { + resp := ts_BSSMAP_ResetAck(append_osmux_support); } return resp; diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index 85ae084..ba018b4 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -445,6 +445,11 @@ type function BssmapUnitdataCallback(PDU_BSSAP bssap) runs on RAN_Emulation_CT return template PDU_BSSAP; +private function append_osmux_ie() +runs on RAN_Emulation_CT return boolean { + return g_ran_ops.use_osmux and (g_ran_ops.transport == BSSAP_TRANSPORT_AoIP); +} + /* handle common Unitdata such as Paging */ private function CommonBssmapUnitdataCallback(PDU_BSSAP bssap) runs on RAN_Emulation_CT return template PDU_BSSAP { @@ -469,14 +474,15 @@ private function f_bssap_wait_for_reset() runs on RAN_Emulation_CT { var BSSAP_N_UNITDATA_ind ud_ind; timer T := 20.0; + var boolean append_osmux_support := append_osmux_ie(); T.start; alt { - [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset(g_ran_ops.use_osmux))) -> value ud_ind { + [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset(append_osmux_support))) -> value ud_ind { BSSAP.send(ts_BSSAP_UNITDATA_req(ud_ind.callingAddress, ud_ind.calledAddress, - ts_BSSMAP_ResetAck(g_ran_ops.use_osmux))); + ts_BSSMAP_ResetAck(append_osmux_support))); } - [] as_reset_ack(); + [] as_reset_ack(append_osmux_support); [] BSSAP.receive { repeat; } @@ -489,14 +495,15 @@ function f_bssap_reset(SCCP_PAR_Address peer, SCCP_PAR_Address own) runs on RAN_Emulation_CT { timer T := 5.0; + var boolean append_osmux_support := append_osmux_ie(); - BSSAP.send(ts_BSSAP_UNITDATA_req(peer, own, ts_BSSMAP_Reset(0, g_ran_ops.use_osmux))); + BSSAP.send(ts_BSSAP_UNITDATA_req(peer, own, ts_BSSMAP_Reset(0, append_osmux_support))); T.start; alt { - [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(own, peer, tr_BSSMAP_ResetAck(g_ran_ops.use_osmux))) { + [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(own, peer, tr_BSSMAP_ResetAck(append_osmux_support))) { log("Received RESET-ACK in response to RESET, we're ready to go!"); } - [] as_reset_ack(); + [] as_reset_ack(append_osmux_support); [] BSSAP.receive { repeat }; [] T.timeout { setverdict(fail, "Timeout waiting for RESET-ACK after sending RESET"); @@ -728,7 +735,7 @@ f_ML3_patch_seq_nr(seq_nr, enc_l3); } -private altstep as_reset_ack() runs on RAN_Emulation_CT { +private altstep as_reset_ack(boolean append_osmux_support := false) runs on RAN_Emulation_CT { #ifdef RAN_EMULATION_BSSAP var BSSAP_N_UNITDATA_ind ud_ind; #endif @@ -736,10 +743,10 @@ var RANAP_N_UNITDATA_ind rud_ind; #endif #ifdef RAN_EMULATION_BSSAP - [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset(g_ran_ops.use_osmux))) -> value ud_ind { + [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset(append_osmux_support))) -> value ud_ind { log("Respoding to inbound RESET with RESET-ACK"); BSSAP.send(ts_BSSAP_UNITDATA_req(ud_ind.callingAddress, ud_ind.calledAddress, - ts_BSSMAP_ResetAck(g_ran_ops.use_osmux))); + ts_BSSMAP_ResetAck(append_osmux_support))); repeat; } #endif -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If6cc0f65a0f273297a4523e5d6a7564d966f0aa6 Gerrit-Change-Number: 14387 Gerrit-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 6 15:28:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 15:28:54 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Only append Osmux IEs in BSSAP AoIP In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14387 ) Change subject: bsc: Only append Osmux IEs in BSSAP AoIP ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If6cc0f65a0f273297a4523e5d6a7564d966f0aa6 Gerrit-Change-Number: 14387 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Jun 2019 15:28:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 15:29:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 15:29:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Avoid appending Osmux CID IE in AssignReq/Compl with SCCPLite In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14385 ) Change subject: bsc: Avoid appending Osmux CID IE in AssignReq/Compl with SCCPLite ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iff939e431fa3da9fef648242140fdb8d0dc92e52 Gerrit-Change-Number: 14385 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Jun 2019 15:29:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 15:29:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 15:29:25 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Add and set transport field for RanOps structure In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14386 ) Change subject: Add and set transport field for RanOps structure ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ife62e328af2d3f2475ff93249f2138820c7ddabb Gerrit-Change-Number: 14386 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Jun 2019 15:29:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 15:29:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 15:29:26 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Avoid appending Osmux CID IE in AssignReq/Compl with SCCPLite In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14385 ) Change subject: bsc: Avoid appending Osmux CID IE in AssignReq/Compl with SCCPLite ...................................................................... bsc: Avoid appending Osmux CID IE in AssignReq/Compl with SCCPLite That IE is not required when on SCCPlite, only for AoIP. Change-Id: Iff939e431fa3da9fef648242140fdb8d0dc92e52 --- M bsc/BSC_Tests.ttcn 1 file changed, 2 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index a84277f..518f9e1 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -650,11 +650,7 @@ } } else { var BSSMAP_IE_CircuitIdentityCode cic := valueof(ts_BSSMAP_IE_CIC(0,1)); - if (osmux_enabled) { - ass_cmd := valueof(ts_BSSMAP_AssignmentReq(cic, omit, osmux_cid)); - } else { - ass_cmd := valueof(ts_BSSMAP_AssignmentReq(cic, omit)); - } + ass_cmd := valueof(ts_BSSMAP_AssignmentReq(cic, omit)); } return ass_cmd; } @@ -684,11 +680,7 @@ } } else { /* CIC is optional "*" as the MSC allocated it */ - if (expect_osmux) { - exp_compl := tr_BSSMAP_AssignmentComplete(*, omit, osmux_cid); - } else { - exp_compl := tr_BSSMAP_AssignmentComplete(*, omit); - } + exp_compl := tr_BSSMAP_AssignmentComplete(*, omit); } return exp_compl; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iff939e431fa3da9fef648242140fdb8d0dc92e52 Gerrit-Change-Number: 14385 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 Thu Jun 6 15:29:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 15:29:26 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Add and set transport field for RanOps structure In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14386 ) Change subject: Add and set transport field for RanOps structure ...................................................................... Add and set transport field for RanOps structure This will allow RAN_Emulation to have better knowledge on the protocol stack in use, and behave differently based on that information. For intance, forthcoming commit will append OsmuxSupport IE only if transport is BSSAP AoIP. Change-Id: Ife62e328af2d3f2475ff93249f2138820c7ddabb --- M bsc-nat/BSC_MS_ConnectionHandler.ttcn M bsc-nat/MSC_ConnectionHandler.ttcn M bsc/MSC_ConnectionHandler.ttcn M library/RAN_Adapter.ttcnpp M library/RAN_Emulation.ttcnpp M msc/BSC_ConnectionHandler.ttcn 6 files changed, 13 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc-nat/BSC_MS_ConnectionHandler.ttcn b/bsc-nat/BSC_MS_ConnectionHandler.ttcn index f9f4db0..7f2ebcd 100644 --- a/bsc-nat/BSC_MS_ConnectionHandler.ttcn +++ b/bsc-nat/BSC_MS_ConnectionHandler.ttcn @@ -63,7 +63,7 @@ decode_dtap := false, role_ms := true, protocol := RAN_PROTOCOL_BSSAP, - /* Always false. We don't want to enable Osmux signalling in SCCPLite messages: */ + transport := BSSAP_TRANSPORT_AoIP, use_osmux := false, sccp_addr_local := omit, sccp_addr_peer := omit diff --git a/bsc-nat/MSC_ConnectionHandler.ttcn b/bsc-nat/MSC_ConnectionHandler.ttcn index 89728b4..c8cb005 100644 --- a/bsc-nat/MSC_ConnectionHandler.ttcn +++ b/bsc-nat/MSC_ConnectionHandler.ttcn @@ -69,6 +69,7 @@ decode_dtap := false, role_ms := false, protocol := RAN_PROTOCOL_BSSAP, + transport := BSSAP_TRANSPORT_AoIP, use_osmux := false, sccp_addr_local := omit, sccp_addr_peer := omit diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index dbba135..3cc8f8a 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -394,6 +394,7 @@ decode_dtap := false, role_ms := false, protocol := RAN_PROTOCOL_BSSAP, + transport := BSSAP_TRANSPORT_AoIP, use_osmux := false, sccp_addr_local := omit, sccp_addr_peer := omit diff --git a/library/RAN_Adapter.ttcnpp b/library/RAN_Adapter.ttcnpp index 30a1a9e..862921e 100644 --- a/library/RAN_Adapter.ttcnpp +++ b/library/RAN_Adapter.ttcnpp @@ -52,13 +52,6 @@ RAN_Emulation_CT vc_RAN } -type enumerated RAN_Transport { - BSSAP_TRANSPORT_AoIP, /* 3GPP AoIP: SCCP over M3UA over SCTP */ - BSSAP_TRANSPORT_SCCPlite_SERVER, /* SCCPlite: SCCP over IPA over TCP */ - BSSAP_TRANSPORT_SCCPlite_CLIENT, /* SCCPlite: SCCP over IPA over TCP */ - RANAP_TRANSPORT_IuCS /* 3GPP IuCS: SCCP over M3UA over SCTP */ -}; - type record RAN_Configuration { RAN_Transport transport, charstring sccp_service_type, @@ -153,6 +146,7 @@ timer T := 5.0; T.start; //T.timeout; + ops.transport := cfg.transport; /* connect BSSNAP component to upper side of SCCP */ if (cfg.transport == RANAP_TRANSPORT_IuCS) { #ifdef RAN_EMULATION_RANAP diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index 41aec47..85ae084 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -75,6 +75,13 @@ MSC_CONN_PRIM_CONF_IND } +type enumerated RAN_Transport { + BSSAP_TRANSPORT_AoIP, /* 3GPP AoIP: SCCP over M3UA over SCTP */ + BSSAP_TRANSPORT_SCCPlite_SERVER, /* SCCPlite: SCCP over IPA over TCP */ + BSSAP_TRANSPORT_SCCPlite_CLIENT, /* SCCPlite: SCCP over IPA over TCP */ + RANAP_TRANSPORT_IuCS /* 3GPP IuCS: SCCP over M3UA over SCTP */ +}; + /* similar to PDU_BSSAP with DTAP, but DTAP is already decoded! */ type record PDU_DTAP_MO { OCT1 dlci optional, @@ -650,6 +657,7 @@ boolean decode_dtap, boolean role_ms, RanProtocol protocol, + RAN_Transport transport, boolean use_osmux, /* needed for performing BSSMAP RESET */ SCCP_PAR_Address sccp_addr_local optional, diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index b5dbb87..1dd4d05 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -222,6 +222,7 @@ decode_dtap := true, role_ms := true, protocol := RAN_PROTOCOL_BSSAP, + transport := BSSAP_TRANSPORT_AoIP, use_osmux := false, sccp_addr_local := omit, sccp_addr_peer := omit -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ife62e328af2d3f2475ff93249f2138820c7ddabb Gerrit-Change-Number: 14386 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 Thu Jun 6 15:29:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 15:29:28 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Only append Osmux IEs in BSSAP AoIP In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14387 ) Change subject: bsc: Only append Osmux IEs in BSSAP AoIP ...................................................................... bsc: Only append Osmux IEs in BSSAP AoIP Previous to this commit, BSSAP Reset (Ack) messages contained Osmux Support IE even if transport was SCCPLite, where those IEs are actually meaningless. Change-Id: If6cc0f65a0f273297a4523e5d6a7564d966f0aa6 --- M bsc/MSC_ConnectionHandler.ttcn M library/RAN_Emulation.ttcnpp 2 files changed, 20 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 3cc8f8a..c7f6495 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -379,10 +379,12 @@ private function UnitdataCallback(PDU_BSSAP bssap) runs on RAN_Emulation_CT return template PDU_BSSAP { var template PDU_BSSAP resp := omit; + var boolean append_osmux_support := g_ran_ops.use_osmux and + (g_ran_ops.transport == BSSAP_TRANSPORT_AoIP); /* answer all RESET with a RESET ACK */ - if (match(bssap, tr_BSSMAP_Reset(g_ran_ops.use_osmux))) { - resp := ts_BSSMAP_ResetAck(g_ran_ops.use_osmux); + if (match(bssap, tr_BSSMAP_Reset(append_osmux_support))) { + resp := ts_BSSMAP_ResetAck(append_osmux_support); } return resp; diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index 85ae084..ba018b4 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -445,6 +445,11 @@ type function BssmapUnitdataCallback(PDU_BSSAP bssap) runs on RAN_Emulation_CT return template PDU_BSSAP; +private function append_osmux_ie() +runs on RAN_Emulation_CT return boolean { + return g_ran_ops.use_osmux and (g_ran_ops.transport == BSSAP_TRANSPORT_AoIP); +} + /* handle common Unitdata such as Paging */ private function CommonBssmapUnitdataCallback(PDU_BSSAP bssap) runs on RAN_Emulation_CT return template PDU_BSSAP { @@ -469,14 +474,15 @@ private function f_bssap_wait_for_reset() runs on RAN_Emulation_CT { var BSSAP_N_UNITDATA_ind ud_ind; timer T := 20.0; + var boolean append_osmux_support := append_osmux_ie(); T.start; alt { - [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset(g_ran_ops.use_osmux))) -> value ud_ind { + [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset(append_osmux_support))) -> value ud_ind { BSSAP.send(ts_BSSAP_UNITDATA_req(ud_ind.callingAddress, ud_ind.calledAddress, - ts_BSSMAP_ResetAck(g_ran_ops.use_osmux))); + ts_BSSMAP_ResetAck(append_osmux_support))); } - [] as_reset_ack(); + [] as_reset_ack(append_osmux_support); [] BSSAP.receive { repeat; } @@ -489,14 +495,15 @@ function f_bssap_reset(SCCP_PAR_Address peer, SCCP_PAR_Address own) runs on RAN_Emulation_CT { timer T := 5.0; + var boolean append_osmux_support := append_osmux_ie(); - BSSAP.send(ts_BSSAP_UNITDATA_req(peer, own, ts_BSSMAP_Reset(0, g_ran_ops.use_osmux))); + BSSAP.send(ts_BSSAP_UNITDATA_req(peer, own, ts_BSSMAP_Reset(0, append_osmux_support))); T.start; alt { - [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(own, peer, tr_BSSMAP_ResetAck(g_ran_ops.use_osmux))) { + [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(own, peer, tr_BSSMAP_ResetAck(append_osmux_support))) { log("Received RESET-ACK in response to RESET, we're ready to go!"); } - [] as_reset_ack(); + [] as_reset_ack(append_osmux_support); [] BSSAP.receive { repeat }; [] T.timeout { setverdict(fail, "Timeout waiting for RESET-ACK after sending RESET"); @@ -728,7 +735,7 @@ f_ML3_patch_seq_nr(seq_nr, enc_l3); } -private altstep as_reset_ack() runs on RAN_Emulation_CT { +private altstep as_reset_ack(boolean append_osmux_support := false) runs on RAN_Emulation_CT { #ifdef RAN_EMULATION_BSSAP var BSSAP_N_UNITDATA_ind ud_ind; #endif @@ -736,10 +743,10 @@ var RANAP_N_UNITDATA_ind rud_ind; #endif #ifdef RAN_EMULATION_BSSAP - [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset(g_ran_ops.use_osmux))) -> value ud_ind { + [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset(append_osmux_support))) -> value ud_ind { log("Respoding to inbound RESET with RESET-ACK"); BSSAP.send(ts_BSSAP_UNITDATA_req(ud_ind.callingAddress, ud_ind.calledAddress, - ts_BSSMAP_ResetAck(g_ran_ops.use_osmux))); + ts_BSSMAP_ResetAck(append_osmux_support))); repeat; } #endif -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If6cc0f65a0f273297a4523e5d6a7564d966f0aa6 Gerrit-Change-Number: 14387 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 Thu Jun 6 15:30:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 15:30:35 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp: Use new per-GSN libgtp API instead of deprecated API In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2) to the change originally created by pespin. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14292 ) Change subject: sgsn_libgtp: Use new per-GSN libgtp API instead of deprecated API ...................................................................... sgsn_libgtp: Use new per-GSN libgtp API instead of deprecated API Depends: osmo-ggsn.git I653cbdc185165592d985e3efab6e3f1add97877b Related: OS#2873 Change-Id: Iaaffe0ec4d9590309c62b62c446677c6f6732f2a --- M src/gprs/sgsn_libgtp.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/92/14292/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iaaffe0ec4d9590309c62b62c446677c6f6732f2a Gerrit-Change-Number: 14292 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 15:30:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 15:30:46 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp: Use new per-GSN libgtp API instead of deprecated API In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14292 ) Change subject: sgsn_libgtp: Use new per-GSN libgtp API instead of deprecated API ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iaaffe0ec4d9590309c62b62c446677c6f6732f2a Gerrit-Change-Number: 14292 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Jun 2019 15:30: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 6 15:30:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 15:30:47 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn_libgtp: Use new per-GSN libgtp API instead of deprecated API In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14292 ) Change subject: sgsn_libgtp: Use new per-GSN libgtp API instead of deprecated API ...................................................................... sgsn_libgtp: Use new per-GSN libgtp API instead of deprecated API Depends: osmo-ggsn.git I653cbdc185165592d985e3efab6e3f1add97877b Related: OS#2873 Change-Id: Iaaffe0ec4d9590309c62b62c446677c6f6732f2a --- M src/gprs/sgsn_libgtp.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs/sgsn_libgtp.c b/src/gprs/sgsn_libgtp.c index a8a1502..e9fffd8 100644 --- a/src/gprs/sgsn_libgtp.c +++ b/src/gprs/sgsn_libgtp.c @@ -153,7 +153,7 @@ imsi_ui64 = imsi_str2gtp(mmctx->imsi); - rc = pdp_newpdp(&pdp, imsi_ui64, nsapi, NULL); + rc = gtp_pdp_newpdp(ggsn->gsn, &pdp, imsi_ui64, nsapi, NULL); if (rc) { LOGP(DGPRS, LOGL_ERROR, "Out of libgtp PDP Contexts\n"); return NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iaaffe0ec4d9590309c62b62c446677c6f6732f2a Gerrit-Change-Number: 14292 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 Thu Jun 6 15:54:19 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 6 Jun 2019 15:54:19 +0000 Subject: Change in ...osmo-bsc[master]: manuals: Update generated VTY reference and counters Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14388 Change subject: manuals: Update generated VTY reference and counters ...................................................................... manuals: Update generated VTY reference and counters Change-Id: I9f75edf2e5b88ef8f4592fa89548f32e0a7df8d8 Related: OS#1700 --- M doc/manuals/chapters/counters_generated.adoc M doc/manuals/osmobsc-vty-reference.xml M doc/manuals/vty/bsc_vty_reference.xml 3 files changed, 286 insertions(+), 97 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/88/14388/1 diff --git a/doc/manuals/chapters/counters_generated.adoc b/doc/manuals/chapters/counters_generated.adoc index d55df07..65f4ca4 100644 --- a/doc/manuals/chapters/counters_generated.adoc +++ b/doc/manuals/chapters/counters_generated.adoc @@ -1,7 +1,88 @@ + // autogenerated by show asciidoc counters -These counters and their description based on OsmoBSC (OsmoBSC). +These counters and their description based on OsmoBSC 1.4.0.84-3f1f8 (OsmoBSC). + +=== Rate Counters // generating tables for rate_ctr_group +// rate_ctr_group table base transceiver station +.bts - base transceiver station +[options="header"] +|=== +| Name | Reference | Description +| chreq:total | <> | Received channel requests. +| chreq:no_channel | <> | Sent to MS no channel available. +| chan:rf_fail | <> | Received a RF failure indication from BTS. +| chan:rll_err | <> | Received a RLL failure with T200 cause from BTS. +| oml_fail | <> | Received a TEI down on a OML link. +| rsl_fail | <> | Received a TEI down on a OML link. +| codec:amr_f | <> | Count the usage of AMR/F codec by channel mode requested. +| codec:amr_h | <> | Count the usage of AMR/H codec by channel mode requested. +| codec:efr | <> | Count the usage of EFR codec by channel mode requested. +| codec:fr | <> | Count the usage of FR codec by channel mode requested. +| codec:hr | <> | Count the usage of HR codec by channel mode requested. +| paging:attempted | <> | Paging attempts for a subscriber. +| paging:already | <> | Paging attempts ignored as subsciber was already being paged. +| paging:responded | <> | Paging attempts with successful paging response. +| paging:expired | <> | Paging Request expired because of timeout T3113. +| chan_act:total | <> | Total number of Channel Activations. +| chan_act:nack | <> | Number of Channel Activations that the BTS NACKed +| rsl:unknown | <> | Number of unknown/unsupported RSL messages received from BTS +| rsl:ipa_nack | <> | Number of IPA (RTP/dyn-PDCH) related NACKs received from BTS +| chan:mode_modify_nack | <> | Number of Channel Mode Modify NACKs received from BTS +|=== +// rate_ctr_group table base transceiver station +.bts - base transceiver station +[options="header"] +|=== +| Name | Reference | Description +| chreq:total | <> | Received channel requests. +| chreq:no_channel | <> | Sent to MS no channel available. +| chan:rf_fail | <> | Received a RF failure indication from BTS. +| chan:rll_err | <> | Received a RLL failure with T200 cause from BTS. +| oml_fail | <> | Received a TEI down on a OML link. +| rsl_fail | <> | Received a TEI down on a OML link. +| codec:amr_f | <> | Count the usage of AMR/F codec by channel mode requested. +| codec:amr_h | <> | Count the usage of AMR/H codec by channel mode requested. +| codec:efr | <> | Count the usage of EFR codec by channel mode requested. +| codec:fr | <> | Count the usage of FR codec by channel mode requested. +| codec:hr | <> | Count the usage of HR codec by channel mode requested. +| paging:attempted | <> | Paging attempts for a subscriber. +| paging:already | <> | Paging attempts ignored as subsciber was already being paged. +| paging:responded | <> | Paging attempts with successful paging response. +| paging:expired | <> | Paging Request expired because of timeout T3113. +| chan_act:total | <> | Total number of Channel Activations. +| chan_act:nack | <> | Number of Channel Activations that the BTS NACKed +| rsl:unknown | <> | Number of unknown/unsupported RSL messages received from BTS +| rsl:ipa_nack | <> | Number of IPA (RTP/dyn-PDCH) related NACKs received from BTS +| chan:mode_modify_nack | <> | Number of Channel Mode Modify NACKs received from BTS +|=== +// rate_ctr_group table base transceiver station +.bts - base transceiver station +[options="header"] +|=== +| Name | Reference | Description +| chreq:total | <> | Received channel requests. +| chreq:no_channel | <> | Sent to MS no channel available. +| chan:rf_fail | <> | Received a RF failure indication from BTS. +| chan:rll_err | <> | Received a RLL failure with T200 cause from BTS. +| oml_fail | <> | Received a TEI down on a OML link. +| rsl_fail | <> | Received a TEI down on a OML link. +| codec:amr_f | <> | Count the usage of AMR/F codec by channel mode requested. +| codec:amr_h | <> | Count the usage of AMR/H codec by channel mode requested. +| codec:efr | <> | Count the usage of EFR codec by channel mode requested. +| codec:fr | <> | Count the usage of FR codec by channel mode requested. +| codec:hr | <> | Count the usage of HR codec by channel mode requested. +| paging:attempted | <> | Paging attempts for a subscriber. +| paging:already | <> | Paging attempts ignored as subsciber was already being paged. +| paging:responded | <> | Paging attempts with successful paging response. +| paging:expired | <> | Paging Request expired because of timeout T3113. +| chan_act:total | <> | Total number of Channel Activations. +| chan_act:nack | <> | Number of Channel Activations that the BTS NACKed +| rsl:unknown | <> | Number of unknown/unsupported RSL messages received from BTS +| rsl:ipa_nack | <> | Number of IPA (RTP/dyn-PDCH) related NACKs received from BTS +| chan:mode_modify_nack | <> | Number of Channel Mode Modify NACKs received from BTS +|=== // rate_ctr_group table E1 Input subsystem .e1inp - E1 Input subsystem [options="header"] @@ -18,59 +99,74 @@ [options="header"] |=== | Name | Reference | Description -| chreq:total | <> | Received channel requests. -| chreq:no_channel | <> | Sent to MS no channel available. -| handover:attempted | <> | Received handover attempts. -| handover:no_channel | <> | Sent no channel available responses. -| handover:timeout | <> | Count the amount of timeouts of timer T3103. -| handover:completed | <> | Received handover completed. -| handover:failed | <> | Receive HO FAIL messages. -| paging:attempted | <> | Paging attempts for a MS. -| paging:detached | <> | Counts the amount of paging attempts which couldn't sent out any paging request because no responsible bts found. -| paging:completed | <> | Paging successful completed. -| paging:expired | <> | Paging Request expired because of timeout T3113. -| chan:rf_fail | <> | Received a RF failure indication from BTS. -| chan:rll_err | <> | Received a RLL failure with T200 cause from BTS. -| bts:oml_fail | <> | Received a TEI down on a OML link. -| bts:rsl_fail | <> | Received a TEI down on a OML link. -| bts:codec_amr_f | <> | Count the usage of AMR/F codec by channel mode requested. -| bts:codec_amr_h | <> | Count the usage of AMR/H codec by channel mode requested. -| bts:codec_efr | <> | Count the usage of EFR codec by channel mode requested. -| bts:codec_fr | <> | Count the usage of FR codec by channel mode requested. -| bts:codec_hr | <> | Count the usage of HR codec by channel mode requested. +| assignment:attempted | <> | Assignment attempts. +| assignment:completed | <> | Assignment completed. +| assignment:stopped | <> | Connection ended during Assignment. +| assignment:no_channel | <> | Failure to allocate lchan for Assignment. +| assignment:timeout | <> | Assignment timed out. +| assignment:failed | <> | Received Assignment Failure message. +| assignment:error | <> | Assigment failed for other reason. +| handover:attempted | <> | Intra-BSC handover attempts. +| handover:completed | <> | Intra-BSC handover completed. +| handover:stopped | <> | Connection ended during HO. +| handover:no_channel | <> | Failure to allocate lchan for HO. +| handover:timeout | <> | Handover timed out. +| handover:failed | <> | Received Handover Fail messages. +| handover:error | <> | Re-assigment failed for other reason. +| interbsc_ho_out:attempted | <> | Attempts to handover to remote BSS. +| interbsc_ho_out:completed | <> | Handover to remote BSS completed. +| interbsc_ho_out:stopped | <> | Connection ended during HO. +| interbsc_ho_out:timeout | <> | Handover timed out. +| interbsc_ho_out:error | <> | Handover to remote BSS failed for other reason. +| interbsc_ho_in:attempted | <> | Attempts to handover from remote BSS. +| interbsc_ho_in:completed | <> | Handover from remote BSS completed. +| interbsc_ho_in:stopped | <> | Connection ended during HO. +| interbsc_ho_in:no_channel | <> | Failure to allocate lchan for HO. +| interbsc_ho_in:failed | <> | Received Handover Fail message. +| interbsc_ho_in:timeout | <> | Handover from remote BSS timed out. +| interbsc_ho_in:error | <> | Handover from remote BSS failed for other reason. +| paging:attempted | <> | Paging attempts for a subscriber. +| paging:detached | <> | Paging request send failures because no responsible BTS was found. +| paging:responded | <> | Paging attempts with successful response. +| abis:unknown_unit_id | <> | Connection attempts from unknown IPA CCM Unit ID. |=== -// rate_ctr_group table mobile switching center -.msc - mobile switching center -[options="header"] -|=== -| Name | Reference | Description -| loc_update_type:attach | <> | Received location update imsi attach requests. -| loc_update_type:normal | <> | Received location update normal requests. -| loc_update_type:periodic | <> | Received location update periodic requests. -| loc_update_type:detach | <> | Received location update detach indication. -| loc_update_resp:failed | <> | Rejected location updates. -| loc_update_resp:completed | <> | Successful location updates. -| sms:submitted | <> | Received a RPDU from a MS (MO). -| sms:no_receiver | <> | Counts SMS which couldn't routed because no receiver found. -| sms:delivered | <> | Global SMS Deliver attempts. -| sms:rp_err_mem | <> | CAUSE_MT_MEM_EXCEEDED errors of MS responses on a sms deliver attempt. -| sms:rp_err_other | <> | Other error of MS responses on a sms delive attempt. -| sms:deliver_unknown_error | <> | Unknown error occured during sms delivery. -| call:mo_setup | <> | Received setup requests from a MS to init a MO call. -| call:mo_connect_ack | <> | Received a connect ack from MS of a MO call. Call is now succesful connected up. -| call:mt_setup | <> | Sent setup requests to the MS (MT). -| call:mt_connect | <> | Sent a connect to the MS (MT). -| call:active | <> | Count total amount of calls that ever reached active state. -| call:complete | <> | Count total amount of calls which got terminated by disconnect req or ind after reaching active state. -| call:incomplete | <> | Count total amount of call which got terminated by any other reason after reaching active state. -|=== -// generating tables for osmo_stat_items -// generating tables for osmo_counters -// ungrouped osmo_counters -.ungrouped osmo counters -[options="header"] -|=== -| Name | Reference | Description -| msc.active_calls | <> | -|=== +== Osmo Stat Items +// generating tables for osmo_stat_items +base transceiver station +// osmo_stat_item_group table base transceiver station +.bts - base transceiver station +[options="header"] +|=== +| Name | Reference | Description | Unit +| chanloadavg | <> | Channel load average. | % +| T3122 | <> | T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator. | s +| rach_busy | <> | RACH slots with signal above threshold | % +| rach_access | <> | RACH slots with access bursts in them | % +|=== +base transceiver station +// osmo_stat_item_group table base transceiver station +.bts - base transceiver station +[options="header"] +|=== +| Name | Reference | Description | Unit +| chanloadavg | <> | Channel load average. | % +| T3122 | <> | T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator. | s +| rach_busy | <> | RACH slots with signal above threshold | % +| rach_access | <> | RACH slots with access bursts in them | % +|=== +base transceiver station +// osmo_stat_item_group table base transceiver station +.bts - base transceiver station +[options="header"] +|=== +| Name | Reference | Description | Unit +| chanloadavg | <> | Channel load average. | % +| T3122 | <> | T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator. | s +| rach_busy | <> | RACH slots with signal above threshold | % +| rach_access | <> | RACH slots with access bursts in them | % +|=== +== Osmo Counters + +// generating tables for osmo_counters +// there are no ungrouped osmo_counters diff --git a/doc/manuals/osmobsc-vty-reference.xml b/doc/manuals/osmobsc-vty-reference.xml index f51e56e..ec3022c 100644 --- a/doc/manuals/osmobsc-vty-reference.xml +++ b/doc/manuals/osmobsc-vty-reference.xml @@ -24,12 +24,18 @@ hf Update to match osmo-bsc version 0.13.0-305 + + v3 + 6th June 2019 + dw + Update to match osmo-bsc version 1.4.0.84-3f1f + OsmoBSC VTY Reference - 2012-2014 + 2012-2019 diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index f56b951..9992267 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -152,6 +152,14 @@ + + + + + + + + @@ -175,13 +183,31 @@ - + + + + + + + + + + + + + + + + + + + @@ -294,7 +320,7 @@ - + @@ -335,6 +361,7 @@ + @@ -424,13 +451,6 @@ - - - - - - - @@ -759,6 +779,14 @@ + + + + + + + + @@ -782,13 +810,31 @@ - + + + + + + + + + + + + + + + + + + + @@ -925,7 +971,7 @@ - + @@ -966,6 +1012,7 @@ + @@ -1055,13 +1102,6 @@ - - - - - - - @@ -1172,11 +1212,14 @@ - + + + + @@ -1790,7 +1833,7 @@ - + @@ -1831,6 +1874,7 @@ + @@ -1961,10 +2005,11 @@ - + + @@ -2470,12 +2515,12 @@ - + - - - - + + + + @@ -2960,6 +3005,13 @@ + + + + + + + @@ -3117,7 +3169,7 @@ - + @@ -3129,6 +3181,7 @@ + @@ -3301,6 +3354,19 @@ + + + + + + + + + + + + + @@ -3319,7 +3385,7 @@ - + @@ -3868,6 +3934,19 @@ + + + + + + + + + + + + + @@ -4573,11 +4652,19 @@ - + + + + + + + + - + + @@ -4647,19 +4734,11 @@ - + - - - - - - - - - - + + @@ -4676,6 +4755,14 @@ + + + + + + + + om2k -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9f75edf2e5b88ef8f4592fa89548f32e0a7df8d8 Gerrit-Change-Number: 14388 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 Thu Jun 6 16:19:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 6 Jun 2019 16:19:16 +0000 Subject: Change in ...osmo-bsc[master]: manuals: Update generated VTY reference and counters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14388 ) Change subject: manuals: Update generated VTY reference and counters ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9f75edf2e5b88ef8f4592fa89548f32e0a7df8d8 Gerrit-Change-Number: 14388 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 Jun 2019 16: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 Thu Jun 6 16:46:22 2019 From: gerrit-no-reply at lists.osmocom.org (=?UTF-8?Q?K=C3=A9vin_Redon?=) Date: Thu, 6 Jun 2019 16:46:22 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Makefile: add missing hpl/rtc directory Message-ID: K?vin Redon has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14389 Change subject: Makefile: add missing hpl/rtc directory ...................................................................... Makefile: add missing hpl/rtc directory Change-Id: I3fed159173467d1da091758fe2a87bef2cd2e3c7 --- M sysmoOCTSIM/gcc/Makefile 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/89/14389/1 diff --git a/sysmoOCTSIM/gcc/Makefile b/sysmoOCTSIM/gcc/Makefile index 97c5ec1..01088cc 100644 --- a/sysmoOCTSIM/gcc/Makefile +++ b/sysmoOCTSIM/gcc/Makefile @@ -63,6 +63,7 @@ hpl/pm \ hpl/ramecc \ hpl/sercom \ + hpl/rtc \ hpl/usb \ stdio_redirect \ stdio_redirect/gcc \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14389 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: I3fed159173467d1da091758fe2a87bef2cd2e3c7 Gerrit-Change-Number: 14389 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 16:46:23 2019 From: gerrit-no-reply at lists.osmocom.org (=?UTF-8?Q?K=C3=A9vin_Redon?=) Date: Thu, 6 Jun 2019 16:46:23 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ASF: add related RTC files Message-ID: K?vin Redon has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14390 Change subject: ASF: add related RTC files ...................................................................... ASF: add related RTC files this add the documentation and (yet unused) RTC definitions so to by in sync with the ASFv4 upstream library Change-Id: If3e24ede24b4e8cc2724a796756a5a2aa81119de --- A sysmoOCTSIM/hal/documentation/calendar.rst A sysmoOCTSIM/hpl/rtc/hpl_rtc_base.h 2 files changed, 124 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/90/14390/1 diff --git a/sysmoOCTSIM/hal/documentation/calendar.rst b/sysmoOCTSIM/hal/documentation/calendar.rst new file mode 100644 index 0000000..8a3de6e --- /dev/null +++ b/sysmoOCTSIM/hal/documentation/calendar.rst @@ -0,0 +1,72 @@ +=============================== +The Calendar driver (bare-bone) +=============================== + +The Calendar driver provides means to set and get current date and time. +After enabling, an instance of the driver starts counting time from the base date with +the resolution of one second. The default base date is 00:00:00 1st of January 1970. +Only the base year of the base date can be changed via the driver API. + +The current date and time is kept internally in a relative form as the difference between +current date and time and the base date and time. This means that changing the base year changes +current date. + +The base date and time defines time "zero" or the earliest possible point in time that the calender driver can describe, +this means that current time and alarms can not be set to anything earlier than this time. + +The Calendar driver provides alarm functionality. +An alarm is a software trigger which fires on particular date and time with particular periodicity. +Upon firing the given callback function is called. + +An alarm can be in single-shot mode, firing only once at matching time; or in repeating mode, meaning that it will +reschedule a new alarm automatically based on repeating mode configuration. +In single-shot mode an alarm is removed from the alarm queue before its callback is called. It allows an application to +reuse the memory of expired alarm in the callback. + +An alarm can be triggered on the following events: match on second, minute, hour, day, month or year. +Matching on second means that the alarm is triggered when the value of seconds of the current time is equal to +the alarm's value of seconds. This means repeating alarm with match on seconds is triggered with the period of a minute. +Matching on minute means that the calendars minute and seconds values has to match the alarms, the rest of the date-time +value is ignored. In repeating mode this means a new alarm every hour. +The same logic is applied to match on hour, day, month and year. + +Each instance of the Calendar driver supports infinite amount of software alarms, only limited by the amount of RAM available. + +Features +-------- +* Initialization and de-initialization +* Enabling and disabling +* Date and time operations +* Software alarms + +Applications +------------ +* A source of current date and time for an embedded system. +* Periodical functionality in low-power applications since the driver is designed to use 1Hz clock. +* Periodical function calls in case if it is more convenient to operate with absolute time. + +Dependencies +------------ +* This driver expects a counter to be increased by one every second to count date and time correctly. +* Each instance of the driver requires separate hardware timer. + +Concurrency +----------- +The Calendar driver is an interrupt driven driver.This means that the interrupt that triggers an alarm may occur during +the process of adding or removing an alarm via the driver's API. In such case the interrupt processing is postponed +until the alarm adding or removing is complete. + +The alarm queue is not protected from the access by interrupts not used by the driver. Due to this +it is not recommended to add or remove an alarm from such interrupts: in case if a higher priority interrupt supersedes +the driver's interrupt, adding or removing an alarm may cause unpredictable behavior of the driver. + +Limitations +----------- +* Only years divisible by 4 are deemed a leap year, this gives a correct result between the years 1901 to 2099. +* The driver is designed to work outside of an operating system environment, the software alarm queue is therefore processed in interrupt context which may delay execution of other interrupts. +* If there are a lot of frequently called interrupts with the priority higher than the driver's one, it may cause delay in alarm's triggering. +* Changing the base year or setting current date or time does not shift alarms' date and time accordingly or expires alarms. + +Knows issues and workarounds +---------------------------- +Not applicable diff --git a/sysmoOCTSIM/hpl/rtc/hpl_rtc_base.h b/sysmoOCTSIM/hpl/rtc/hpl_rtc_base.h new file mode 100644 index 0000000..06e3bd7 --- /dev/null +++ b/sysmoOCTSIM/hpl/rtc/hpl_rtc_base.h @@ -0,0 +1,52 @@ +/** + * \file + * + * \brief RTC + * + * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. + * + * \asf_license_start + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip + * software and any derivatives exclusively with Microchip products. + * It is your responsibility to comply with third party license terms applicable + * to your use of third party software (including open source software) that + * may accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, + * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, + * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, + * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE + * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL + * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE + * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE + * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT + * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY + * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, + * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. + * + * \asf_license_stop + */ + +#ifndef _HPL_RTC2_V200_H_INCLUDED +#define _HPL_RTC2_V200_H_INCLUDED + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief Retrieve timer helper functions + * + * \return A pointer to set of timer helper functions + */ +struct _timer_hpl_interface *_rtc_get_timer(void); + +#ifdef __cplusplus +} +#endif +#endif /* _HPL_RTC2_V200_H_INCLUDED */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14390 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: If3e24ede24b4e8cc2724a796756a5a2aa81119de Gerrit-Change-Number: 14390 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 16:46:23 2019 From: gerrit-no-reply at lists.osmocom.org (=?UTF-8?Q?K=C3=A9vin_Redon?=) Date: Thu, 6 Jun 2019 16:46:23 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ASF: update e54 library Message-ID: K?vin Redon has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14391 Change subject: ASF: update e54 library ...................................................................... ASF: update e54 library E54 ASFv4 change from backend 1.5.122 update local files to stay in sync Change-Id: Ib9017744644357ba9ec99eddbcc89d7f95068c34 --- M sysmoOCTSIM/AtmelStart.gpdsc M sysmoOCTSIM/hri/hri_e54.h D sysmoOCTSIM/hri/hri_mpu_e54.h D sysmoOCTSIM/hri/hri_nvic_e54.h D sysmoOCTSIM/hri/hri_systemcontrol_e54.h D sysmoOCTSIM/hri/hri_systick_e54.h 6 files changed, 1 insertion(+), 2,057 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/91/14391/1 diff --git a/sysmoOCTSIM/AtmelStart.gpdsc b/sysmoOCTSIM/AtmelStart.gpdsc index c7c5bd4..c2dfad4 100644 --- a/sysmoOCTSIM/AtmelStart.gpdsc +++ b/sysmoOCTSIM/AtmelStart.gpdsc @@ -127,8 +127,6 @@ - - @@ -144,8 +142,6 @@ - - diff --git a/sysmoOCTSIM/hri/hri_e54.h b/sysmoOCTSIM/hri/hri_e54.h index a562a2d..46e77ca 100644 --- a/sysmoOCTSIM/hri/hri_e54.h +++ b/sysmoOCTSIM/hri/hri_e54.h @@ -3,7 +3,7 @@ * * \brief SAM E54 HRI top-level header file * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. + * Copyright (c) 2016-2019 Microchip Technology Inc. and its subsidiaries. * * \asf_license_start * @@ -52,8 +52,6 @@ #include #include #include -#include -#include #include #include #include @@ -69,8 +67,6 @@ #include #include #include -#include -#include #include #include #include diff --git a/sysmoOCTSIM/hri/hri_mpu_e54.h b/sysmoOCTSIM/hri/hri_mpu_e54.h deleted file mode 100644 index b195272..0000000 --- a/sysmoOCTSIM/hri/hri_mpu_e54.h +++ /dev/null @@ -1,518 +0,0 @@ -/** - * \file - * - * \brief SAM MPU - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_MPU_COMPONENT_ -#ifndef _HRI_MPU_E54_H_INCLUDED_ -#define _HRI_MPU_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_MPU_CRITICAL_SECTIONS) -#define MPU_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define MPU_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define MPU_CRITICAL_SECTION_ENTER() -#define MPU_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_mpu_ctrl_reg_t; -typedef uint32_t hri_mpu_rasr_a1_reg_t; -typedef uint32_t hri_mpu_rasr_a2_reg_t; -typedef uint32_t hri_mpu_rasr_a3_reg_t; -typedef uint32_t hri_mpu_rasr_reg_t; -typedef uint32_t hri_mpu_rbar_a1_reg_t; -typedef uint32_t hri_mpu_rbar_a2_reg_t; -typedef uint32_t hri_mpu_rbar_a3_reg_t; -typedef uint32_t hri_mpu_rbar_reg_t; -typedef uint32_t hri_mpu_rnr_reg_t; -typedef uint32_t hri_mpu_type_reg_t; - -static inline bool hri_mpu_get_TYPE_SEPARATE_bit(const void *const hw) -{ - return (((Mpu *)hw)->TYPE.reg & MPU_TYPE_SEPARATE) >> 0; -} - -static inline hri_mpu_type_reg_t hri_mpu_get_TYPE_DREGION_bf(const void *const hw, hri_mpu_type_reg_t mask) -{ - return (((Mpu *)hw)->TYPE.reg & MPU_TYPE_DREGION(mask)) >> 8; -} - -static inline hri_mpu_type_reg_t hri_mpu_read_TYPE_DREGION_bf(const void *const hw) -{ - return (((Mpu *)hw)->TYPE.reg & MPU_TYPE_DREGION_Msk) >> 8; -} - -static inline hri_mpu_type_reg_t hri_mpu_get_TYPE_IREGION_bf(const void *const hw, hri_mpu_type_reg_t mask) -{ - return (((Mpu *)hw)->TYPE.reg & MPU_TYPE_IREGION(mask)) >> 16; -} - -static inline hri_mpu_type_reg_t hri_mpu_read_TYPE_IREGION_bf(const void *const hw) -{ - return (((Mpu *)hw)->TYPE.reg & MPU_TYPE_IREGION_Msk) >> 16; -} - -static inline hri_mpu_type_reg_t hri_mpu_get_TYPE_reg(const void *const hw, hri_mpu_type_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->TYPE.reg; - tmp &= mask; - return tmp; -} - -static inline hri_mpu_type_reg_t hri_mpu_read_TYPE_reg(const void *const hw) -{ - return ((Mpu *)hw)->TYPE.reg; -} - -static inline void hri_mpu_set_CTRL_reg(const void *const hw, hri_mpu_ctrl_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->CTRL.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_ctrl_reg_t hri_mpu_get_CTRL_reg(const void *const hw, hri_mpu_ctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->CTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_CTRL_reg(const void *const hw, hri_mpu_ctrl_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->CTRL.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_CTRL_reg(const void *const hw, hri_mpu_ctrl_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->CTRL.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_CTRL_reg(const void *const hw, hri_mpu_ctrl_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->CTRL.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_ctrl_reg_t hri_mpu_read_CTRL_reg(const void *const hw) -{ - return ((Mpu *)hw)->CTRL.reg; -} - -static inline void hri_mpu_set_RNR_reg(const void *const hw, hri_mpu_rnr_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RNR.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rnr_reg_t hri_mpu_get_RNR_reg(const void *const hw, hri_mpu_rnr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->RNR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_RNR_reg(const void *const hw, hri_mpu_rnr_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RNR.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_RNR_reg(const void *const hw, hri_mpu_rnr_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RNR.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_RNR_reg(const void *const hw, hri_mpu_rnr_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RNR.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rnr_reg_t hri_mpu_read_RNR_reg(const void *const hw) -{ - return ((Mpu *)hw)->RNR.reg; -} - -static inline void hri_mpu_set_RBAR_reg(const void *const hw, hri_mpu_rbar_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rbar_reg_t hri_mpu_get_RBAR_reg(const void *const hw, hri_mpu_rbar_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->RBAR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_RBAR_reg(const void *const hw, hri_mpu_rbar_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_RBAR_reg(const void *const hw, hri_mpu_rbar_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_RBAR_reg(const void *const hw, hri_mpu_rbar_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rbar_reg_t hri_mpu_read_RBAR_reg(const void *const hw) -{ - return ((Mpu *)hw)->RBAR.reg; -} - -static inline void hri_mpu_set_RASR_reg(const void *const hw, hri_mpu_rasr_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rasr_reg_t hri_mpu_get_RASR_reg(const void *const hw, hri_mpu_rasr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->RASR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_RASR_reg(const void *const hw, hri_mpu_rasr_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_RASR_reg(const void *const hw, hri_mpu_rasr_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_RASR_reg(const void *const hw, hri_mpu_rasr_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rasr_reg_t hri_mpu_read_RASR_reg(const void *const hw) -{ - return ((Mpu *)hw)->RASR.reg; -} - -static inline void hri_mpu_set_RBAR_A1_reg(const void *const hw, hri_mpu_rbar_a1_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A1.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rbar_a1_reg_t hri_mpu_get_RBAR_A1_reg(const void *const hw, hri_mpu_rbar_a1_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->RBAR_A1.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_RBAR_A1_reg(const void *const hw, hri_mpu_rbar_a1_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A1.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_RBAR_A1_reg(const void *const hw, hri_mpu_rbar_a1_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A1.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_RBAR_A1_reg(const void *const hw, hri_mpu_rbar_a1_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A1.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rbar_a1_reg_t hri_mpu_read_RBAR_A1_reg(const void *const hw) -{ - return ((Mpu *)hw)->RBAR_A1.reg; -} - -static inline void hri_mpu_set_RASR_A1_reg(const void *const hw, hri_mpu_rasr_a1_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A1.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rasr_a1_reg_t hri_mpu_get_RASR_A1_reg(const void *const hw, hri_mpu_rasr_a1_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->RASR_A1.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_RASR_A1_reg(const void *const hw, hri_mpu_rasr_a1_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A1.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_RASR_A1_reg(const void *const hw, hri_mpu_rasr_a1_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A1.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_RASR_A1_reg(const void *const hw, hri_mpu_rasr_a1_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A1.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rasr_a1_reg_t hri_mpu_read_RASR_A1_reg(const void *const hw) -{ - return ((Mpu *)hw)->RASR_A1.reg; -} - -static inline void hri_mpu_set_RBAR_A2_reg(const void *const hw, hri_mpu_rbar_a2_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A2.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rbar_a2_reg_t hri_mpu_get_RBAR_A2_reg(const void *const hw, hri_mpu_rbar_a2_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->RBAR_A2.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_RBAR_A2_reg(const void *const hw, hri_mpu_rbar_a2_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A2.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_RBAR_A2_reg(const void *const hw, hri_mpu_rbar_a2_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A2.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_RBAR_A2_reg(const void *const hw, hri_mpu_rbar_a2_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A2.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rbar_a2_reg_t hri_mpu_read_RBAR_A2_reg(const void *const hw) -{ - return ((Mpu *)hw)->RBAR_A2.reg; -} - -static inline void hri_mpu_set_RASR_A2_reg(const void *const hw, hri_mpu_rasr_a2_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A2.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rasr_a2_reg_t hri_mpu_get_RASR_A2_reg(const void *const hw, hri_mpu_rasr_a2_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->RASR_A2.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_RASR_A2_reg(const void *const hw, hri_mpu_rasr_a2_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A2.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_RASR_A2_reg(const void *const hw, hri_mpu_rasr_a2_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A2.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_RASR_A2_reg(const void *const hw, hri_mpu_rasr_a2_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A2.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rasr_a2_reg_t hri_mpu_read_RASR_A2_reg(const void *const hw) -{ - return ((Mpu *)hw)->RASR_A2.reg; -} - -static inline void hri_mpu_set_RBAR_A3_reg(const void *const hw, hri_mpu_rbar_a3_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A3.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rbar_a3_reg_t hri_mpu_get_RBAR_A3_reg(const void *const hw, hri_mpu_rbar_a3_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->RBAR_A3.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_RBAR_A3_reg(const void *const hw, hri_mpu_rbar_a3_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A3.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_RBAR_A3_reg(const void *const hw, hri_mpu_rbar_a3_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A3.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_RBAR_A3_reg(const void *const hw, hri_mpu_rbar_a3_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A3.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rbar_a3_reg_t hri_mpu_read_RBAR_A3_reg(const void *const hw) -{ - return ((Mpu *)hw)->RBAR_A3.reg; -} - -static inline void hri_mpu_set_RASR_A3_reg(const void *const hw, hri_mpu_rasr_a3_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A3.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rasr_a3_reg_t hri_mpu_get_RASR_A3_reg(const void *const hw, hri_mpu_rasr_a3_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->RASR_A3.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_RASR_A3_reg(const void *const hw, hri_mpu_rasr_a3_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A3.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_RASR_A3_reg(const void *const hw, hri_mpu_rasr_a3_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A3.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_RASR_A3_reg(const void *const hw, hri_mpu_rasr_a3_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A3.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rasr_a3_reg_t hri_mpu_read_RASR_A3_reg(const void *const hw) -{ - return ((Mpu *)hw)->RASR_A3.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_MPU_E54_H_INCLUDED */ -#endif /* _SAME54_MPU_COMPONENT_ */ diff --git a/sysmoOCTSIM/hri/hri_nvic_e54.h b/sysmoOCTSIM/hri/hri_nvic_e54.h deleted file mode 100644 index ce7d41f..0000000 --- a/sysmoOCTSIM/hri/hri_nvic_e54.h +++ /dev/null @@ -1,319 +0,0 @@ -/** - * \file - * - * \brief SAM NVIC - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_NVIC_COMPONENT_ -#ifndef _HRI_NVIC_E54_H_INCLUDED_ -#define _HRI_NVIC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_NVIC_CRITICAL_SECTIONS) -#define NVIC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define NVIC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define NVIC_CRITICAL_SECTION_ENTER() -#define NVIC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_nvic_iabr_reg_t; -typedef uint32_t hri_nvic_icer_reg_t; -typedef uint32_t hri_nvic_icpr_reg_t; -typedef uint32_t hri_nvic_iser_reg_t; -typedef uint32_t hri_nvic_ispr_reg_t; -typedef uint32_t hri_nvic_stir_reg_t; -typedef uint8_t hri_nvic_ip_reg_t; - -static inline void hri_nvic_set_ISER_reg(const void *const hw, uint8_t index, hri_nvic_iser_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ISER[index].reg |= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_iser_reg_t hri_nvic_get_ISER_reg(const void *const hw, uint8_t index, hri_nvic_iser_reg_t mask) -{ - uint32_t tmp; - tmp = ((Nvic *)hw)->ISER[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_nvic_write_ISER_reg(const void *const hw, uint8_t index, hri_nvic_iser_reg_t data) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ISER[index].reg = data; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_clear_ISER_reg(const void *const hw, uint8_t index, hri_nvic_iser_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ISER[index].reg &= ~mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_toggle_ISER_reg(const void *const hw, uint8_t index, hri_nvic_iser_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ISER[index].reg ^= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_iser_reg_t hri_nvic_read_ISER_reg(const void *const hw, uint8_t index) -{ - return ((Nvic *)hw)->ISER[index].reg; -} - -static inline void hri_nvic_set_ICER_reg(const void *const hw, uint8_t index, hri_nvic_icer_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ICER[index].reg |= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_icer_reg_t hri_nvic_get_ICER_reg(const void *const hw, uint8_t index, hri_nvic_icer_reg_t mask) -{ - uint32_t tmp; - tmp = ((Nvic *)hw)->ICER[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_nvic_write_ICER_reg(const void *const hw, uint8_t index, hri_nvic_icer_reg_t data) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ICER[index].reg = data; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_clear_ICER_reg(const void *const hw, uint8_t index, hri_nvic_icer_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ICER[index].reg &= ~mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_toggle_ICER_reg(const void *const hw, uint8_t index, hri_nvic_icer_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ICER[index].reg ^= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_icer_reg_t hri_nvic_read_ICER_reg(const void *const hw, uint8_t index) -{ - return ((Nvic *)hw)->ICER[index].reg; -} - -static inline void hri_nvic_set_ISPR_reg(const void *const hw, uint8_t index, hri_nvic_ispr_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ISPR[index].reg |= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_ispr_reg_t hri_nvic_get_ISPR_reg(const void *const hw, uint8_t index, hri_nvic_ispr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Nvic *)hw)->ISPR[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_nvic_write_ISPR_reg(const void *const hw, uint8_t index, hri_nvic_ispr_reg_t data) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ISPR[index].reg = data; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_clear_ISPR_reg(const void *const hw, uint8_t index, hri_nvic_ispr_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ISPR[index].reg &= ~mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_toggle_ISPR_reg(const void *const hw, uint8_t index, hri_nvic_ispr_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ISPR[index].reg ^= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_ispr_reg_t hri_nvic_read_ISPR_reg(const void *const hw, uint8_t index) -{ - return ((Nvic *)hw)->ISPR[index].reg; -} - -static inline void hri_nvic_set_ICPR_reg(const void *const hw, uint8_t index, hri_nvic_icpr_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ICPR[index].reg |= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_icpr_reg_t hri_nvic_get_ICPR_reg(const void *const hw, uint8_t index, hri_nvic_icpr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Nvic *)hw)->ICPR[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_nvic_write_ICPR_reg(const void *const hw, uint8_t index, hri_nvic_icpr_reg_t data) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ICPR[index].reg = data; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_clear_ICPR_reg(const void *const hw, uint8_t index, hri_nvic_icpr_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ICPR[index].reg &= ~mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_toggle_ICPR_reg(const void *const hw, uint8_t index, hri_nvic_icpr_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ICPR[index].reg ^= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_icpr_reg_t hri_nvic_read_ICPR_reg(const void *const hw, uint8_t index) -{ - return ((Nvic *)hw)->ICPR[index].reg; -} - -static inline void hri_nvic_set_IABR_reg(const void *const hw, uint8_t index, hri_nvic_iabr_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->IABR[index].reg |= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_iabr_reg_t hri_nvic_get_IABR_reg(const void *const hw, uint8_t index, hri_nvic_iabr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Nvic *)hw)->IABR[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_nvic_write_IABR_reg(const void *const hw, uint8_t index, hri_nvic_iabr_reg_t data) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->IABR[index].reg = data; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_clear_IABR_reg(const void *const hw, uint8_t index, hri_nvic_iabr_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->IABR[index].reg &= ~mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_toggle_IABR_reg(const void *const hw, uint8_t index, hri_nvic_iabr_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->IABR[index].reg ^= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_iabr_reg_t hri_nvic_read_IABR_reg(const void *const hw, uint8_t index) -{ - return ((Nvic *)hw)->IABR[index].reg; -} - -static inline void hri_nvic_set_IP_reg(const void *const hw, uint8_t index, hri_nvic_ip_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->IP[index].reg |= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_ip_reg_t hri_nvic_get_IP_reg(const void *const hw, uint8_t index, hri_nvic_ip_reg_t mask) -{ - uint8_t tmp; - tmp = ((Nvic *)hw)->IP[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_nvic_write_IP_reg(const void *const hw, uint8_t index, hri_nvic_ip_reg_t data) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->IP[index].reg = data; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_clear_IP_reg(const void *const hw, uint8_t index, hri_nvic_ip_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->IP[index].reg &= ~mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_toggle_IP_reg(const void *const hw, uint8_t index, hri_nvic_ip_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->IP[index].reg ^= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_ip_reg_t hri_nvic_read_IP_reg(const void *const hw, uint8_t index) -{ - return ((Nvic *)hw)->IP[index].reg; -} - -static inline void hri_nvic_write_STIR_reg(const void *const hw, hri_nvic_stir_reg_t data) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->STIR.reg = data; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_NVIC_E54_H_INCLUDED */ -#endif /* _SAME54_NVIC_COMPONENT_ */ diff --git a/sysmoOCTSIM/hri/hri_systemcontrol_e54.h b/sysmoOCTSIM/hri/hri_systemcontrol_e54.h deleted file mode 100644 index 000ef90..0000000 --- a/sysmoOCTSIM/hri/hri_systemcontrol_e54.h +++ /dev/null @@ -1,992 +0,0 @@ -/** - * \file - * - * \brief SAM SystemControl - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_SystemControl_COMPONENT_ -#ifndef _HRI_SystemControl_E54_H_INCLUDED_ -#define _HRI_SystemControl_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_SystemControl_CRITICAL_SECTIONS) -#define SystemControl_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define SystemControl_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define SystemControl_CRITICAL_SECTION_ENTER() -#define SystemControl_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_systemcontrol_actlr_reg_t; -typedef uint32_t hri_systemcontrol_adr_reg_t; -typedef uint32_t hri_systemcontrol_afsr_reg_t; -typedef uint32_t hri_systemcontrol_aircr_reg_t; -typedef uint32_t hri_systemcontrol_bfar_reg_t; -typedef uint32_t hri_systemcontrol_ccr_reg_t; -typedef uint32_t hri_systemcontrol_cfsr_reg_t; -typedef uint32_t hri_systemcontrol_cpacr_reg_t; -typedef uint32_t hri_systemcontrol_cpuid_reg_t; -typedef uint32_t hri_systemcontrol_dfr_reg_t; -typedef uint32_t hri_systemcontrol_dfsr_reg_t; -typedef uint32_t hri_systemcontrol_hfsr_reg_t; -typedef uint32_t hri_systemcontrol_icsr_reg_t; -typedef uint32_t hri_systemcontrol_ictr_reg_t; -typedef uint32_t hri_systemcontrol_isar_reg_t; -typedef uint32_t hri_systemcontrol_mmfar_reg_t; -typedef uint32_t hri_systemcontrol_mmfr_reg_t; -typedef uint32_t hri_systemcontrol_pfr_reg_t; -typedef uint32_t hri_systemcontrol_scr_reg_t; -typedef uint32_t hri_systemcontrol_shcsr_reg_t; -typedef uint32_t hri_systemcontrol_shpr1_reg_t; -typedef uint32_t hri_systemcontrol_shpr2_reg_t; -typedef uint32_t hri_systemcontrol_shpr3_reg_t; -typedef uint32_t hri_systemcontrol_vtor_reg_t; - -static inline hri_systemcontrol_ictr_reg_t hri_systemcontrol_get_ICTR_INTLINESNUM_bf(const void *const hw, - hri_systemcontrol_ictr_reg_t mask) -{ - return (((Systemcontrol *)hw)->ICTR.reg & SystemControl_ICTR_INTLINESNUM(mask)) >> 0; -} - -static inline hri_systemcontrol_ictr_reg_t hri_systemcontrol_read_ICTR_INTLINESNUM_bf(const void *const hw) -{ - return (((Systemcontrol *)hw)->ICTR.reg & SystemControl_ICTR_INTLINESNUM_Msk) >> 0; -} - -static inline hri_systemcontrol_ictr_reg_t hri_systemcontrol_get_ICTR_reg(const void *const hw, - hri_systemcontrol_ictr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->ICTR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_systemcontrol_ictr_reg_t hri_systemcontrol_read_ICTR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->ICTR.reg; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_get_CPUID_REVISION_bf(const void *const hw, - hri_systemcontrol_cpuid_reg_t mask) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_REVISION(mask)) >> 0; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_read_CPUID_REVISION_bf(const void *const hw) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_REVISION_Msk) >> 0; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_get_CPUID_PARTNO_bf(const void *const hw, - hri_systemcontrol_cpuid_reg_t mask) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_PARTNO(mask)) >> 4; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_read_CPUID_PARTNO_bf(const void *const hw) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_PARTNO_Msk) >> 4; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_get_CPUID_CONSTANT_bf(const void *const hw, - hri_systemcontrol_cpuid_reg_t mask) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_CONSTANT(mask)) >> 16; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_read_CPUID_CONSTANT_bf(const void *const hw) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_CONSTANT_Msk) >> 16; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_get_CPUID_VARIANT_bf(const void *const hw, - hri_systemcontrol_cpuid_reg_t mask) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_VARIANT(mask)) >> 20; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_read_CPUID_VARIANT_bf(const void *const hw) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_VARIANT_Msk) >> 20; -} - -static inline hri_systemcontrol_cpuid_reg_t -hri_systemcontrol_get_CPUID_IMPLEMENTER_bf(const void *const hw, hri_systemcontrol_cpuid_reg_t mask) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_IMPLEMENTER(mask)) >> 24; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_read_CPUID_IMPLEMENTER_bf(const void *const hw) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_IMPLEMENTER_Msk) >> 24; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_get_CPUID_reg(const void *const hw, - hri_systemcontrol_cpuid_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->CPUID.reg; - tmp &= mask; - return tmp; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_read_CPUID_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->CPUID.reg; -} - -static inline hri_systemcontrol_dfr_reg_t hri_systemcontrol_get_DFR_reg(const void *const hw, - hri_systemcontrol_dfr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->DFR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_systemcontrol_dfr_reg_t hri_systemcontrol_read_DFR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->DFR.reg; -} - -static inline hri_systemcontrol_adr_reg_t hri_systemcontrol_get_ADR_reg(const void *const hw, - hri_systemcontrol_adr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->ADR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_systemcontrol_adr_reg_t hri_systemcontrol_read_ADR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->ADR.reg; -} - -static inline hri_systemcontrol_mmfr_reg_t hri_systemcontrol_get_MMFR_reg(const void *const hw, uint8_t index, - hri_systemcontrol_mmfr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->MMFR[index].reg; - tmp &= mask; - return tmp; -} - -static inline hri_systemcontrol_mmfr_reg_t hri_systemcontrol_read_MMFR_reg(const void *const hw, uint8_t index) -{ - return ((Systemcontrol *)hw)->MMFR[index].reg; -} - -static inline hri_systemcontrol_isar_reg_t hri_systemcontrol_get_ISAR_reg(const void *const hw, uint8_t index, - hri_systemcontrol_isar_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->ISAR[index].reg; - tmp &= mask; - return tmp; -} - -static inline hri_systemcontrol_isar_reg_t hri_systemcontrol_read_ISAR_reg(const void *const hw, uint8_t index) -{ - return ((Systemcontrol *)hw)->ISAR[index].reg; -} - -static inline void hri_systemcontrol_set_ACTLR_reg(const void *const hw, hri_systemcontrol_actlr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->ACTLR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_actlr_reg_t hri_systemcontrol_get_ACTLR_reg(const void *const hw, - hri_systemcontrol_actlr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->ACTLR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_ACTLR_reg(const void *const hw, hri_systemcontrol_actlr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->ACTLR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_ACTLR_reg(const void *const hw, hri_systemcontrol_actlr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->ACTLR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_ACTLR_reg(const void *const hw, hri_systemcontrol_actlr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->ACTLR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_actlr_reg_t hri_systemcontrol_read_ACTLR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->ACTLR.reg; -} - -static inline void hri_systemcontrol_set_ICSR_reg(const void *const hw, hri_systemcontrol_icsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->ICSR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_icsr_reg_t hri_systemcontrol_get_ICSR_reg(const void *const hw, - hri_systemcontrol_icsr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->ICSR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_ICSR_reg(const void *const hw, hri_systemcontrol_icsr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->ICSR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_ICSR_reg(const void *const hw, hri_systemcontrol_icsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->ICSR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_ICSR_reg(const void *const hw, hri_systemcontrol_icsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->ICSR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_icsr_reg_t hri_systemcontrol_read_ICSR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->ICSR.reg; -} - -static inline void hri_systemcontrol_set_VTOR_reg(const void *const hw, hri_systemcontrol_vtor_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->VTOR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_vtor_reg_t hri_systemcontrol_get_VTOR_reg(const void *const hw, - hri_systemcontrol_vtor_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->VTOR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_VTOR_reg(const void *const hw, hri_systemcontrol_vtor_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->VTOR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_VTOR_reg(const void *const hw, hri_systemcontrol_vtor_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->VTOR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_VTOR_reg(const void *const hw, hri_systemcontrol_vtor_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->VTOR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_vtor_reg_t hri_systemcontrol_read_VTOR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->VTOR.reg; -} - -static inline void hri_systemcontrol_set_AIRCR_reg(const void *const hw, hri_systemcontrol_aircr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->AIRCR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_aircr_reg_t hri_systemcontrol_get_AIRCR_reg(const void *const hw, - hri_systemcontrol_aircr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->AIRCR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_AIRCR_reg(const void *const hw, hri_systemcontrol_aircr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->AIRCR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_AIRCR_reg(const void *const hw, hri_systemcontrol_aircr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->AIRCR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_AIRCR_reg(const void *const hw, hri_systemcontrol_aircr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->AIRCR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_aircr_reg_t hri_systemcontrol_read_AIRCR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->AIRCR.reg; -} - -static inline void hri_systemcontrol_set_SCR_reg(const void *const hw, hri_systemcontrol_scr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SCR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_scr_reg_t hri_systemcontrol_get_SCR_reg(const void *const hw, - hri_systemcontrol_scr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->SCR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_SCR_reg(const void *const hw, hri_systemcontrol_scr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SCR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_SCR_reg(const void *const hw, hri_systemcontrol_scr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SCR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_SCR_reg(const void *const hw, hri_systemcontrol_scr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SCR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_scr_reg_t hri_systemcontrol_read_SCR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->SCR.reg; -} - -static inline void hri_systemcontrol_set_CCR_reg(const void *const hw, hri_systemcontrol_ccr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CCR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_ccr_reg_t hri_systemcontrol_get_CCR_reg(const void *const hw, - hri_systemcontrol_ccr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->CCR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_CCR_reg(const void *const hw, hri_systemcontrol_ccr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CCR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_CCR_reg(const void *const hw, hri_systemcontrol_ccr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CCR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_CCR_reg(const void *const hw, hri_systemcontrol_ccr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CCR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_ccr_reg_t hri_systemcontrol_read_CCR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->CCR.reg; -} - -static inline void hri_systemcontrol_set_SHPR1_reg(const void *const hw, hri_systemcontrol_shpr1_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR1.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_shpr1_reg_t hri_systemcontrol_get_SHPR1_reg(const void *const hw, - hri_systemcontrol_shpr1_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->SHPR1.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_SHPR1_reg(const void *const hw, hri_systemcontrol_shpr1_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR1.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_SHPR1_reg(const void *const hw, hri_systemcontrol_shpr1_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR1.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_SHPR1_reg(const void *const hw, hri_systemcontrol_shpr1_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR1.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_shpr1_reg_t hri_systemcontrol_read_SHPR1_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->SHPR1.reg; -} - -static inline void hri_systemcontrol_set_SHPR2_reg(const void *const hw, hri_systemcontrol_shpr2_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR2.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_shpr2_reg_t hri_systemcontrol_get_SHPR2_reg(const void *const hw, - hri_systemcontrol_shpr2_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->SHPR2.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_SHPR2_reg(const void *const hw, hri_systemcontrol_shpr2_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR2.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_SHPR2_reg(const void *const hw, hri_systemcontrol_shpr2_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR2.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_SHPR2_reg(const void *const hw, hri_systemcontrol_shpr2_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR2.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_shpr2_reg_t hri_systemcontrol_read_SHPR2_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->SHPR2.reg; -} - -static inline void hri_systemcontrol_set_SHPR3_reg(const void *const hw, hri_systemcontrol_shpr3_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR3.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_shpr3_reg_t hri_systemcontrol_get_SHPR3_reg(const void *const hw, - hri_systemcontrol_shpr3_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->SHPR3.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_SHPR3_reg(const void *const hw, hri_systemcontrol_shpr3_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR3.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_SHPR3_reg(const void *const hw, hri_systemcontrol_shpr3_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR3.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_SHPR3_reg(const void *const hw, hri_systemcontrol_shpr3_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR3.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_shpr3_reg_t hri_systemcontrol_read_SHPR3_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->SHPR3.reg; -} - -static inline void hri_systemcontrol_set_SHCSR_reg(const void *const hw, hri_systemcontrol_shcsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHCSR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_shcsr_reg_t hri_systemcontrol_get_SHCSR_reg(const void *const hw, - hri_systemcontrol_shcsr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->SHCSR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_SHCSR_reg(const void *const hw, hri_systemcontrol_shcsr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHCSR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_SHCSR_reg(const void *const hw, hri_systemcontrol_shcsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHCSR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_SHCSR_reg(const void *const hw, hri_systemcontrol_shcsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHCSR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_shcsr_reg_t hri_systemcontrol_read_SHCSR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->SHCSR.reg; -} - -static inline void hri_systemcontrol_set_CFSR_reg(const void *const hw, hri_systemcontrol_cfsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CFSR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_cfsr_reg_t hri_systemcontrol_get_CFSR_reg(const void *const hw, - hri_systemcontrol_cfsr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->CFSR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_CFSR_reg(const void *const hw, hri_systemcontrol_cfsr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CFSR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_CFSR_reg(const void *const hw, hri_systemcontrol_cfsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CFSR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_CFSR_reg(const void *const hw, hri_systemcontrol_cfsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CFSR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_cfsr_reg_t hri_systemcontrol_read_CFSR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->CFSR.reg; -} - -static inline void hri_systemcontrol_set_HFSR_reg(const void *const hw, hri_systemcontrol_hfsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->HFSR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_hfsr_reg_t hri_systemcontrol_get_HFSR_reg(const void *const hw, - hri_systemcontrol_hfsr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->HFSR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_HFSR_reg(const void *const hw, hri_systemcontrol_hfsr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->HFSR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_HFSR_reg(const void *const hw, hri_systemcontrol_hfsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->HFSR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_HFSR_reg(const void *const hw, hri_systemcontrol_hfsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->HFSR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_hfsr_reg_t hri_systemcontrol_read_HFSR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->HFSR.reg; -} - -static inline void hri_systemcontrol_set_DFSR_reg(const void *const hw, hri_systemcontrol_dfsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->DFSR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_dfsr_reg_t hri_systemcontrol_get_DFSR_reg(const void *const hw, - hri_systemcontrol_dfsr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->DFSR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_DFSR_reg(const void *const hw, hri_systemcontrol_dfsr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->DFSR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_DFSR_reg(const void *const hw, hri_systemcontrol_dfsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->DFSR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_DFSR_reg(const void *const hw, hri_systemcontrol_dfsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->DFSR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_dfsr_reg_t hri_systemcontrol_read_DFSR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->DFSR.reg; -} - -static inline void hri_systemcontrol_set_MMFAR_reg(const void *const hw, hri_systemcontrol_mmfar_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->MMFAR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_mmfar_reg_t hri_systemcontrol_get_MMFAR_reg(const void *const hw, - hri_systemcontrol_mmfar_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->MMFAR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_MMFAR_reg(const void *const hw, hri_systemcontrol_mmfar_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->MMFAR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_MMFAR_reg(const void *const hw, hri_systemcontrol_mmfar_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->MMFAR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_MMFAR_reg(const void *const hw, hri_systemcontrol_mmfar_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->MMFAR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_mmfar_reg_t hri_systemcontrol_read_MMFAR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->MMFAR.reg; -} - -static inline void hri_systemcontrol_set_BFAR_reg(const void *const hw, hri_systemcontrol_bfar_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->BFAR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_bfar_reg_t hri_systemcontrol_get_BFAR_reg(const void *const hw, - hri_systemcontrol_bfar_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->BFAR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_BFAR_reg(const void *const hw, hri_systemcontrol_bfar_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->BFAR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_BFAR_reg(const void *const hw, hri_systemcontrol_bfar_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->BFAR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_BFAR_reg(const void *const hw, hri_systemcontrol_bfar_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->BFAR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_bfar_reg_t hri_systemcontrol_read_BFAR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->BFAR.reg; -} - -static inline void hri_systemcontrol_set_AFSR_reg(const void *const hw, hri_systemcontrol_afsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->AFSR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_afsr_reg_t hri_systemcontrol_get_AFSR_reg(const void *const hw, - hri_systemcontrol_afsr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->AFSR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_AFSR_reg(const void *const hw, hri_systemcontrol_afsr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->AFSR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_AFSR_reg(const void *const hw, hri_systemcontrol_afsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->AFSR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_AFSR_reg(const void *const hw, hri_systemcontrol_afsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->AFSR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_afsr_reg_t hri_systemcontrol_read_AFSR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->AFSR.reg; -} - -static inline void hri_systemcontrol_set_PFR_reg(const void *const hw, uint8_t index, hri_systemcontrol_pfr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->PFR[index].reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_pfr_reg_t hri_systemcontrol_get_PFR_reg(const void *const hw, uint8_t index, - hri_systemcontrol_pfr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->PFR[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_PFR_reg(const void *const hw, uint8_t index, - hri_systemcontrol_pfr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->PFR[index].reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_PFR_reg(const void *const hw, uint8_t index, - hri_systemcontrol_pfr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->PFR[index].reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_PFR_reg(const void *const hw, uint8_t index, - hri_systemcontrol_pfr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->PFR[index].reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_pfr_reg_t hri_systemcontrol_read_PFR_reg(const void *const hw, uint8_t index) -{ - return ((Systemcontrol *)hw)->PFR[index].reg; -} - -static inline void hri_systemcontrol_set_CPACR_reg(const void *const hw, hri_systemcontrol_cpacr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CPACR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_cpacr_reg_t hri_systemcontrol_get_CPACR_reg(const void *const hw, - hri_systemcontrol_cpacr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->CPACR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_CPACR_reg(const void *const hw, hri_systemcontrol_cpacr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CPACR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_CPACR_reg(const void *const hw, hri_systemcontrol_cpacr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CPACR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_CPACR_reg(const void *const hw, hri_systemcontrol_cpacr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CPACR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_cpacr_reg_t hri_systemcontrol_read_CPACR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->CPACR.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_SystemControl_E54_H_INCLUDED */ -#endif /* _SAME54_SystemControl_COMPONENT_ */ diff --git a/sysmoOCTSIM/hri/hri_systick_e54.h b/sysmoOCTSIM/hri/hri_systick_e54.h deleted file mode 100644 index 11a9224..0000000 --- a/sysmoOCTSIM/hri/hri_systick_e54.h +++ /dev/null @@ -1,219 +0,0 @@ -/** - * \file - * - * \brief SAM SysTick - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_SysTick_COMPONENT_ -#ifndef _HRI_SysTick_E54_H_INCLUDED_ -#define _HRI_SysTick_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_SysTick_CRITICAL_SECTIONS) -#define SysTick_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define SysTick_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define SysTick_CRITICAL_SECTION_ENTER() -#define SysTick_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_systick_calib_reg_t; -typedef uint32_t hri_systick_csr_reg_t; -typedef uint32_t hri_systick_cvr_reg_t; -typedef uint32_t hri_systick_rvr_reg_t; - -static inline bool hri_systick_get_CALIB_SKEW_bit(const void *const hw) -{ - return (((Systick *)hw)->CALIB.reg & SysTick_CALIB_SKEW) >> 30; -} - -static inline bool hri_systick_get_CALIB_NOREF_bit(const void *const hw) -{ - return (((Systick *)hw)->CALIB.reg & SysTick_CALIB_NOREF) >> 31; -} - -static inline hri_systick_calib_reg_t hri_systick_get_CALIB_TENMS_bf(const void *const hw, hri_systick_calib_reg_t mask) -{ - return (((Systick *)hw)->CALIB.reg & SysTick_CALIB_TENMS(mask)) >> 0; -} - -static inline hri_systick_calib_reg_t hri_systick_read_CALIB_TENMS_bf(const void *const hw) -{ - return (((Systick *)hw)->CALIB.reg & SysTick_CALIB_TENMS_Msk) >> 0; -} - -static inline hri_systick_calib_reg_t hri_systick_get_CALIB_reg(const void *const hw, hri_systick_calib_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systick *)hw)->CALIB.reg; - tmp &= mask; - return tmp; -} - -static inline hri_systick_calib_reg_t hri_systick_read_CALIB_reg(const void *const hw) -{ - return ((Systick *)hw)->CALIB.reg; -} - -static inline void hri_systick_set_CSR_reg(const void *const hw, hri_systick_csr_reg_t mask) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->CSR.reg |= mask; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systick_csr_reg_t hri_systick_get_CSR_reg(const void *const hw, hri_systick_csr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systick *)hw)->CSR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systick_write_CSR_reg(const void *const hw, hri_systick_csr_reg_t data) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->CSR.reg = data; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systick_clear_CSR_reg(const void *const hw, hri_systick_csr_reg_t mask) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->CSR.reg &= ~mask; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systick_toggle_CSR_reg(const void *const hw, hri_systick_csr_reg_t mask) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->CSR.reg ^= mask; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systick_csr_reg_t hri_systick_read_CSR_reg(const void *const hw) -{ - return ((Systick *)hw)->CSR.reg; -} - -static inline void hri_systick_set_RVR_reg(const void *const hw, hri_systick_rvr_reg_t mask) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->RVR.reg |= mask; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systick_rvr_reg_t hri_systick_get_RVR_reg(const void *const hw, hri_systick_rvr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systick *)hw)->RVR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systick_write_RVR_reg(const void *const hw, hri_systick_rvr_reg_t data) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->RVR.reg = data; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systick_clear_RVR_reg(const void *const hw, hri_systick_rvr_reg_t mask) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->RVR.reg &= ~mask; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systick_toggle_RVR_reg(const void *const hw, hri_systick_rvr_reg_t mask) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->RVR.reg ^= mask; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systick_rvr_reg_t hri_systick_read_RVR_reg(const void *const hw) -{ - return ((Systick *)hw)->RVR.reg; -} - -static inline void hri_systick_set_CVR_reg(const void *const hw, hri_systick_cvr_reg_t mask) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->CVR.reg |= mask; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systick_cvr_reg_t hri_systick_get_CVR_reg(const void *const hw, hri_systick_cvr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systick *)hw)->CVR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systick_write_CVR_reg(const void *const hw, hri_systick_cvr_reg_t data) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->CVR.reg = data; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systick_clear_CVR_reg(const void *const hw, hri_systick_cvr_reg_t mask) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->CVR.reg &= ~mask; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systick_toggle_CVR_reg(const void *const hw, hri_systick_cvr_reg_t mask) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->CVR.reg ^= mask; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systick_cvr_reg_t hri_systick_read_CVR_reg(const void *const hw) -{ - return ((Systick *)hw)->CVR.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_SysTick_E54_H_INCLUDED */ -#endif /* _SAME54_SysTick_COMPONENT_ */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14391 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: Ib9017744644357ba9ec99eddbcc89d7f95068c34 Gerrit-Change-Number: 14391 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 16:46:23 2019 From: gerrit-no-reply at lists.osmocom.org (=?UTF-8?Q?K=C3=A9vin_Redon?=) Date: Thu, 6 Jun 2019 16:46:23 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ASF: update E54 SERCOM library Message-ID: K?vin Redon has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14392 Change subject: ASF: update E54 SERCOM library ...................................................................... ASF: update E54 SERCOM library E54 ASFv4 change from backend 1.5.122 update local files to stay in sync Change-Id: Iabeb2b94d51743a0347ea81fef8fa6236d8b12c0 --- M sysmoOCTSIM/hri/hri_sercom_e54.h 1 file changed, 19 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/92/14392/1 diff --git a/sysmoOCTSIM/hri/hri_sercom_e54.h b/sysmoOCTSIM/hri/hri_sercom_e54.h index f5a52b0..fed00ff 100644 --- a/sysmoOCTSIM/hri/hri_sercom_e54.h +++ b/sysmoOCTSIM/hri/hri_sercom_e54.h @@ -3,7 +3,7 @@ * * \brief SAM SERCOM * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. + * Copyright (c) 2016-2019 Microchip Technology Inc. and its subsidiaries. * * \asf_license_start * @@ -3682,7 +3682,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_SMEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3702,7 +3702,7 @@ tmp &= ~SERCOM_I2CM_CTRLB_SMEN; tmp |= value << SERCOM_I2CM_CTRLB_SMEN_Pos; ((Sercom *)hw)->I2CM.CTRLB.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3710,7 +3710,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg &= ~SERCOM_I2CM_CTRLB_SMEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3718,7 +3718,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg ^= SERCOM_I2CM_CTRLB_SMEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3726,7 +3726,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_QCEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3746,7 +3746,7 @@ tmp &= ~SERCOM_I2CM_CTRLB_QCEN; tmp |= value << SERCOM_I2CM_CTRLB_QCEN_Pos; ((Sercom *)hw)->I2CM.CTRLB.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3754,7 +3754,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg &= ~SERCOM_I2CM_CTRLB_QCEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3762,7 +3762,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg ^= SERCOM_I2CM_CTRLB_QCEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3770,7 +3770,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_ACKACT; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3790,7 +3790,7 @@ tmp &= ~SERCOM_I2CM_CTRLB_ACKACT; tmp |= value << SERCOM_I2CM_CTRLB_ACKACT_Pos; ((Sercom *)hw)->I2CM.CTRLB.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3798,7 +3798,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg &= ~SERCOM_I2CM_CTRLB_ACKACT; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3806,7 +3806,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg ^= SERCOM_I2CM_CTRLB_ACKACT; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3867,7 +3867,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg |= mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3875,7 +3875,7 @@ hri_sercomi2cm_ctrlb_reg_t mask) { uint32_t tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); tmp = ((Sercom *)hw)->I2CM.CTRLB.reg; tmp &= mask; return tmp; @@ -3885,7 +3885,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg = data; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3893,7 +3893,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg &= ~mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3901,13 +3901,13 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg ^= mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } static inline hri_sercomi2cm_ctrlb_reg_t hri_sercomi2cm_read_CTRLB_reg(const void *const hw) { - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); return ((Sercom *)hw)->I2CM.CTRLB.reg; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14392 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: Iabeb2b94d51743a0347ea81fef8fa6236d8b12c0 Gerrit-Change-Number: 14392 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 16:46:24 2019 From: gerrit-no-reply at lists.osmocom.org (=?UTF-8?Q?K=C3=A9vin_Redon?=) Date: Thu, 6 Jun 2019 16:46:24 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ASF: minor, update copyright Message-ID: K?vin Redon has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14393 Change subject: ASF: minor, update copyright ...................................................................... ASF: minor, update copyright upstream ASFv4 updated the copyright year. somehow they don't know you should use the range instead of the last year :/ this change is just so I can't continue diffing ASF files without false positive. Change-Id: Ic90e692815b30921bc8750c240ba0a5d3f4ccc70 --- M sysmoOCTSIM/gcc/gcc/same54n19a_flash.ld M sysmoOCTSIM/gcc/gcc/same54n19a_sram.ld M sysmoOCTSIM/gcc/gcc/startup_same54.c M sysmoOCTSIM/hal/utils/include/parts.h M sysmoOCTSIM/include/component/ac.h M sysmoOCTSIM/include/component/adc.h M sysmoOCTSIM/include/component/aes.h M sysmoOCTSIM/include/component/can.h M sysmoOCTSIM/include/component/ccl.h M sysmoOCTSIM/include/component/cmcc.h M sysmoOCTSIM/include/component/dac.h M sysmoOCTSIM/include/component/dmac.h M sysmoOCTSIM/include/component/eic.h M sysmoOCTSIM/include/component/evsys.h M sysmoOCTSIM/include/component/freqm.h M sysmoOCTSIM/include/component/gclk.h M sysmoOCTSIM/include/component/gmac.h M sysmoOCTSIM/include/component/hmatrixb.h M sysmoOCTSIM/include/component/i2s.h M sysmoOCTSIM/include/component/icm.h M sysmoOCTSIM/include/component/mclk.h M sysmoOCTSIM/include/component/osc32kctrl.h M sysmoOCTSIM/include/component/oscctrl.h M sysmoOCTSIM/include/component/pac.h M sysmoOCTSIM/include/component/pcc.h M sysmoOCTSIM/include/component/pdec.h M sysmoOCTSIM/include/component/pm.h M sysmoOCTSIM/include/component/port.h M sysmoOCTSIM/include/component/qspi.h M sysmoOCTSIM/include/component/ramecc.h M sysmoOCTSIM/include/component/rstc.h M sysmoOCTSIM/include/component/rtc.h M sysmoOCTSIM/include/component/sdhc.h M sysmoOCTSIM/include/component/sercom.h M sysmoOCTSIM/include/component/tc.h M sysmoOCTSIM/include/component/tcc.h M sysmoOCTSIM/include/component/trng.h M sysmoOCTSIM/include/component/usb.h M sysmoOCTSIM/include/component/wdt.h M sysmoOCTSIM/include/instance/ac.h M sysmoOCTSIM/include/instance/adc0.h M sysmoOCTSIM/include/instance/adc1.h M sysmoOCTSIM/include/instance/aes.h M sysmoOCTSIM/include/instance/can0.h M sysmoOCTSIM/include/instance/can1.h M sysmoOCTSIM/include/instance/ccl.h M sysmoOCTSIM/include/instance/cmcc.h M sysmoOCTSIM/include/instance/dac.h M sysmoOCTSIM/include/instance/dmac.h M sysmoOCTSIM/include/instance/eic.h M sysmoOCTSIM/include/instance/freqm.h M sysmoOCTSIM/include/instance/gclk.h M sysmoOCTSIM/include/instance/gmac.h M sysmoOCTSIM/include/instance/hmatrix.h M sysmoOCTSIM/include/instance/i2s.h M sysmoOCTSIM/include/instance/icm.h M sysmoOCTSIM/include/instance/mclk.h M sysmoOCTSIM/include/instance/nvmctrl.h M sysmoOCTSIM/include/instance/osc32kctrl.h M sysmoOCTSIM/include/instance/oscctrl.h M sysmoOCTSIM/include/instance/pac.h M sysmoOCTSIM/include/instance/pcc.h M sysmoOCTSIM/include/instance/pdec.h M sysmoOCTSIM/include/instance/pm.h M sysmoOCTSIM/include/instance/port.h M sysmoOCTSIM/include/instance/pukcc.h M sysmoOCTSIM/include/instance/qspi.h M sysmoOCTSIM/include/instance/ramecc.h M sysmoOCTSIM/include/instance/rstc.h M sysmoOCTSIM/include/instance/rtc.h M sysmoOCTSIM/include/instance/sdhc0.h M sysmoOCTSIM/include/instance/sdhc1.h M sysmoOCTSIM/include/instance/tc0.h M sysmoOCTSIM/include/instance/tc1.h M sysmoOCTSIM/include/instance/tc2.h M sysmoOCTSIM/include/instance/tc3.h M sysmoOCTSIM/include/instance/tc4.h M sysmoOCTSIM/include/instance/tc5.h M sysmoOCTSIM/include/instance/tc6.h M sysmoOCTSIM/include/instance/tc7.h M sysmoOCTSIM/include/instance/tcc0.h M sysmoOCTSIM/include/instance/tcc1.h M sysmoOCTSIM/include/instance/tcc2.h M sysmoOCTSIM/include/instance/tcc3.h M sysmoOCTSIM/include/instance/tcc4.h M sysmoOCTSIM/include/instance/trng.h M sysmoOCTSIM/include/instance/usb.h M sysmoOCTSIM/include/instance/wdt.h M sysmoOCTSIM/include/pio/same54n19a.h M sysmoOCTSIM/include/pio/same54n20a.h M sysmoOCTSIM/include/pio/same54p19a.h M sysmoOCTSIM/include/pio/same54p20a.h M sysmoOCTSIM/include/sam.h M sysmoOCTSIM/include/same54.h M sysmoOCTSIM/include/system_same54.h 95 files changed, 46,611 insertions(+), 46,611 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/93/14393/1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14393 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: Ic90e692815b30921bc8750c240ba0a5d3f4ccc70 Gerrit-Change-Number: 14393 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 16:46:24 2019 From: gerrit-no-reply at lists.osmocom.org (=?UTF-8?Q?K=C3=A9vin_Redon?=) Date: Thu, 6 Jun 2019 16:46:24 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ASF: add new utils Message-ID: K?vin Redon has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14394 Change subject: ASF: add new utils ...................................................................... ASF: add new utils AFAIK these are not used yet, but have been added to the upstream ASFv4 library. I added them to avoid future false negative when diffing files. Change-Id: Icf6fb641050a1e7132ff2b14c1ce537ec9403b9f --- A sysmoOCTSIM/hal/utils/include/utils_decrement_macro.h A sysmoOCTSIM/hal/utils/include/utils_recursion_macro.h 2 files changed, 378 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/94/14394/1 diff --git a/sysmoOCTSIM/hal/utils/include/utils_decrement_macro.h b/sysmoOCTSIM/hal/utils/include/utils_decrement_macro.h new file mode 100644 index 0000000..2b52469 --- /dev/null +++ b/sysmoOCTSIM/hal/utils/include/utils_decrement_macro.h @@ -0,0 +1,309 @@ +/** + * \file + * + * \brief Decrement macro. + * + * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. + * + * \asf_license_start + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip + * software and any derivatives exclusively with Microchip products. + * It is your responsibility to comply with third party license terms applicable + * to your use of third party software (including open source software) that + * may accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, + * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, + * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, + * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE + * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL + * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE + * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE + * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT + * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY + * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, + * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. + * + * \asf_license_stop + * + */ + +#ifndef _UTILS_DECREMENT_MACRO_H +#define _UTILS_DECREMENT_MACRO_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief Compile time decrement, result value is entire integer literal + * + * \param[in] val - value to be decremented + */ +#define DEC_VALUE(val) DEC_##val + +// Preprocessor increment implementation +#define DEC_256 255 +#define DEC_255 254 +#define DEC_254 253 +#define DEC_253 252 +#define DEC_252 251 +#define DEC_251 250 +#define DEC_250 249 +#define DEC_249 248 +#define DEC_248 247 +#define DEC_247 246 +#define DEC_246 245 +#define DEC_245 244 +#define DEC_244 243 +#define DEC_243 242 +#define DEC_242 241 +#define DEC_241 240 +#define DEC_240 239 +#define DEC_239 238 +#define DEC_238 237 +#define DEC_237 236 +#define DEC_236 235 +#define DEC_235 234 +#define DEC_234 233 +#define DEC_233 232 +#define DEC_232 231 +#define DEC_231 230 +#define DEC_230 229 +#define DEC_229 228 +#define DEC_228 227 +#define DEC_227 226 +#define DEC_226 225 +#define DEC_225 224 +#define DEC_224 223 +#define DEC_223 222 +#define DEC_222 221 +#define DEC_221 220 +#define DEC_220 219 +#define DEC_219 218 +#define DEC_218 217 +#define DEC_217 216 +#define DEC_216 215 +#define DEC_215 214 +#define DEC_214 213 +#define DEC_213 212 +#define DEC_212 211 +#define DEC_211 210 +#define DEC_210 209 +#define DEC_209 208 +#define DEC_208 207 +#define DEC_207 206 +#define DEC_206 205 +#define DEC_205 204 +#define DEC_204 203 +#define DEC_203 202 +#define DEC_202 201 +#define DEC_201 200 +#define DEC_200 199 +#define DEC_199 198 +#define DEC_198 197 +#define DEC_197 196 +#define DEC_196 195 +#define DEC_195 194 +#define DEC_194 193 +#define DEC_193 192 +#define DEC_192 191 +#define DEC_191 190 +#define DEC_190 189 +#define DEC_189 188 +#define DEC_188 187 +#define DEC_187 186 +#define DEC_186 185 +#define DEC_185 184 +#define DEC_184 183 +#define DEC_183 182 +#define DEC_182 181 +#define DEC_181 180 +#define DEC_180 179 +#define DEC_179 178 +#define DEC_178 177 +#define DEC_177 176 +#define DEC_176 175 +#define DEC_175 174 +#define DEC_174 173 +#define DEC_173 172 +#define DEC_172 171 +#define DEC_171 170 +#define DEC_170 169 +#define DEC_169 168 +#define DEC_168 167 +#define DEC_167 166 +#define DEC_166 165 +#define DEC_165 164 +#define DEC_164 163 +#define DEC_163 162 +#define DEC_162 161 +#define DEC_161 160 +#define DEC_160 159 +#define DEC_159 158 +#define DEC_158 157 +#define DEC_157 156 +#define DEC_156 155 +#define DEC_155 154 +#define DEC_154 153 +#define DEC_153 152 +#define DEC_152 151 +#define DEC_151 150 +#define DEC_150 149 +#define DEC_149 148 +#define DEC_148 147 +#define DEC_147 146 +#define DEC_146 145 +#define DEC_145 144 +#define DEC_144 143 +#define DEC_143 142 +#define DEC_142 141 +#define DEC_141 140 +#define DEC_140 139 +#define DEC_139 138 +#define DEC_138 137 +#define DEC_137 136 +#define DEC_136 135 +#define DEC_135 134 +#define DEC_134 133 +#define DEC_133 132 +#define DEC_132 131 +#define DEC_131 130 +#define DEC_130 129 +#define DEC_129 128 +#define DEC_128 127 +#define DEC_127 126 +#define DEC_126 125 +#define DEC_125 124 +#define DEC_124 123 +#define DEC_123 122 +#define DEC_122 121 +#define DEC_121 120 +#define DEC_120 119 +#define DEC_119 118 +#define DEC_118 117 +#define DEC_117 116 +#define DEC_116 115 +#define DEC_115 114 +#define DEC_114 113 +#define DEC_113 112 +#define DEC_112 111 +#define DEC_111 110 +#define DEC_110 109 +#define DEC_109 108 +#define DEC_108 107 +#define DEC_107 106 +#define DEC_106 105 +#define DEC_105 104 +#define DEC_104 103 +#define DEC_103 102 +#define DEC_102 101 +#define DEC_101 100 +#define DEC_100 99 +#define DEC_99 98 +#define DEC_98 97 +#define DEC_97 96 +#define DEC_96 95 +#define DEC_95 94 +#define DEC_94 93 +#define DEC_93 92 +#define DEC_92 91 +#define DEC_91 90 +#define DEC_90 89 +#define DEC_89 88 +#define DEC_88 87 +#define DEC_87 86 +#define DEC_86 85 +#define DEC_85 84 +#define DEC_84 83 +#define DEC_83 82 +#define DEC_82 81 +#define DEC_81 80 +#define DEC_80 79 +#define DEC_79 78 +#define DEC_78 77 +#define DEC_77 76 +#define DEC_76 75 +#define DEC_75 74 +#define DEC_74 73 +#define DEC_73 72 +#define DEC_72 71 +#define DEC_71 70 +#define DEC_70 69 +#define DEC_69 68 +#define DEC_68 67 +#define DEC_67 66 +#define DEC_66 65 +#define DEC_65 64 +#define DEC_64 63 +#define DEC_63 62 +#define DEC_62 61 +#define DEC_61 60 +#define DEC_60 59 +#define DEC_59 58 +#define DEC_58 57 +#define DEC_57 56 +#define DEC_56 55 +#define DEC_55 54 +#define DEC_54 53 +#define DEC_53 52 +#define DEC_52 51 +#define DEC_51 50 +#define DEC_50 49 +#define DEC_49 48 +#define DEC_48 47 +#define DEC_47 46 +#define DEC_46 45 +#define DEC_45 44 +#define DEC_44 43 +#define DEC_43 42 +#define DEC_42 41 +#define DEC_41 40 +#define DEC_40 39 +#define DEC_39 38 +#define DEC_38 37 +#define DEC_37 36 +#define DEC_36 35 +#define DEC_35 34 +#define DEC_34 33 +#define DEC_33 32 +#define DEC_32 31 +#define DEC_31 30 +#define DEC_30 29 +#define DEC_29 28 +#define DEC_28 27 +#define DEC_27 26 +#define DEC_26 25 +#define DEC_25 24 +#define DEC_24 23 +#define DEC_23 22 +#define DEC_22 21 +#define DEC_21 20 +#define DEC_20 19 +#define DEC_19 18 +#define DEC_18 17 +#define DEC_17 16 +#define DEC_16 15 +#define DEC_15 14 +#define DEC_14 13 +#define DEC_13 12 +#define DEC_12 11 +#define DEC_11 10 +#define DEC_10 9 +#define DEC_9 8 +#define DEC_8 7 +#define DEC_7 6 +#define DEC_6 5 +#define DEC_5 4 +#define DEC_4 3 +#define DEC_3 2 +#define DEC_2 1 +#define DEC_1 0 + +#ifdef __cplusplus +} +#endif +#endif /* _UTILS_DECREMENT_MACRO_H */ diff --git a/sysmoOCTSIM/hal/utils/include/utils_recursion_macro.h b/sysmoOCTSIM/hal/utils/include/utils_recursion_macro.h new file mode 100644 index 0000000..294314c --- /dev/null +++ b/sysmoOCTSIM/hal/utils/include/utils_recursion_macro.h @@ -0,0 +1,69 @@ +/** + * \file + * + * \brief Recursion macro. + * + * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. + * + * \asf_license_start + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip + * software and any derivatives exclusively with Microchip products. + * It is your responsibility to comply with third party license terms applicable + * to your use of third party software (including open source software) that + * may accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, + * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, + * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, + * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE + * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL + * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE + * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE + * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT + * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY + * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, + * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. + * + * \asf_license_stop + * + */ + +#ifndef _UTILS_RECURSION_MACRO_H +#define _UTILS_RECURSION_MACRO_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * \brief Macro recursion + * + * \param[in] macro Macro to be repeated recursively + * \param[in] arg A recursive threshold, building on this to decline by times + * defined with parameter n + * \param[in] n The number of repetitious calls to macro + */ +#define RECURSION_MACRO(macro, arg, n) RECURSION_MACRO_I(macro, arg, n) + +/* + * \brief Second level is needed to get integer literal from "n" if it is + * defined as macro + */ +#define RECURSION_MACRO_I(macro, arg, n) RECURSION##n(macro, arg) + +#define RECURSION0(macro, arg) +#define RECURSION1(macro, arg) RECURSION0(macro, DEC_VALUE(arg)) macro(arg, 0) +#define RECURSION2(macro, arg) RECURSION1(macro, DEC_VALUE(arg)) macro(arg, 1) +#define RECURSION3(macro, arg) RECURSION2(macro, DEC_VALUE(arg)) macro(arg, 2) +#define RECURSION4(macro, arg) RECURSION3(macro, DEC_VALUE(arg)) macro(arg, 3) +#define RECURSION5(macro, arg) RECURSION4(macro, DEC_VALUE(arg)) macro(arg, 4) + +#ifdef __cplusplus +} +#endif + +#include +#endif /* _UTILS_RECURSION_MACRO_H */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14394 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: Icf6fb641050a1e7132ff2b14c1ce537ec9403b9f Gerrit-Change-Number: 14394 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 16:46:24 2019 From: gerrit-no-reply at lists.osmocom.org (=?UTF-8?Q?K=C3=A9vin_Redon?=) Date: Thu, 6 Jun 2019 16:46:24 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Makefile: automatically get output directory list Message-ID: K?vin Redon has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14395 Change subject: Makefile: automatically get output directory list ...................................................................... Makefile: automatically get output directory list Change-Id: I8a18a5f04b03f9fa95a1b4f5ee77945e4fa8db07 --- M sysmoOCTSIM/gcc/Makefile 1 file changed, 2 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/95/14395/1 diff --git a/sysmoOCTSIM/gcc/Makefile b/sysmoOCTSIM/gcc/Makefile index 01088cc..062a468 100644 --- a/sysmoOCTSIM/gcc/Makefile +++ b/sysmoOCTSIM/gcc/Makefile @@ -45,34 +45,6 @@ endif endif -# List the subdirectories for creating object files -SUB_DIRS += \ - ccid \ - dma_m2m \ - gcc \ - gcc/gcc \ - hal/src \ - hal/utils/src \ - hpl/cmcc \ - hpl/core \ - hpl/dmac \ - hpl/gclk \ - hpl/mclk \ - hpl/osc32kctrl \ - hpl/oscctrl \ - hpl/pm \ - hpl/ramecc \ - hpl/sercom \ - hpl/rtc \ - hpl/usb \ - stdio_redirect \ - stdio_redirect/gcc \ - usb \ - usb/class/ccid/device \ - usb/class/cdc/device \ - usb/device \ - $(NULL) - INC_DIRS = \ -I"../" \ -I"../CMSIS/Core/Include" \ @@ -167,6 +139,8 @@ # List the dependency files DEPS := $(OBJS:%.o=%.d) +# List the subdirectories for creating object files +SUB_DIRS := $(sort $(foreach obj,$(OBJS),$(dir $(obj)))) OUTPUT_FILE_NAME := sysmoOCTSIM QUOTE := " -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14395 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: I8a18a5f04b03f9fa95a1b4f5ee77945e4fa8db07 Gerrit-Change-Number: 14395 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 19:40:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:40:31 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Makefile: add missing hpl/rtc directory In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14389 ) Change subject: Makefile: add missing hpl/rtc directory ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14389 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: I3fed159173467d1da091758fe2a87bef2cd2e3c7 Gerrit-Change-Number: 14389 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Jun 2019 19:40:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 19:40:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:40:32 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Makefile: add missing hpl/rtc directory In-Reply-To: References: Message-ID: laforge has removed a vote on this change. Change subject: Makefile: add missing hpl/rtc directory ...................................................................... Removed Verified-1 by Jenkins Builder (1000002) -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14389 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: I3fed159173467d1da091758fe2a87bef2cd2e3c7 Gerrit-Change-Number: 14389 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 19:40:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:40:45 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ASF: add related RTC files In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14390 ) Change subject: ASF: add related RTC files ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14390 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: If3e24ede24b4e8cc2724a796756a5a2aa81119de Gerrit-Change-Number: 14390 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Jun 2019 19:40: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 6 19:40:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:40:47 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ASF: add related RTC files In-Reply-To: References: Message-ID: laforge has removed a vote on this change. Change subject: ASF: add related RTC files ...................................................................... Removed Verified-1 by Jenkins Builder (1000002) -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14390 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: If3e24ede24b4e8cc2724a796756a5a2aa81119de Gerrit-Change-Number: 14390 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 19:42:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:42:00 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Makefile: automatically get output directory list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14395 ) Change subject: Makefile: automatically get output directory list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14395 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: I8a18a5f04b03f9fa95a1b4f5ee77945e4fa8db07 Gerrit-Change-Number: 14395 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Jun 2019 19:42: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 6 19:42:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:42:04 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ASF: add new utils In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14394 ) Change subject: ASF: add new utils ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14394 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: Icf6fb641050a1e7132ff2b14c1ce537ec9403b9f Gerrit-Change-Number: 14394 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Jun 2019 19:42: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 6 19:42:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:42:30 +0000 Subject: Change in ...osmo-bsc[master]: manuals: Update generated VTY reference and counters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14388 ) Change subject: manuals: Update generated VTY reference and counters ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9f75edf2e5b88ef8f4592fa89548f32e0a7df8d8 Gerrit-Change-Number: 14388 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 Jun 2019 19:42: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 6 19:42:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:42:32 +0000 Subject: Change in ...osmo-bsc[master]: manuals: Update generated VTY reference and counters In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14388 ) Change subject: manuals: Update generated VTY reference and counters ...................................................................... manuals: Update generated VTY reference and counters Change-Id: I9f75edf2e5b88ef8f4592fa89548f32e0a7df8d8 Related: OS#1700 --- M doc/manuals/chapters/counters_generated.adoc M doc/manuals/osmobsc-vty-reference.xml M doc/manuals/vty/bsc_vty_reference.xml 3 files changed, 286 insertions(+), 97 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/doc/manuals/chapters/counters_generated.adoc b/doc/manuals/chapters/counters_generated.adoc index d55df07..65f4ca4 100644 --- a/doc/manuals/chapters/counters_generated.adoc +++ b/doc/manuals/chapters/counters_generated.adoc @@ -1,7 +1,88 @@ + // autogenerated by show asciidoc counters -These counters and their description based on OsmoBSC (OsmoBSC). +These counters and their description based on OsmoBSC 1.4.0.84-3f1f8 (OsmoBSC). + +=== Rate Counters // generating tables for rate_ctr_group +// rate_ctr_group table base transceiver station +.bts - base transceiver station +[options="header"] +|=== +| Name | Reference | Description +| chreq:total | <> | Received channel requests. +| chreq:no_channel | <> | Sent to MS no channel available. +| chan:rf_fail | <> | Received a RF failure indication from BTS. +| chan:rll_err | <> | Received a RLL failure with T200 cause from BTS. +| oml_fail | <> | Received a TEI down on a OML link. +| rsl_fail | <> | Received a TEI down on a OML link. +| codec:amr_f | <> | Count the usage of AMR/F codec by channel mode requested. +| codec:amr_h | <> | Count the usage of AMR/H codec by channel mode requested. +| codec:efr | <> | Count the usage of EFR codec by channel mode requested. +| codec:fr | <> | Count the usage of FR codec by channel mode requested. +| codec:hr | <> | Count the usage of HR codec by channel mode requested. +| paging:attempted | <> | Paging attempts for a subscriber. +| paging:already | <> | Paging attempts ignored as subsciber was already being paged. +| paging:responded | <> | Paging attempts with successful paging response. +| paging:expired | <> | Paging Request expired because of timeout T3113. +| chan_act:total | <> | Total number of Channel Activations. +| chan_act:nack | <> | Number of Channel Activations that the BTS NACKed +| rsl:unknown | <> | Number of unknown/unsupported RSL messages received from BTS +| rsl:ipa_nack | <> | Number of IPA (RTP/dyn-PDCH) related NACKs received from BTS +| chan:mode_modify_nack | <> | Number of Channel Mode Modify NACKs received from BTS +|=== +// rate_ctr_group table base transceiver station +.bts - base transceiver station +[options="header"] +|=== +| Name | Reference | Description +| chreq:total | <> | Received channel requests. +| chreq:no_channel | <> | Sent to MS no channel available. +| chan:rf_fail | <> | Received a RF failure indication from BTS. +| chan:rll_err | <> | Received a RLL failure with T200 cause from BTS. +| oml_fail | <> | Received a TEI down on a OML link. +| rsl_fail | <> | Received a TEI down on a OML link. +| codec:amr_f | <> | Count the usage of AMR/F codec by channel mode requested. +| codec:amr_h | <> | Count the usage of AMR/H codec by channel mode requested. +| codec:efr | <> | Count the usage of EFR codec by channel mode requested. +| codec:fr | <> | Count the usage of FR codec by channel mode requested. +| codec:hr | <> | Count the usage of HR codec by channel mode requested. +| paging:attempted | <> | Paging attempts for a subscriber. +| paging:already | <> | Paging attempts ignored as subsciber was already being paged. +| paging:responded | <> | Paging attempts with successful paging response. +| paging:expired | <> | Paging Request expired because of timeout T3113. +| chan_act:total | <> | Total number of Channel Activations. +| chan_act:nack | <> | Number of Channel Activations that the BTS NACKed +| rsl:unknown | <> | Number of unknown/unsupported RSL messages received from BTS +| rsl:ipa_nack | <> | Number of IPA (RTP/dyn-PDCH) related NACKs received from BTS +| chan:mode_modify_nack | <> | Number of Channel Mode Modify NACKs received from BTS +|=== +// rate_ctr_group table base transceiver station +.bts - base transceiver station +[options="header"] +|=== +| Name | Reference | Description +| chreq:total | <> | Received channel requests. +| chreq:no_channel | <> | Sent to MS no channel available. +| chan:rf_fail | <> | Received a RF failure indication from BTS. +| chan:rll_err | <> | Received a RLL failure with T200 cause from BTS. +| oml_fail | <> | Received a TEI down on a OML link. +| rsl_fail | <> | Received a TEI down on a OML link. +| codec:amr_f | <> | Count the usage of AMR/F codec by channel mode requested. +| codec:amr_h | <> | Count the usage of AMR/H codec by channel mode requested. +| codec:efr | <> | Count the usage of EFR codec by channel mode requested. +| codec:fr | <> | Count the usage of FR codec by channel mode requested. +| codec:hr | <> | Count the usage of HR codec by channel mode requested. +| paging:attempted | <> | Paging attempts for a subscriber. +| paging:already | <> | Paging attempts ignored as subsciber was already being paged. +| paging:responded | <> | Paging attempts with successful paging response. +| paging:expired | <> | Paging Request expired because of timeout T3113. +| chan_act:total | <> | Total number of Channel Activations. +| chan_act:nack | <> | Number of Channel Activations that the BTS NACKed +| rsl:unknown | <> | Number of unknown/unsupported RSL messages received from BTS +| rsl:ipa_nack | <> | Number of IPA (RTP/dyn-PDCH) related NACKs received from BTS +| chan:mode_modify_nack | <> | Number of Channel Mode Modify NACKs received from BTS +|=== // rate_ctr_group table E1 Input subsystem .e1inp - E1 Input subsystem [options="header"] @@ -18,59 +99,74 @@ [options="header"] |=== | Name | Reference | Description -| chreq:total | <> | Received channel requests. -| chreq:no_channel | <> | Sent to MS no channel available. -| handover:attempted | <> | Received handover attempts. -| handover:no_channel | <> | Sent no channel available responses. -| handover:timeout | <> | Count the amount of timeouts of timer T3103. -| handover:completed | <> | Received handover completed. -| handover:failed | <> | Receive HO FAIL messages. -| paging:attempted | <> | Paging attempts for a MS. -| paging:detached | <> | Counts the amount of paging attempts which couldn't sent out any paging request because no responsible bts found. -| paging:completed | <> | Paging successful completed. -| paging:expired | <> | Paging Request expired because of timeout T3113. -| chan:rf_fail | <> | Received a RF failure indication from BTS. -| chan:rll_err | <> | Received a RLL failure with T200 cause from BTS. -| bts:oml_fail | <> | Received a TEI down on a OML link. -| bts:rsl_fail | <> | Received a TEI down on a OML link. -| bts:codec_amr_f | <> | Count the usage of AMR/F codec by channel mode requested. -| bts:codec_amr_h | <> | Count the usage of AMR/H codec by channel mode requested. -| bts:codec_efr | <> | Count the usage of EFR codec by channel mode requested. -| bts:codec_fr | <> | Count the usage of FR codec by channel mode requested. -| bts:codec_hr | <> | Count the usage of HR codec by channel mode requested. +| assignment:attempted | <> | Assignment attempts. +| assignment:completed | <> | Assignment completed. +| assignment:stopped | <> | Connection ended during Assignment. +| assignment:no_channel | <> | Failure to allocate lchan for Assignment. +| assignment:timeout | <> | Assignment timed out. +| assignment:failed | <> | Received Assignment Failure message. +| assignment:error | <> | Assigment failed for other reason. +| handover:attempted | <> | Intra-BSC handover attempts. +| handover:completed | <> | Intra-BSC handover completed. +| handover:stopped | <> | Connection ended during HO. +| handover:no_channel | <> | Failure to allocate lchan for HO. +| handover:timeout | <> | Handover timed out. +| handover:failed | <> | Received Handover Fail messages. +| handover:error | <> | Re-assigment failed for other reason. +| interbsc_ho_out:attempted | <> | Attempts to handover to remote BSS. +| interbsc_ho_out:completed | <> | Handover to remote BSS completed. +| interbsc_ho_out:stopped | <> | Connection ended during HO. +| interbsc_ho_out:timeout | <> | Handover timed out. +| interbsc_ho_out:error | <> | Handover to remote BSS failed for other reason. +| interbsc_ho_in:attempted | <> | Attempts to handover from remote BSS. +| interbsc_ho_in:completed | <> | Handover from remote BSS completed. +| interbsc_ho_in:stopped | <> | Connection ended during HO. +| interbsc_ho_in:no_channel | <> | Failure to allocate lchan for HO. +| interbsc_ho_in:failed | <> | Received Handover Fail message. +| interbsc_ho_in:timeout | <> | Handover from remote BSS timed out. +| interbsc_ho_in:error | <> | Handover from remote BSS failed for other reason. +| paging:attempted | <> | Paging attempts for a subscriber. +| paging:detached | <> | Paging request send failures because no responsible BTS was found. +| paging:responded | <> | Paging attempts with successful response. +| abis:unknown_unit_id | <> | Connection attempts from unknown IPA CCM Unit ID. |=== -// rate_ctr_group table mobile switching center -.msc - mobile switching center -[options="header"] -|=== -| Name | Reference | Description -| loc_update_type:attach | <> | Received location update imsi attach requests. -| loc_update_type:normal | <> | Received location update normal requests. -| loc_update_type:periodic | <> | Received location update periodic requests. -| loc_update_type:detach | <> | Received location update detach indication. -| loc_update_resp:failed | <> | Rejected location updates. -| loc_update_resp:completed | <> | Successful location updates. -| sms:submitted | <> | Received a RPDU from a MS (MO). -| sms:no_receiver | <> | Counts SMS which couldn't routed because no receiver found. -| sms:delivered | <> | Global SMS Deliver attempts. -| sms:rp_err_mem | <> | CAUSE_MT_MEM_EXCEEDED errors of MS responses on a sms deliver attempt. -| sms:rp_err_other | <> | Other error of MS responses on a sms delive attempt. -| sms:deliver_unknown_error | <> | Unknown error occured during sms delivery. -| call:mo_setup | <> | Received setup requests from a MS to init a MO call. -| call:mo_connect_ack | <> | Received a connect ack from MS of a MO call. Call is now succesful connected up. -| call:mt_setup | <> | Sent setup requests to the MS (MT). -| call:mt_connect | <> | Sent a connect to the MS (MT). -| call:active | <> | Count total amount of calls that ever reached active state. -| call:complete | <> | Count total amount of calls which got terminated by disconnect req or ind after reaching active state. -| call:incomplete | <> | Count total amount of call which got terminated by any other reason after reaching active state. -|=== -// generating tables for osmo_stat_items -// generating tables for osmo_counters -// ungrouped osmo_counters -.ungrouped osmo counters -[options="header"] -|=== -| Name | Reference | Description -| msc.active_calls | <> | -|=== +== Osmo Stat Items +// generating tables for osmo_stat_items +base transceiver station +// osmo_stat_item_group table base transceiver station +.bts - base transceiver station +[options="header"] +|=== +| Name | Reference | Description | Unit +| chanloadavg | <> | Channel load average. | % +| T3122 | <> | T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator. | s +| rach_busy | <> | RACH slots with signal above threshold | % +| rach_access | <> | RACH slots with access bursts in them | % +|=== +base transceiver station +// osmo_stat_item_group table base transceiver station +.bts - base transceiver station +[options="header"] +|=== +| Name | Reference | Description | Unit +| chanloadavg | <> | Channel load average. | % +| T3122 | <> | T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator. | s +| rach_busy | <> | RACH slots with signal above threshold | % +| rach_access | <> | RACH slots with access bursts in them | % +|=== +base transceiver station +// osmo_stat_item_group table base transceiver station +.bts - base transceiver station +[options="header"] +|=== +| Name | Reference | Description | Unit +| chanloadavg | <> | Channel load average. | % +| T3122 | <> | T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator. | s +| rach_busy | <> | RACH slots with signal above threshold | % +| rach_access | <> | RACH slots with access bursts in them | % +|=== +== Osmo Counters + +// generating tables for osmo_counters +// there are no ungrouped osmo_counters diff --git a/doc/manuals/osmobsc-vty-reference.xml b/doc/manuals/osmobsc-vty-reference.xml index f51e56e..ec3022c 100644 --- a/doc/manuals/osmobsc-vty-reference.xml +++ b/doc/manuals/osmobsc-vty-reference.xml @@ -24,12 +24,18 @@ hf Update to match osmo-bsc version 0.13.0-305 + + v3 + 6th June 2019 + dw + Update to match osmo-bsc version 1.4.0.84-3f1f + OsmoBSC VTY Reference - 2012-2014 + 2012-2019 diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index f56b951..9992267 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -152,6 +152,14 @@ + + + + + + + + @@ -175,13 +183,31 @@ - + + + + + + + + + + + + + + + + + + + @@ -294,7 +320,7 @@ - + @@ -335,6 +361,7 @@ + @@ -424,13 +451,6 @@ - - - - - - - @@ -759,6 +779,14 @@ + + + + + + + + @@ -782,13 +810,31 @@ - + + + + + + + + + + + + + + + + + + + @@ -925,7 +971,7 @@ - + @@ -966,6 +1012,7 @@ + @@ -1055,13 +1102,6 @@ - - - - - - - @@ -1172,11 +1212,14 @@ - + + + + @@ -1790,7 +1833,7 @@ - + @@ -1831,6 +1874,7 @@ + @@ -1961,10 +2005,11 @@ - + + @@ -2470,12 +2515,12 @@ - + - - - - + + + + @@ -2960,6 +3005,13 @@ + + + + + + + @@ -3117,7 +3169,7 @@ - + @@ -3129,6 +3181,7 @@ + @@ -3301,6 +3354,19 @@ + + + + + + + + + + + + + @@ -3319,7 +3385,7 @@ - + @@ -3868,6 +3934,19 @@ + + + + + + + + + + + + + @@ -4573,11 +4652,19 @@ - + + + + + + + + - + + @@ -4647,19 +4734,11 @@ - + - - - - - - - - - - + + @@ -4676,6 +4755,14 @@ + + + + + + + + om2k -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9f75edf2e5b88ef8f4592fa89548f32e0a7df8d8 Gerrit-Change-Number: 14388 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 19:42:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:42:51 +0000 Subject: Change in ...osmo-bsc[master]: Introduce msc_is_{sccplite, aoip}() helpers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14383 ) Change subject: Introduce msc_is_{sccplite,aoip}() helpers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic0ee4c472e29ec3092049e5e23b744395613616d Gerrit-Change-Number: 14383 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Jun 2019 19:42: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 6 19:43:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:43:04 +0000 Subject: Change in ...osmo-bsc[master]: bsc: Append Osmux Support IE only on AoIP In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14384 ) Change subject: bsc: Append Osmux Support IE only on AoIP ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I802fc65c593e42aaa7a15cecab7a2f2b77ade3ea Gerrit-Change-Number: 14384 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Jun 2019 19:43:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 19:43:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:43:05 +0000 Subject: Change in ...osmo-bsc[master]: Introduce msc_is_{sccplite, aoip}() helpers In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14383 ) Change subject: Introduce msc_is_{sccplite,aoip}() helpers ...................................................................... Introduce msc_is_{sccplite,aoip}() helpers Having the helper makes it easier to read/find for transport type checks. It will be ifurther re-used in forthcoming commits. Change-Id: Ic0ee4c472e29ec3092049e5e23b744395613616d --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/osmo_bsc_sigtran.c 3 files changed, 23 insertions(+), 17 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 4720845..1f9872a 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -191,5 +191,25 @@ return (port - base) / 2; } +static inline bool msc_is_aoip(const struct bsc_msc_data *msc) +{ + switch (msc->a.asp_proto) { + case OSMO_SS7_ASP_PROT_SUA: + case OSMO_SS7_ASP_PROT_M3UA: + return true; + default: + return false; + } +} + +static inline bool msc_is_sccplite(const struct bsc_msc_data *msc) +{ + switch (msc->a.asp_proto) { + case OSMO_SS7_ASP_PROT_IPA: + return true; + default: + return false; + } +} #endif diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 87ad567..7b9f912 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -1058,14 +1058,7 @@ if (!conn || !conn->sccp.msc) return false; - switch (conn->sccp.msc->a.asp_proto) { - case OSMO_SS7_ASP_PROT_SUA: - case OSMO_SS7_ASP_PROT_M3UA: - return true; - - default: - return false; - } + return msc_is_aoip(conn->sccp.msc); } bool gscon_is_sccplite(struct gsm_subscriber_connection *conn) @@ -1073,11 +1066,5 @@ if (!conn || !conn->sccp.msc) return false; - switch (conn->sccp.msc->a.asp_proto) { - case OSMO_SS7_ASP_PROT_IPA: - return true; - - default: - return false; - } + return msc_is_sccplite(conn->sccp.msc); } diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 5d61c32..8303c4f 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -523,8 +523,7 @@ * an X-Osmo-IGN flag telling osmo-mgw to ignore CallID mismatches for this endpoint. * If an explicit VTY command has already indicated whether or not to send X-Osmo-IGN, do * not overwrite that setting. */ - if (msc->a.asp_proto == OSMO_SS7_ASP_PROT_IPA - && !msc->x_osmo_ign_configured) + if (msc_is_sccplite(msc) && !msc->x_osmo_ign_configured) msc->x_osmo_ign |= MGCP_X_OSMO_IGN_CALLID; /* If unset, use default local SCCP address */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic0ee4c472e29ec3092049e5e23b744395613616d Gerrit-Change-Number: 14383 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 Thu Jun 6 19:43:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:43:05 +0000 Subject: Change in ...osmo-bsc[master]: bsc: Append Osmux Support IE only on AoIP In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14384 ) Change subject: bsc: Append Osmux Support IE only on AoIP ...................................................................... bsc: Append Osmux Support IE only on AoIP Since in SCCPlite the BSC-attached MGW is controlled by the MSC, we don't need this kind of signalling. It's only needed for AoIP. Related: OS#2551 Change-Id: I802fc65c593e42aaa7a15cecab7a2f2b77ade3ea --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 8303c4f..18f269d 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -101,7 +101,7 @@ LOGP(DMSC, LOGL_NOTICE, "Sending RESET to MSC: %s\n", osmo_sccp_addr_name(ss7, &msc->a.msc_addr)); msg = gsm0808_create_reset(); - if (msc->use_osmux != OSMUX_USAGE_OFF) + if (msc_is_aoip(msc) && msc->use_osmux != OSMUX_USAGE_OFF) _gsm0808_extend_announce_osmux(msg); osmo_sccp_tx_unitdata_msg(msc->a.sccp_user, &msc->a.bsc_addr, @@ -120,7 +120,7 @@ LOGP(DMSC, LOGL_NOTICE, "Sending RESET ACK to MSC: %s\n", osmo_sccp_addr_name(ss7, &msc->a.msc_addr)); msg = gsm0808_create_reset_ack(); - if (msc->use_osmux != OSMUX_USAGE_OFF) + if (msc_is_aoip(msc) && msc->use_osmux != OSMUX_USAGE_OFF) _gsm0808_extend_announce_osmux(msg); osmo_sccp_tx_unitdata_msg(msc->a.sccp_user, &msc->a.bsc_addr, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I802fc65c593e42aaa7a15cecab7a2f2b77ade3ea Gerrit-Change-Number: 14384 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 Thu Jun 6 19:43:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:43:18 +0000 Subject: Change in ...osmo-trx[master]: Add rate_ctr support to store/retrieve SDR errors through VTY In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14167 ) Change subject: Add rate_ctr support to store/retrieve SDR errors through VTY ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I78b158141697e5714d04db8b9ccc96f31f34f439 Gerrit-Change-Number: 14167 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 Jun 2019 19:43:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 19:43:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:43:37 +0000 Subject: Change in ...osmo-trx[master]: doc: vty: Update trx_vty_reference.xml In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14382 ) Change subject: doc: vty: Update trx_vty_reference.xml ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I2587cd47ee48e979de447f7a0f4d79bb5fac0592 Gerrit-Change-Number: 14382 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Jun 2019 19:43: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 6 19:44:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:44:02 +0000 Subject: Change in ...osmo-trx[master]: Add VTY commands to set error ctr thresholds In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14168 ) Change subject: Add VTY commands to set error ctr thresholds ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4bcf44dbf064e2e86dfc3b8a2ad18fea76fbd51a Gerrit-Change-Number: 14168 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 Jun 2019 19: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 Thu Jun 6 19:44:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:44:04 +0000 Subject: Change in ...osmo-trx[master]: Add rate_ctr support to store/retrieve SDR errors through VTY In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/14167 ) Change subject: Add rate_ctr support to store/retrieve SDR errors through VTY ...................................................................... Add rate_ctr support to store/retrieve SDR errors through VTY Introduce a unified implementation-agnostic interface for radioDevice to signal SDR error counters to upper layers and manage them. This patch only implements counters for osmo-trx-lms (other devices will show all counters unchanged during time). Sample use through VTY: """ OsmoTRX> show rate-counters osmo-trx statistics 0: device:rx_underruns: 0 (0/s 0/m 0/h 0/d) Number of Rx underruns device:rx_overruns: 0 (0/s 0/m 0/h 0/d) Number of Rx overruns device:tx_underruns: 0 (0/s 0/m 0/h 0/d) Number of Tx underruns device:rx_drop_events: 4 (0/s 2/m 3/h 0/d) Number of times Rx samples were dropped by HW device:rx_drop_samples: 513 (0/s 196/m 425/h 0/d) Number of Rx samples dropped by HW """ Change-Id: I78b158141697e5714d04db8b9ccc96f31f34f439 --- M CommonLibs/Makefile.am M CommonLibs/osmo_signal.h A CommonLibs/trx_rate_ctr.cpp A CommonLibs/trx_rate_ctr.h M Transceiver52M/device/common/radioDevice.h M Transceiver52M/device/lms/LMSDevice.cpp M Transceiver52M/device/lms/LMSDevice.h M Transceiver52M/osmo-trx.cpp 8 files changed, 262 insertions(+), 37 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/CommonLibs/Makefile.am b/CommonLibs/Makefile.am index 83bd0c0..22572e1 100644 --- a/CommonLibs/Makefile.am +++ b/CommonLibs/Makefile.am @@ -35,6 +35,7 @@ Timeval.cpp \ Logger.cpp \ Utils.cpp \ + trx_rate_ctr.cpp \ trx_vty.c \ debug.c libcommon_la_LIBADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOCTRL_LIBS) $(LIBOSMOVTY_LIBS) @@ -50,6 +51,7 @@ Vector.h \ Logger.h \ Utils.h \ + trx_rate_ctr.h \ trx_vty.h \ debug.h \ osmo_signal.h \ diff --git a/CommonLibs/osmo_signal.h b/CommonLibs/osmo_signal.h index 00b8097..7299171 100644 --- a/CommonLibs/osmo_signal.h +++ b/CommonLibs/osmo_signal.h @@ -27,9 +27,28 @@ /* Signalling subsystems */ enum signal_subsystems { SS_TRANSC, + SS_DEVICE, }; /* SS_TRANSC signals */ enum SS_TRANSC { S_TRANSC_STOP_REQUIRED, /* Transceiver fatal error, it should be stopped */ }; + +/* SS_DEVICE signals */ +enum SS_DEVICE { + /* Device internal counters changed. Counters are provided as cb data + (struct device_counters). Must be sent with PTHREAD_CANCEL_DISABLE + to avoid deadlocks in case osmo-trx process is asked to exit. */ + S_DEVICE_COUNTER_CHANGE, +}; + +/* signal cb for signal */ +struct device_counters { + size_t chan; + unsigned int rx_underruns; + unsigned int rx_overruns; + unsigned int tx_underruns; + unsigned int rx_dropped_events; + unsigned int rx_dropped_samples; +}; diff --git a/CommonLibs/trx_rate_ctr.cpp b/CommonLibs/trx_rate_ctr.cpp new file mode 100644 index 0000000..711b904 --- /dev/null +++ b/CommonLibs/trx_rate_ctr.cpp @@ -0,0 +1,180 @@ +/* + * Copyright (C) 2019 sysmocom - s.f.m.c. GmbH + * All Rights Reserved + * + * Author: Pau Espin Pedrol + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/* + * rate_ctr API uses several osmocom select loop features, and as a result, + * calls to it must be done through the main thread (the one running the osmocom + * loop in osmo-trx). + * Since read/write from/to SDR is done in separate threads (even read and write + * each use a different thread), we must use some sort of message passing system + * between main thread feeding rate_ctr structures and the Rx/Tx threads + * generating the events. + * The idea is that upon read/write issues, lower layers (SDR APIs) provide us with + * underrun/overrun/droppedPackets information, and in that case we pass that up + * the stack through signal with signal_cb + * being a pointer to a "struct device_counters" structure, which contains + * device (implementation agnostic) statful counters for different kind of + * statistics. + * That signal is processed here in device_sig_cb, where a copy of the "struct + * device_counters" structure is held and the main thread is instructed through + * a timerfd to update rate_ctr APIs against this copy. All this is done inside + * a mutex to avoid different race conditons (between Rx andTx threads, and + * between Rx/Tx and main thread). For the same reason, callers of signal + * (device_sig_cb), that is Rx/Tx threads, + * must do so with PTHREAD_CANCEL_DISABLE, in order to avoid possible deadlocks + * in case the main thread decides to cancel other threads due to a shutdown + * operation (fi SIGKILL received) + */ + +#include +#include +#include +#include +#include + +extern "C" { +#include +#include +#include +#include +#include + +#include "osmo_signal.h" +#include "trx_vty.h" +#include "trx_rate_ctr.h" +} +#include "Threads.h" +#include "Logger.h" + +/* Used in ctrs_pending, when set it means that channel slot contains unused + (non-pending) counter data */ +#define PENDING_CHAN_NONE SIZE_MAX + +static struct rate_ctr_group** rate_ctrs; +static struct device_counters* ctrs_pending; +static size_t chan_len; +static struct osmo_fd rate_ctr_timerfd; +static Mutex rate_ctr_mutex; + +enum { + TRX_CTR_RX_UNDERRUNS, + TRX_CTR_RX_OVERRUNS, + TRX_CTR_TX_UNDERRUNS, + TRX_CTR_RX_DROP_EV, + TRX_CTR_RX_DROP_SMPL, +}; + +static const struct rate_ctr_desc trx_chan_ctr_desc[] = { + [TRX_CTR_RX_UNDERRUNS] = { "device:rx_underruns", "Number of Rx underruns" }, + [TRX_CTR_RX_OVERRUNS] = { "device:rx_overruns", "Number of Rx overruns" }, + [TRX_CTR_TX_UNDERRUNS] = { "device:tx_underruns", "Number of Tx underruns" }, + [TRX_CTR_RX_DROP_EV] = { "device:rx_drop_events", "Number of times Rx samples were dropped by HW" }, + [TRX_CTR_RX_DROP_SMPL] = { "device:rx_drop_samples", "Number of Rx samples dropped by HW" }, +}; + +static const struct rate_ctr_group_desc trx_chan_ctr_group_desc = { + .group_name_prefix = "trx:chan", + .group_description = "osmo-trx statistics", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_ctr = ARRAY_SIZE(trx_chan_ctr_desc), + .ctr_desc = trx_chan_ctr_desc, +}; + +static int rate_ctr_timerfd_cb(struct osmo_fd *ofd, unsigned int what) { + size_t chan; + struct rate_ctr *ctr; + LOGC(DMAIN, NOTICE) << "Main thread is updating counters"; + rate_ctr_mutex.lock(); + for (chan = 0; chan < chan_len; chan++) { + if (ctrs_pending[chan].chan == PENDING_CHAN_NONE) + continue; + LOGCHAN(chan, DMAIN, INFO) << "rate_ctr update"; + ctr = &rate_ctrs[chan]->ctr[TRX_CTR_RX_UNDERRUNS]; + rate_ctr_add(ctr, ctrs_pending[chan].rx_underruns - ctr->current); + ctr = &rate_ctrs[chan]->ctr[TRX_CTR_RX_OVERRUNS]; + rate_ctr_add(ctr, ctrs_pending[chan].rx_overruns - ctr->current); + ctr = &rate_ctrs[chan]->ctr[TRX_CTR_TX_UNDERRUNS]; + rate_ctr_add(ctr, ctrs_pending[chan].tx_underruns - ctr->current); + ctr = &rate_ctrs[chan]->ctr[TRX_CTR_RX_DROP_EV]; + rate_ctr_add(ctr, ctrs_pending[chan].rx_dropped_events - ctr->current); + ctr = &rate_ctrs[chan]->ctr[TRX_CTR_RX_DROP_SMPL]; + rate_ctr_add(ctr, ctrs_pending[chan].rx_dropped_samples - ctr->current); + + /* Mark as done */ + ctrs_pending[chan].chan = PENDING_CHAN_NONE; + } + if (osmo_timerfd_disable(&rate_ctr_timerfd) < 0) + LOGC(DMAIN, ERROR) << "Failed to disable timerfd"; + rate_ctr_mutex.unlock(); + return 0; +} + +/* Callback function to be called every time we receive a signal from DEVICE */ +static int device_sig_cb(unsigned int subsys, unsigned int signal, + void *handler_data, void *signal_data) +{ + struct device_counters *ctr; + /* Delay sched around 20 ms, in case we receive several calls from several + * channels batched */ + struct timespec next_sched = {.tv_sec = 0, .tv_nsec = 20*1000*1000}; + /* no automatic re-trigger */ + struct timespec intv_sched = {.tv_sec = 0, .tv_nsec = 0}; + + switch (signal) { + case S_DEVICE_COUNTER_CHANGE: + ctr = (struct device_counters *)signal_data; + LOGCHAN(ctr->chan, DMAIN, NOTICE) << "Received counter change from radioDevice"; + rate_ctr_mutex.lock(); + ctrs_pending[ctr->chan] = *ctr; + if (osmo_timerfd_schedule(&rate_ctr_timerfd, &next_sched, &intv_sched) < 0) { + LOGC(DMAIN, ERROR) << "Failed to schedule timerfd: " << errno << " = "<< strerror(errno); + } + rate_ctr_mutex.unlock(); + break; + default: + break; + } + return 0; +} + +/* Init rate_ctr subsystem. Expected to be called during process start by main thread */ +void trx_rate_ctr_init(void *ctx, struct trx_ctx* trx_ctx) +{ + size_t i; + chan_len = trx_ctx->cfg.num_chans; + ctrs_pending = (struct device_counters*) talloc_zero_size(ctx, chan_len * sizeof(struct device_counters)); + rate_ctrs = (struct rate_ctr_group**) talloc_zero_size(ctx, chan_len * sizeof(struct rate_ctr_group*)); + + for (i = 0; i < chan_len; i++) { + ctrs_pending[i].chan = PENDING_CHAN_NONE; + rate_ctrs[i] = rate_ctr_group_alloc(ctx, &trx_chan_ctr_group_desc, i); + if (!rate_ctrs[i]) { + LOGCHAN(i, DMAIN, ERROR) << "Failed to allocate rate ctr"; + exit(1); + } + } + rate_ctr_timerfd.fd = -1; + if (osmo_timerfd_setup(&rate_ctr_timerfd, rate_ctr_timerfd_cb, NULL) < 0) { + LOGC(DMAIN, ERROR) << "Failed to setup timerfd"; + exit(1); + } + osmo_signal_register_handler(SS_DEVICE, device_sig_cb, NULL); +} diff --git a/CommonLibs/trx_rate_ctr.h b/CommonLibs/trx_rate_ctr.h new file mode 100644 index 0000000..48131e7 --- /dev/null +++ b/CommonLibs/trx_rate_ctr.h @@ -0,0 +1,4 @@ +#pragma once + +struct trx_ctx; +void trx_rate_ctr_init(void *ctx, struct trx_ctx* trx_ctx); diff --git a/Transceiver52M/device/common/radioDevice.h b/Transceiver52M/device/common/radioDevice.h index 30e0f43..cd378a8 100644 --- a/Transceiver52M/device/common/radioDevice.h +++ b/Transceiver52M/device/common/radioDevice.h @@ -23,6 +23,7 @@ extern "C" { #include "config_defs.h" +#include "osmo_signal.h" } #ifdef HAVE_CONFIG_H @@ -168,13 +169,20 @@ size_t chans; double lo_offset; std::vector tx_paths, rx_paths; + std::vector m_ctr; RadioDevice(size_t tx_sps, size_t rx_sps, InterfaceType type, size_t chans, double offset, const std::vector& tx_paths, const std::vector& rx_paths): tx_sps(tx_sps), rx_sps(rx_sps), iface(type), chans(chans), lo_offset(offset), tx_paths(tx_paths), rx_paths(rx_paths) - { } + { + m_ctr.resize(chans); + for (size_t i = 0; i < chans; i++) { + memset(&m_ctr[i], 0, sizeof(m_ctr[i])); + m_ctr[i].chan = i; + } + } bool set_antennas() { unsigned int i; diff --git a/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp index a1ca983..910a6e7 100644 --- a/Transceiver52M/device/lms/LMSDevice.cpp +++ b/Transceiver52M/device/lms/LMSDevice.cpp @@ -25,7 +25,10 @@ #include +extern "C" { +#include "osmo_signal.h" #include +} #ifdef HAVE_CONFIG_H #include "config.h" @@ -53,11 +56,6 @@ m_lms_stream_rx.resize(chans); m_lms_stream_tx.resize(chans); - m_last_rx_underruns.resize(chans, 0); - m_last_rx_overruns.resize(chans, 0); - m_last_rx_dropped.resize(chans, 0); - m_last_tx_underruns.resize(chans, 0); - rx_buffers.resize(chans); } @@ -580,32 +578,45 @@ void LMSDevice::update_stream_stats(size_t chan, bool * underrun, bool * overrun) { lms_stream_status_t status; - if (LMS_GetStreamStatus(&m_lms_stream_rx[chan], &status) == 0) { - if (status.underrun > m_last_rx_underruns[chan]) { - *underrun = true; - LOGCHAN(chan, DDEV, ERROR) << "recv Underrun! (" - << m_last_rx_underruns[chan] << " -> " - << status.underrun << ")"; - } - m_last_rx_underruns[chan] = status.underrun; + bool changed = false; - if (status.overrun > m_last_rx_overruns[chan]) { - *overrun = true; - LOGCHAN(chan, DDEV, ERROR) << "recv Overrun! (" - << m_last_rx_overruns[chan] << " -> " - << status.overrun << ")"; - } - m_last_rx_overruns[chan] = status.overrun; - - if (status.droppedPackets) { - LOGCHAN(chan, DDEV, ERROR) << "recv Dropped packets by HW! (" - << m_last_rx_dropped[chan] << " -> " - << m_last_rx_dropped[chan] + - status.droppedPackets - << ")"; - } - m_last_rx_dropped[chan] += status.droppedPackets; + if (LMS_GetStreamStatus(&m_lms_stream_rx[chan], &status) != 0) { + LOGCHAN(chan, DDEV, ERROR) << "LMS_GetStreamStatus failed"; + return; } + + if (status.underrun > m_ctr[chan].rx_underruns) { + changed = true; + *underrun = true; + LOGCHAN(chan, DDEV, ERROR) << "recv Underrun! (" + << m_ctr[chan].rx_underruns << " -> " + << status.underrun << ")"; + } + m_ctr[chan].rx_underruns = status.underrun; + + if (status.overrun > m_ctr[chan].rx_overruns) { + changed = true; + *overrun = true; + LOGCHAN(chan, DDEV, ERROR) << "recv Overrun! (" + << m_ctr[chan].rx_overruns << " -> " + << status.overrun << ")"; + } + m_ctr[chan].rx_overruns = status.overrun; + + if (status.droppedPackets) { + changed = true; + LOGCHAN(chan, DDEV, ERROR) << "recv Dropped packets by HW! (" + << m_ctr[chan].rx_dropped_samples << " -> " + << m_ctr[chan].rx_dropped_samples + + status.droppedPackets + << ")"; + m_ctr[chan].rx_dropped_events++; + } + m_ctr[chan].rx_dropped_samples += status.droppedPackets; + + if (changed) + osmo_signal_dispatch(SS_DEVICE, S_DEVICE_COUNTER_CHANGE, &m_ctr[chan]); + } // NOTE: Assumes sequential reads @@ -719,9 +730,12 @@ } if (LMS_GetStreamStatus(&m_lms_stream_tx[i], &status) == 0) { - if (status.underrun > m_last_tx_underruns[i]) + if (status.underrun > m_ctr[i].tx_underruns) { *underrun = true; - m_last_tx_underruns[i] = status.underrun; + m_ctr[i].tx_underruns = status.underrun; + osmo_signal_dispatch(SS_DEVICE, S_DEVICE_COUNTER_CHANGE, &m_ctr[i]); + } + } thread_enable_cancel(true); } diff --git a/Transceiver52M/device/lms/LMSDevice.h b/Transceiver52M/device/lms/LMSDevice.h index 2828578..8b5fe93 100644 --- a/Transceiver52M/device/lms/LMSDevice.h +++ b/Transceiver52M/device/lms/LMSDevice.h @@ -49,11 +49,6 @@ std::vector m_lms_stream_rx; std::vector m_lms_stream_tx; - std::vector m_last_rx_underruns; - std::vector m_last_rx_overruns; - std::vector m_last_rx_dropped; - std::vector m_last_tx_underruns; - std::vector rx_buffers; double actualSampleRate; ///< the actual USRP sampling rate diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index 8c592aa..a79c26e 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -59,6 +59,7 @@ #include "trx_vty.h" #include "debug.h" #include "osmo_signal.h" +#include "trx_rate_ctr.h" } #define DEFAULT_CONFIG_FILE "osmo-trx.cfg" @@ -626,6 +627,8 @@ return EXIT_FAILURE; } + trx_rate_ctr_init(tall_trx_ctx, g_trx_ctx); + srandom(time(NULL)); if(trx_start(g_trx_ctx) < 0) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I78b158141697e5714d04db8b9ccc96f31f34f439 Gerrit-Change-Number: 14167 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 19:44:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:44:04 +0000 Subject: Change in ...osmo-trx[master]: Rename and move STOP signal from Transceiver to main In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/14366 ) Change subject: Rename and move STOP signal from Transceiver to main ...................................................................... Rename and move STOP signal from Transceiver to main The callback actually belongs there, since it's the code/thread in main the one actually in charge of stopping everything. It simplifies current code, and more important, allows for new clients of this signal to use it. This callback will also be used in forthcoming commits by code controlling rate_ctr thresholds to stop the process if the VTY configured threshold is used. Change-Id: Id4159e64225c6606fef34a74b24f37c3a071aceb --- M CommonLibs/osmo_signal.h M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h M Transceiver52M/osmo-trx.cpp 4 files changed, 9 insertions(+), 24 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/CommonLibs/osmo_signal.h b/CommonLibs/osmo_signal.h index 7299171..6ee1bf9 100644 --- a/CommonLibs/osmo_signal.h +++ b/CommonLibs/osmo_signal.h @@ -26,13 +26,13 @@ /* Signalling subsystems */ enum signal_subsystems { - SS_TRANSC, + SS_MAIN, SS_DEVICE, }; -/* SS_TRANSC signals */ -enum SS_TRANSC { - S_TRANSC_STOP_REQUIRED, /* Transceiver fatal error, it should be stopped */ +/* SS_MAIN signals */ +enum SS_MAIN { + S_MAIN_STOP_REQUIRED, /* TRX fatal error, it should be stopped */ }; /* SS_DEVICE signals */ diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 54b9ddd..9c55d02 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -119,7 +119,7 @@ : mBasePort(wBasePort), mLocalAddr(TRXAddress), mRemoteAddr(GSMcoreAddress), mClockSocket(TRXAddress, wBasePort, GSMcoreAddress, wBasePort + 100), mTransmitLatency(wTransmitLatency), mRadioInterface(wRadioInterface), - rssiOffset(wRssiOffset), sig_cbfn(NULL), + rssiOffset(wRssiOffset), mSPSTx(tx_sps), mSPSRx(rx_sps), mChans(chans), mEdge(false), mOn(false), mForceClockInterface(false), mTxFreq(0.0), mRxFreq(0.0), mTSC(0), mMaxExpectedDelayAB(0), mMaxExpectedDelayNB(0), mWriteBurstToDiskMask(0) @@ -225,17 +225,6 @@ return true; } -void Transceiver::setSignalHandler(osmo_signal_cbfn cbfn) -{ - if (this->sig_cbfn) - osmo_signal_unregister_handler(SS_TRANSC, this->sig_cbfn, NULL); - - if (cbfn) { - this->sig_cbfn = cbfn; - osmo_signal_register_handler(SS_TRANSC, this->sig_cbfn, NULL); - } -} - /* * Start the transceiver * @@ -910,7 +899,7 @@ usleep(100000); } else if (rc < 0) { LOG(FATAL) << "radio Interface receive failed, requesting stop."; - osmo_signal_dispatch(SS_TRANSC, S_TRANSC_STOP_REQUIRED, this); + osmo_signal_dispatch(SS_MAIN, S_MAIN_STOP_REQUIRED, NULL); } else if (mForceClockInterface || mTransmitDeadlineClock > mLastClockUpdateTime + GSM::Time(216,0)) { mForceClockInterface = false; writeClockInterface(); diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h index 432e3b4..4614efe 100644 --- a/Transceiver52M/Transceiver.h +++ b/Transceiver52M/Transceiver.h @@ -130,8 +130,6 @@ /** accessor for number of channels */ size_t numChans() const { return mChans; }; - void setSignalHandler(osmo_signal_cbfn cbfn); - /** Codes for channel combinations */ typedef enum { FILL, ///< Channel is transmitted, but unused @@ -181,8 +179,6 @@ double rssiOffset; ///< RSSI to dBm conversion offset - osmo_signal_cbfn *sig_cbfn; ///< Registered Signal Handler to announce events. - /** modulate and add a burst to the transmit queue */ void addRadioVector(size_t chan, BitVector &bits, int RSSI, GSM::Time &wTime); diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index a79c26e..05489bd 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -123,7 +123,7 @@ void *handler_data, void *signal_data) { switch (signal) { - case S_TRANSC_STOP_REQUIRED: + case S_MAIN_STOP_REQUIRED: gshutdown = true; break; default: @@ -152,8 +152,6 @@ return -1; } - transceiver->setSignalHandler(transc_sig_cb); - for (size_t i = 0; i < trx->cfg.num_chans; i++) { fifo = radio->receiveFIFO(i); if (fifo && transceiver->receiveFIFO(fifo, i)) @@ -627,6 +625,7 @@ return EXIT_FAILURE; } + osmo_signal_register_handler(SS_MAIN, transc_sig_cb, NULL); trx_rate_ctr_init(tall_trx_ctx, g_trx_ctx); srandom(time(NULL)); @@ -641,5 +640,6 @@ osmo_fd_unregister(&signal_ofd); osmo_fd_close(&signal_ofd); + osmo_signal_unregister_handler(SS_MAIN, transc_sig_cb, NULL); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Id4159e64225c6606fef34a74b24f37c3a071aceb Gerrit-Change-Number: 14366 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 Thu Jun 6 19:44:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:44:04 +0000 Subject: Change in ...osmo-trx[master]: doc: vty: Update trx_vty_reference.xml In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/14382 ) Change subject: doc: vty: Update trx_vty_reference.xml ...................................................................... doc: vty: Update trx_vty_reference.xml Change-Id: I2587cd47ee48e979de447f7a0f4d79bb5fac0592 --- M doc/manuals/vty/trx_vty_reference.xml 1 file changed, 138 insertions(+), 43 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/vty/trx_vty_reference.xml b/doc/manuals/vty/trx_vty_reference.xml index ffc642a..d6cd15d 100644 --- a/doc/manuals/vty/trx_vty_reference.xml +++ b/doc/manuals/vty/trx_vty_reference.xml @@ -85,12 +85,6 @@ - - - - - - @@ -181,7 +175,7 @@ - + @@ -189,6 +183,7 @@ + @@ -198,21 +193,14 @@ - - - - - - - - - - + - + + + @@ -231,7 +219,7 @@ - + @@ -239,6 +227,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -312,6 +332,12 @@ + + + + + + enable @@ -365,12 +391,6 @@ - - - - - - @@ -474,7 +494,7 @@ - + @@ -482,6 +502,7 @@ + @@ -491,21 +512,14 @@ - - - - - - - - - - + - + + + @@ -524,7 +538,7 @@ - + @@ -532,6 +546,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -605,6 +651,12 @@ + + + + + + config @@ -910,7 +962,7 @@ - + @@ -918,14 +970,17 @@ + - + - + + + @@ -944,7 +999,7 @@ - + @@ -952,6 +1007,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-stats @@ -1035,10 +1122,11 @@ - + + @@ -1146,6 +1234,13 @@ + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I2587cd47ee48e979de447f7a0f4d79bb5fac0592 Gerrit-Change-Number: 14382 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 Thu Jun 6 19:45:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:45:15 +0000 Subject: Change in ...osmo-msc[master]: libmsc/db.c: warn user about SMS text truncation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/13489 ) Change subject: libmsc/db.c: warn user about SMS text truncation ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I75e852ebe44ba4784572cbffa029e13f0d3c430c Gerrit-Change-Number: 13489 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Jun 2019 19:45:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 19:45:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:45:16 +0000 Subject: Change in ...osmo-msc[master]: libmsc/db.c: introduce and use parse_sm_ud_from_result() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/13488 ) Change subject: libmsc/db.c: introduce and use parse_sm_ud_from_result() ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If67dfb9f7d2a55fa3d45dc4689a2acff9909faf6 Gerrit-Change-Number: 13488 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Jun 2019 19:45: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 6 19:45:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:45:20 +0000 Subject: Change in ...osmo-msc[master]: libmsc/db.c: fix potential integer overflow In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/13470 ) Change subject: libmsc/db.c: fix potential integer overflow ...................................................................... libmsc/db.c: fix potential integer overflow The value of 'sms->user_data_len' is fetched from the database: sms->user_data_len = dbi_result_get_field_length(result, "user_data"); and this is where the problem is. As per the libdbi's documentation (see 3.5.3), dbi_result_get_field_length() returns the length in bytes of the value stored in the specified field: unsigned int dbi_result_get_field_length(dbi_result Result, const char *fieldname) so 'unsigned int' is assigned to 'uint8_t', what could lead to an integer overflow if the value is grather than 0xff. As a result, if the database for some reason does contain such odd TP-UD, the truncation of 'user_data' would be done incorrectly. Let's avoid such direct assignment, and use a separate variable. Also, let's warn user if TP-UDL value is grether than 140, as per 3GPP TS 03.40. Change-Id: Ibbd588545e1a4817504c806a3d02cf59d5938ee2 Related: OS#3684 --- M src/libmsc/db.c 1 file changed, 27 insertions(+), 9 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/db.c b/src/libmsc/db.c index e3995a6..1fe8e6b 100644 --- a/src/libmsc/db.c +++ b/src/libmsc/db.c @@ -236,6 +236,7 @@ long long unsigned int sender_id; const char *text, *daddr; const unsigned char *user_data; + unsigned int user_data_len; char buf[32]; char *quoted; dbi_result result2; @@ -273,10 +274,15 @@ if (daddr) OSMO_STRLCPY_ARRAY(sms->dst.addr, daddr); - sms->user_data_len = dbi_result_get_field_length(result, "user_data"); + user_data_len = dbi_result_get_field_length(result, "user_data"); user_data = dbi_result_get_binary(result, "user_data"); - if (sms->user_data_len > sizeof(sms->user_data)) - sms->user_data_len = (uint8_t) sizeof(sms->user_data); + if (user_data_len > sizeof(sms->user_data)) { + LOGP(DDB, LOGL_ERROR, + "SMS TP-UD length %u is too big, truncating to %zu\n", + user_data_len, sizeof(sms->user_data)); + user_data_len = (uint8_t) sizeof(sms->user_data); + } + sms->user_data_len = user_data_len; memcpy(sms->user_data, user_data, sms->user_data_len); text = dbi_result_get_string(result, "text"); @@ -395,6 +401,7 @@ { struct gsm_sms *sms = sms_alloc(); const unsigned char *user_data; + unsigned int user_data_len; const char *text, *addr; if (!sms) @@ -419,10 +426,15 @@ sms->dst.ton = dbi_result_get_ulonglong(result, "dest_ton"); sms->dst.npi = dbi_result_get_ulonglong(result, "dest_npi"); - sms->user_data_len = dbi_result_get_field_length(result, "user_data"); + user_data_len = dbi_result_get_field_length(result, "user_data"); user_data = dbi_result_get_binary(result, "user_data"); - if (sms->user_data_len > sizeof(sms->user_data)) - sms->user_data_len = (uint8_t) sizeof(sms->user_data); + if (user_data_len > sizeof(sms->user_data)) { + LOGP(DDB, LOGL_ERROR, + "SMS TP-UD length %u is too big, truncating to %zu\n", + user_data_len, sizeof(sms->user_data)); + user_data_len = (uint8_t) sizeof(sms->user_data); + } + sms->user_data_len = user_data_len; memcpy(sms->user_data, user_data, sms->user_data_len); text = dbi_result_get_string(result, "text"); @@ -753,6 +765,7 @@ struct gsm_sms *sms = sms_alloc(); const char *text, *daddr, *saddr; const unsigned char *user_data; + unsigned int user_data_len; time_t validity_timestamp; if (!sms) @@ -789,10 +802,15 @@ if (saddr) OSMO_STRLCPY_ARRAY(sms->src.addr, saddr); - sms->user_data_len = dbi_result_get_field_length(result, "user_data"); + user_data_len = dbi_result_get_field_length(result, "user_data"); user_data = dbi_result_get_binary(result, "user_data"); - if (sms->user_data_len > sizeof(sms->user_data)) - sms->user_data_len = (uint8_t) sizeof(sms->user_data); + if (user_data_len > sizeof(sms->user_data)) { + LOGP(DDB, LOGL_ERROR, + "SMS TP-UD length %u is too big, truncating to %zu\n", + user_data_len, sizeof(sms->user_data)); + user_data_len = (uint8_t) sizeof(sms->user_data); + } + sms->user_data_len = user_data_len; if (user_data) memcpy(sms->user_data, user_data, sms->user_data_len); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ibbd588545e1a4817504c806a3d02cf59d5938ee2 Gerrit-Change-Number: 13470 Gerrit-PatchSet: 10 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr 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 6 19:45:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:45:20 +0000 Subject: Change in ...osmo-msc[master]: libmsc/db.c: introduce and use parse_sm_ud_from_result() In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/13488 ) Change subject: libmsc/db.c: introduce and use parse_sm_ud_from_result() ...................................................................... libmsc/db.c: introduce and use parse_sm_ud_from_result() The following functions: - sms_from_result(), - sms_from_result_v3(), - sms_from_result_v4(), do retrieve the TP-UD, TP-UDL and text in the same way. A consequence of such duplication is [1], which fixed potential NULL-pointer dereference for sms_from_result(), but not for two other functions: sms_from_result_v3() and sms_from_result_v4(). [1] I545967464c406348b8505d1729213cfb4afcd3e2 Change-Id: If67dfb9f7d2a55fa3d45dc4689a2acff9909faf6 --- M src/libmsc/db.c 1 file changed, 37 insertions(+), 49 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/db.c b/src/libmsc/db.c index 1fe8e6b..a12889b 100644 --- a/src/libmsc/db.c +++ b/src/libmsc/db.c @@ -225,6 +225,34 @@ return 0; } +static void parse_tp_ud_from_result(struct gsm_sms *sms, dbi_result result) +{ + const unsigned char *user_data; + unsigned int user_data_len; + const char *text; + + /* Retrieve TP-UDL (User-Data-Length) in octets (regardless of DCS) */ + user_data_len = dbi_result_get_field_length(result, "user_data"); + if (user_data_len > sizeof(sms->user_data)) { + LOGP(DDB, LOGL_ERROR, + "SMS TP-UD length %u is too big, truncating to %zu\n", + user_data_len, sizeof(sms->user_data)); + user_data_len = (uint8_t) sizeof(sms->user_data); + } + sms->user_data_len = user_data_len; + + /* Retrieve the TP-UD (User-Data) itself */ + if (user_data_len > 0) { + user_data = dbi_result_get_binary(result, "user_data"); + memcpy(sms->user_data, user_data, user_data_len); + } + + /* Retrieve the text parsed from TP-UD (User-Data) */ + text = dbi_result_get_string(result, "text"); + if (text) + OSMO_STRLCPY_ARRAY(sms->text, text); +} + /** * Copied from the normal sms_from_result_v3 to avoid having * to make sure that the real routine will remain backward @@ -234,9 +262,7 @@ { struct gsm_sms *sms = sms_alloc(); long long unsigned int sender_id; - const char *text, *daddr; - const unsigned char *user_data; - unsigned int user_data_len; + const char *daddr; char buf[32]; char *quoted; dbi_result result2; @@ -274,20 +300,9 @@ if (daddr) OSMO_STRLCPY_ARRAY(sms->dst.addr, daddr); - user_data_len = dbi_result_get_field_length(result, "user_data"); - user_data = dbi_result_get_binary(result, "user_data"); - if (user_data_len > sizeof(sms->user_data)) { - LOGP(DDB, LOGL_ERROR, - "SMS TP-UD length %u is too big, truncating to %zu\n", - user_data_len, sizeof(sms->user_data)); - user_data_len = (uint8_t) sizeof(sms->user_data); - } - sms->user_data_len = user_data_len; - memcpy(sms->user_data, user_data, sms->user_data_len); + /* Parse TP-UD, TP-UDL and decoded text */ + parse_tp_ud_from_result(sms, result); - text = dbi_result_get_string(result, "text"); - if (text) - OSMO_STRLCPY_ARRAY(sms->text, text); return sms; } @@ -400,9 +415,7 @@ static struct gsm_sms *sms_from_result_v4(dbi_result result) { struct gsm_sms *sms = sms_alloc(); - const unsigned char *user_data; - unsigned int user_data_len; - const char *text, *addr; + const char *addr; if (!sms) return NULL; @@ -426,20 +439,9 @@ sms->dst.ton = dbi_result_get_ulonglong(result, "dest_ton"); sms->dst.npi = dbi_result_get_ulonglong(result, "dest_npi"); - user_data_len = dbi_result_get_field_length(result, "user_data"); - user_data = dbi_result_get_binary(result, "user_data"); - if (user_data_len > sizeof(sms->user_data)) { - LOGP(DDB, LOGL_ERROR, - "SMS TP-UD length %u is too big, truncating to %zu\n", - user_data_len, sizeof(sms->user_data)); - user_data_len = (uint8_t) sizeof(sms->user_data); - } - sms->user_data_len = user_data_len; - memcpy(sms->user_data, user_data, sms->user_data_len); + /* Parse TP-UD, TP-UDL and decoded text */ + parse_tp_ud_from_result(sms, result); - text = dbi_result_get_string(result, "text"); - if (text) - OSMO_STRLCPY_ARRAY(sms->text, text); return sms; } @@ -763,9 +765,7 @@ static struct gsm_sms *sms_from_result(struct gsm_network *net, dbi_result result) { struct gsm_sms *sms = sms_alloc(); - const char *text, *daddr, *saddr; - const unsigned char *user_data; - unsigned int user_data_len; + const char *daddr, *saddr; time_t validity_timestamp; if (!sms) @@ -802,21 +802,9 @@ if (saddr) OSMO_STRLCPY_ARRAY(sms->src.addr, saddr); - user_data_len = dbi_result_get_field_length(result, "user_data"); - user_data = dbi_result_get_binary(result, "user_data"); - if (user_data_len > sizeof(sms->user_data)) { - LOGP(DDB, LOGL_ERROR, - "SMS TP-UD length %u is too big, truncating to %zu\n", - user_data_len, sizeof(sms->user_data)); - user_data_len = (uint8_t) sizeof(sms->user_data); - } - sms->user_data_len = user_data_len; - if (user_data) - memcpy(sms->user_data, user_data, sms->user_data_len); + /* Parse TP-UD, TP-UDL and decoded text */ + parse_tp_ud_from_result(sms, result); - text = dbi_result_get_string(result, "text"); - if (text) - OSMO_STRLCPY_ARRAY(sms->text, text); return sms; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If67dfb9f7d2a55fa3d45dc4689a2acff9909faf6 Gerrit-Change-Number: 13488 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 19:45:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:45:20 +0000 Subject: Change in ...osmo-msc[master]: libmsc/db.c: warn user about SMS text truncation In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/13489 ) Change subject: libmsc/db.c: warn user about SMS text truncation ...................................................................... libmsc/db.c: warn user about SMS text truncation In general, neither TP-User-Data nor decoded text should be truncated. If the SMSC's database for some reason does contain such weird messages, let's at least let the user know about it. Change-Id: I75e852ebe44ba4784572cbffa029e13f0d3c430c --- M src/libmsc/db.c 1 file changed, 10 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/db.c b/src/libmsc/db.c index a12889b..705af61 100644 --- a/src/libmsc/db.c +++ b/src/libmsc/db.c @@ -229,6 +229,7 @@ { const unsigned char *user_data; unsigned int user_data_len; + unsigned int text_len; const char *text; /* Retrieve TP-UDL (User-Data-Length) in octets (regardless of DCS) */ @@ -247,6 +248,15 @@ memcpy(sms->user_data, user_data, user_data_len); } + /* Retrieve the text length (excluding '\0') */ + text_len = dbi_result_get_field_length(result, "text"); + if (text_len >= sizeof(sms->text)) { + LOGP(DDB, LOGL_ERROR, + "SMS text length %u is too big, truncating to %zu\n", + text_len, sizeof(sms->text) - 1); + /* OSMO_STRLCPY_ARRAY() does truncation for us */ + } + /* Retrieve the text parsed from TP-UD (User-Data) */ text = dbi_result_get_string(result, "text"); if (text) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I75e852ebe44ba4784572cbffa029e13f0d3c430c Gerrit-Change-Number: 13489 Gerrit-PatchSet: 8 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 19:45:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:45:32 +0000 Subject: Change in ...osmo-sgsn[master]: osmo-sgsn: add VTY parameter to toggle authentication In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14194 ) Change subject: osmo-sgsn: add VTY parameter to toggle authentication ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I9909145e7e0af587c28827e16301a61b13eedaa9 Gerrit-Change-Number: 14194 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 06 Jun 2019 19:45:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 19:45:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:45:34 +0000 Subject: Change in ...osmo-sgsn[master]: osmo-sgsn: add VTY parameter to toggle authentication In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14194 ) Change subject: osmo-sgsn: add VTY parameter to toggle authentication ...................................................................... osmo-sgsn: add VTY parameter to toggle authentication It may be useful to have 'remote' authorization policy, but do not require authentication in GERAN at the same time, e.g. in combination with 'subscriber-create-on-demand' feature of OsmoHLR. This change introduces a new VTY parameter similar to the one that we already have in OsmoMSC: authentication (optional|required) Please note that 'required' only applies if 'auth-policy' is 'remote'. Change-Id: I9909145e7e0af587c28827e16301a61b13eedaa9 --- M doc/examples/osmo-sgsn/osmo-sgsn-accept-all.cfg M doc/examples/osmo-sgsn/osmo-sgsn.cfg M doc/manuals/vty/sgsn_vty_reference.xml M src/gprs/sgsn_vty.c 4 files changed, 45 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/examples/osmo-sgsn/osmo-sgsn-accept-all.cfg b/doc/examples/osmo-sgsn/osmo-sgsn-accept-all.cfg index b47878a..85112f4 100644 --- a/doc/examples/osmo-sgsn/osmo-sgsn-accept-all.cfg +++ b/doc/examples/osmo-sgsn/osmo-sgsn-accept-all.cfg @@ -10,6 +10,7 @@ ggsn 0 remote-ip 127.0.0.2 ggsn 0 gtp-version 1 ggsn 0 echo-interval 60 + authentication optional auth-policy accept-all ! ns diff --git a/doc/examples/osmo-sgsn/osmo-sgsn.cfg b/doc/examples/osmo-sgsn/osmo-sgsn.cfg index 263bd00..3be4d49 100644 --- a/doc/examples/osmo-sgsn/osmo-sgsn.cfg +++ b/doc/examples/osmo-sgsn/osmo-sgsn.cfg @@ -10,6 +10,7 @@ ggsn 0 remote-ip 127.0.0.2 ggsn 0 gtp-version 1 ggsn 0 echo-interval 60 + authentication required auth-policy remote gsup remote-ip 127.0.0.1 gsup remote-port 4222 diff --git a/doc/manuals/vty/sgsn_vty_reference.xml b/doc/manuals/vty/sgsn_vty_reference.xml index 7619215..ed11777 100644 --- a/doc/manuals/vty/sgsn_vty_reference.xml +++ b/doc/manuals/vty/sgsn_vty_reference.xml @@ -2230,6 +2230,13 @@ + + + + + + + diff --git a/src/gprs/sgsn_vty.c b/src/gprs/sgsn_vty.c index 6389d92..29c9771 100644 --- a/src/gprs/sgsn_vty.c +++ b/src/gprs/sgsn_vty.c @@ -211,6 +211,8 @@ if (g_cfg->gsup_server_port) vty_out(vty, " gsup remote-port %d%s", g_cfg->gsup_server_port, VTY_NEWLINE); + vty_out(vty, " authentication %s%s", + g_cfg->require_authentication ? "required" : "optional", VTY_NEWLINE); vty_out(vty, " auth-policy %s%s", get_value_string(sgsn_auth_pol_strs, g_cfg->auth_policy), VTY_NEWLINE); @@ -693,6 +695,27 @@ return CMD_SUCCESS; } +DEFUN(cfg_authentication, cfg_authentication_cmd, + "authentication (optional|required)", + "Whether to enforce MS authentication in GERAN\n" + "Allow MS to attach via GERAN without authentication\n" + "Always require authentication\n") +{ + int required = (argv[0][0] == 'r'); + + if (vty->type != VTY_FILE) { + if (g_cfg->auth_policy != SGSN_AUTH_POLICY_REMOTE && required) { + vty_out(vty, "%% Authentication is not possible without HLR, " + "consider setting 'auth-policy' to 'remote'%s", + VTY_NEWLINE); + return CMD_WARNING; + } + } + + g_cfg->require_authentication = required; + return CMD_SUCCESS; +} + DEFUN(cfg_auth_policy, cfg_auth_policy_cmd, "auth-policy (accept-all|closed|acl-only|remote)", "Configure the Authorization policy of the SGSN. This setting determines which subscribers are" @@ -705,9 +728,12 @@ int val = get_string_value(sgsn_auth_pol_strs, argv[0]); OSMO_ASSERT(val >= SGSN_AUTH_POLICY_OPEN && val <= SGSN_AUTH_POLICY_REMOTE); g_cfg->auth_policy = val; - g_cfg->require_authentication = (val == SGSN_AUTH_POLICY_REMOTE); g_cfg->require_update_location = (val == SGSN_AUTH_POLICY_REMOTE); + /* Authentication is not possible without HLR */ + if (val != SGSN_AUTH_POLICY_REMOTE) + g_cfg->require_authentication = 0; + return CMD_SUCCESS; } @@ -1391,6 +1417,7 @@ install_element(SGSN_NODE, &cfg_ggsn_no_echo_interval_cmd); install_element(SGSN_NODE, &cfg_imsi_acl_cmd); install_element(SGSN_NODE, &cfg_auth_policy_cmd); + install_element(SGSN_NODE, &cfg_authentication_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); @@ -1462,6 +1489,14 @@ return rc; } + if (g_cfg->auth_policy != SGSN_AUTH_POLICY_REMOTE + && g_cfg->require_authentication) { + fprintf(stderr, "Configuration error:" + " authentication is not possible without HLR." + " Consider setting 'auth-policy' to 'remote'\n"); + return -EINVAL; + } + if (g_cfg->auth_policy == SGSN_AUTH_POLICY_REMOTE && !(g_cfg->gsup_server_addr.sin_addr.s_addr && g_cfg->gsup_server_port)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I9909145e7e0af587c28827e16301a61b13eedaa9 Gerrit-Change-Number: 14194 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria 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 Thu Jun 6 19:46:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:46:20 +0000 Subject: Change in ...osmo-bsc[master]: vty: adjust config name for unit-id In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14365 ) Change subject: vty: adjust config name for unit-id ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ide5ceb5db7403a70313405752579e30d7bb94eac Gerrit-Change-Number: 14365 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 06 Jun 2019 19:46: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 6 19:46:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 6 Jun 2019 19:46:21 +0000 Subject: Change in ...osmo-bsc[master]: vty: adjust config name for unit-id In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14365 ) Change subject: vty: adjust config name for unit-id ...................................................................... vty: adjust config name for unit-id Having different names for the same config setting is misleading, so let's stick to the one used by osmo-bts. Change-Id: Ide5ceb5db7403a70313405752579e30d7bb94eac --- M doc/examples/osmo-bsc/osmo-bsc-minimal.cfg M doc/examples/osmo-bsc/osmo-bsc.cfg M doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg M doc/manuals/chapters/bts-examples.adoc M doc/manuals/vty/bsc_vty_reference.xml M doc/manuals/vty/libbsc_vty_additions.xml M src/osmo-bsc/bsc_vty.c 7 files changed, 47 insertions(+), 22 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg b/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg index 850e29c..f2597b8 100644 --- a/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg +++ b/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg @@ -5,7 +5,7 @@ type sysmobts band GSM-1800 location_area_code 23 - ip.access unit_id 1800 0 + ipa unit-id 1800 0 trx 0 rf_locked 0 arfcn 868 diff --git a/doc/examples/osmo-bsc/osmo-bsc.cfg b/doc/examples/osmo-bsc/osmo-bsc.cfg index eec154d..926951b 100644 --- a/doc/examples/osmo-bsc/osmo-bsc.cfg +++ b/doc/examples/osmo-bsc/osmo-bsc.cfg @@ -36,8 +36,8 @@ channel-descrption bs-pa-mfrms 5 channel-descrption bs-ag-blks-res 1 early-classmark-sending forbidden - ip.access unit_id 0 0 - oml ip.access stream_id 255 line 0 + ipa unit-id 0 0 + oml ipa stream-id 255 line 0 codec-support fr gprs mode none trx 0 diff --git a/doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg b/doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg index fd3a349..80a38ba 100644 --- a/doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg +++ b/doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg @@ -35,8 +35,8 @@ channel-descrption bs-pa-mfrms 5 channel-descrption bs-ag-blks-res 1 early-classmark-sending forbidden - ip.access unit_id 0 0 - oml ip.access stream_id 255 line 0 + ipa unit-id 0 0 + oml ipa stream-id 255 line 0 codec-support fr gprs mode none trx 0 diff --git a/doc/manuals/chapters/bts-examples.adoc b/doc/manuals/chapters/bts-examples.adoc index 2dd8b37..58cb3ab 100644 --- a/doc/manuals/chapters/bts-examples.adoc +++ b/doc/manuals/chapters/bts-examples.adoc @@ -35,8 +35,8 @@ channel allocator ascending rach tx integer 9 rach max transmission 7 - ip.access unit_id 1801 0 <4> - oml ip.access stream_id 255 line 0 + ipa unit-id 1801 0 <4> + oml ipa stream-id 255 line 0 gprs mode none trx 0 rf_locked 0 @@ -113,8 +113,8 @@ channel allocator ascending rach tx integer 9 rach max transmission 7 - ip.access unit_id 1800 0 <1> - oml ip.access stream_id 255 line 0 + ipa unit-id 1800 0 <1> + oml ipa stream-id 255 line 0 gprs mode none trx 0 rf_locked 0 diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index 9992267..4d25e69 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -2884,7 +2884,7 @@ - + @@ -2892,7 +2892,7 @@ - + @@ -2922,7 +2922,7 @@ - + diff --git a/doc/manuals/vty/libbsc_vty_additions.xml b/doc/manuals/vty/libbsc_vty_additions.xml index 8685398..cf61961 100644 --- a/doc/manuals/vty/libbsc_vty_additions.xml +++ b/doc/manuals/vty/libbsc_vty_additions.xml @@ -11,7 +11,7 @@ BTS Configuration This is the configuration of a single BTS. - + Set the IPA stream identifier for the OML link within the IPA multiplex. Must be the same as on the BTS side. The default @@ -40,7 +40,7 @@ shall be used by MS in this cell. The default should be enabled. - + Configure the IP address of the BSC used for RSL. Abis/IP BTSs, including OsmoBTS and the nanoBTS will be instructed to @@ -96,7 +96,7 @@ re-selection. - + The ip.access unit ID is a parameter of the IPA Signalling-over-IP multiplex. It is administratively diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 111c910..c4e091c 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -897,15 +897,15 @@ switch (bts->type) { case GSM_BTS_TYPE_NANOBTS: case GSM_BTS_TYPE_OSMOBTS: - vty_out(vty, " ip.access unit_id %u %u%s", + vty_out(vty, " ipa unit-id %u %u%s", bts->ip_access.site_id, bts->ip_access.bts_id, VTY_NEWLINE); if (bts->ip_access.rsl_ip) { struct in_addr ia; ia.s_addr = htonl(bts->ip_access.rsl_ip); - vty_out(vty, " ip.access rsl-ip %s%s", inet_ntoa(ia), + vty_out(vty, " ipa rsl-ip %s%s", inet_ntoa(ia), VTY_NEWLINE); } - vty_out(vty, " oml ip.access stream_id %u line %u%s", + vty_out(vty, " oml ipa stream-id %u line %u%s", bts->oml_tei, bts->oml_e1_link.e1_nr, VTY_NEWLINE); break; case GSM_BTS_TYPE_NOKIA_SITE: @@ -2180,7 +2180,7 @@ DEFUN(cfg_bts_unit_id, cfg_bts_unit_id_cmd, - "ip.access unit_id <0-65534> <0-255>", + "ipa unit-id <0-65534> <0-255>", "Abis/IP specific options\n" "Set the IPA BTS Unit ID\n" "Unit ID (Site)\n" @@ -2201,9 +2201,17 @@ return CMD_SUCCESS; } +DEFUN_DEPRECATED(cfg_bts_unit_id, + cfg_bts_deprecated_unit_id_cmd, + "ip.access unit_id <0-65534> <0-255>", + "Abis/IP specific options\n" + "Set the IPA BTS Unit ID\n" + "Unit ID (Site)\n" + "Unit ID (BTS)\n"); + DEFUN(cfg_bts_rsl_ip, cfg_bts_rsl_ip_cmd, - "ip.access rsl-ip A.B.C.D", + "ipa rsl-ip A.B.C.D", "Abis/IP specific options\n" "Set the IPA RSL IP Address of the BSC\n" "Destination IP address for RSL connection\n") @@ -2222,6 +2230,13 @@ return CMD_SUCCESS; } +DEFUN_DEPRECATED(cfg_bts_rsl_ip, + cfg_bts_deprecated_rsl_ip_cmd, + "ip.access rsl-ip A.B.C.D", + "Abis/IP specific options\n" + "Set the IPA RSL IP Address of the BSC\n" + "Destination IP address for RSL connection\n"); + #define NOKIA_STR "Nokia *Site related commands\n" DEFUN(cfg_bts_nokia_site_skip_reset, @@ -2287,9 +2302,9 @@ DEFUN(cfg_bts_stream_id, cfg_bts_stream_id_cmd, - "oml ip.access stream_id <0-255> line E1_LINE", + "oml ipa stream-id <0-255> line E1_LINE", OML_STR IPA_STR - "Set the ip.access Stream ID of the OML link of this BTS\n" + "Set the ipa Stream ID of the OML link of this BTS\n" "Stream Identifier\n" "Virtual E1 Line Number\n" "Virtual E1 Line Number\n") { struct gsm_bts *bts = vty->index; @@ -2307,6 +2322,13 @@ return CMD_SUCCESS; } +DEFUN_DEPRECATED(cfg_bts_stream_id, + cfg_bts_deprecated_stream_id_cmd, + "oml ip.access stream_id <0-255> line E1_LINE", + OML_STR IPA_STR + "Set the ip.access Stream ID of the OML link of this BTS\n" + "Stream Identifier\n" "Virtual E1 Line Number\n" "Virtual E1 Line Number\n"); + #define OML_E1_STR OML_STR "OML E1/T1 Configuration\n" DEFUN(cfg_bts_oml_e1, @@ -5237,11 +5259,14 @@ install_element(BTS_NODE, &cfg_bts_tsc_cmd); install_element(BTS_NODE, &cfg_bts_bsic_cmd); install_element(BTS_NODE, &cfg_bts_unit_id_cmd); + install_element(BTS_NODE, &cfg_bts_deprecated_unit_id_cmd); install_element(BTS_NODE, &cfg_bts_rsl_ip_cmd); + install_element(BTS_NODE, &cfg_bts_deprecated_rsl_ip_cmd); install_element(BTS_NODE, &cfg_bts_nokia_site_skip_reset_cmd); install_element(BTS_NODE, &cfg_bts_nokia_site_no_loc_rel_cnf_cmd); install_element(BTS_NODE, &cfg_bts_nokia_site_bts_reset_timer_cnf_cmd); install_element(BTS_NODE, &cfg_bts_stream_id_cmd); + install_element(BTS_NODE, &cfg_bts_deprecated_stream_id_cmd); install_element(BTS_NODE, &cfg_bts_oml_e1_cmd); install_element(BTS_NODE, &cfg_bts_oml_e1_tei_cmd); install_element(BTS_NODE, &cfg_bts_challoc_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ide5ceb5db7403a70313405752579e30d7bb94eac Gerrit-Change-Number: 14365 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 20:30:23 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 6 Jun 2019 20:30:23 +0000 Subject: Change in ...osmo-sgsn[master]: osmo-sgsn: get rid of OSMO_ASSERT() in 'auth-policy' handler In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14195 ) Change subject: osmo-sgsn: get rid of OSMO_ASSERT() in 'auth-policy' handler ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If9b0c0d031477ca87786aab5c269d00748e896c8 Gerrit-Change-Number: 14195 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 06 Jun 2019 20:30:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 23:07:17 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 6 Jun 2019 23:07:17 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: pcu_rr_suspendL clean up and release the channel Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14396 Change subject: BTS: pcu_rr_suspendL clean up and release the channel ...................................................................... BTS: pcu_rr_suspendL clean up and release the channel The testcase failed becaues of an unexpected RSL Error Indication from the LAPDm system which was in the RSL emulation queue when tearing down the test environment. By calling f_rsl_chan_deact() the queue gets flushed until the RSL deactivate channel is received. It's also more clean to release the channel. Fixes: OS#4051 Change-Id: I55827626803ca81b68f905fd0df3126367951f39 --- M bts/BTS_Tests.ttcn 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/96/14396/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 9371612..3244b48 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -3999,6 +3999,11 @@ setverdict(fail, "Timeout waiting for SUSP REQ on PCUIF"); } } + + /* release the channel */ + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + f_rslem_unregister(0, g_chan_nr); } testcase TC_pcu_rr_suspend() runs on test_CT { var ConnHdlrPars pars; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I55827626803ca81b68f905fd0df3126367951f39 Gerrit-Change-Number: 14396 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 6 23:36:11 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 6 Jun 2019 23:36:11 +0000 Subject: Change in ...osmo-pcu[master]: gprs_bssgp_pcu: explicit allocate & initialize bssgp_nsi instance In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/14171 to look at the new patch set (#2). Change subject: gprs_bssgp_pcu: explicit allocate & initialize bssgp_nsi instance ...................................................................... gprs_bssgp_pcu: explicit allocate & initialize bssgp_nsi instance The instance bssgp_nsi is a global instance to be used by all NS related functions. Previous the PCU allocated and initialized the bssgp_nsi instance when (re-)connecting and freeing on disconnect. The problem of the implicit initialisation is gprs_ns_vty_init(bssgp_nsi). All vty init functions must be called before the configuration is read, otherwise a previous vty written configuration is invalid. Furthermore the vty modifications to the `ns` object were lost when the PCU has to reconnect to the SGSN. Fixes: OS#4024 Change-Id: I2aa53ea54e9352577f6280ad7b9d1d9da9f57eaf --- M src/gprs_bssgp_pcu.cpp M src/pcu_main.cpp M tests/emu/pcu_emu.cpp M tests/tbf/TbfTest.cpp 4 files changed, 49 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/71/14171/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2aa53ea54e9352577f6280ad7b9d1d9da9f57eaf Gerrit-Change-Number: 14171 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 23:43:17 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 6 Jun 2019 23:43:17 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: SGSN_Tests: f_detach_mo(): fail when receiving any unhandled layer 3 ... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13989 to look at the new patch set (#2). Change subject: SGSN_Tests: f_detach_mo(): fail when receiving any unhandled layer 3 message for normal detach ...................................................................... SGSN_Tests: f_detach_mo(): fail when receiving any unhandled layer 3 message for normal detach Merge the case with the fail when doing a power-off detach. Change-Id: I957994376583959758417dccf419a55c43a0c61b --- M sgsn/SGSN_Tests.ttcn 1 file changed, 8 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/89/13989/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13989 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I957994376583959758417dccf419a55c43a0c61b Gerrit-Change-Number: 13989 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus 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 6 23:46:30 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 6 Jun 2019 23:46:30 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: pcu_rr_suspend clean up and release the channel In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, Hoernchen, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14396 to look at the new patch set (#2). Change subject: BTS: pcu_rr_suspend clean up and release the channel ...................................................................... BTS: pcu_rr_suspend clean up and release the channel The testcase failed becaues of an unexpected RSL Error Indication from the LAPDm system which was in the RSL emulation queue when tearing down the test environment. By calling f_rsl_chan_deact() the queue gets flushed until the RSL deactivate channel is received. It's also more clean to release the channel. Fixes: OS#4051 Change-Id: I55827626803ca81b68f905fd0df3126367951f39 --- M bts/BTS_Tests.ttcn 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/96/14396/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I55827626803ca81b68f905fd0df3126367951f39 Gerrit-Change-Number: 14396 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 6 23:48:18 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 6 Jun 2019 23:48:18 +0000 Subject: Change in ...osmo-pcu[master]: EDGE: fix wrong encoding of LH bits In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/3991 ) Change subject: EDGE: fix wrong encoding of LH bits ...................................................................... Patch Set 3: I would suggest to abandon this change. The code in osmo-pcu has been refactored while doing it, it should be correct now. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/3991 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I75dd5bebc74eea85edf9582607c774d0bba0d2a6 Gerrit-Change-Number: 3991 Gerrit-PatchSet: 3 Gerrit-Owner: Minh-Quang Nguyen Gerrit-Assignee: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: Minh-Quang Nguyen Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: laforge Gerrit-CC: lynxis lazus Gerrit-Comment-Date: Thu, 06 Jun 2019 23:48:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 7 00:04:06 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 7 Jun 2019 00:04:06 +0000 Subject: Change in ...osmo-pcu[master]: gprs_bssgp_pcu: explicit allocate & initialize bssgp_nsi instance In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14171 ) Change subject: gprs_bssgp_pcu: explicit allocate & initialize bssgp_nsi instance ...................................................................... Patch Set 2: -Code-Review (1 comment) https://gerrit.osmocom.org/#/c/14171/1/src/gprs_bssgp_pcu.cpp File src/gprs_bssgp_pcu.cpp: https://gerrit.osmocom.org/#/c/14171/1/src/gprs_bssgp_pcu.cpp at 878 PS1, Line 878: OSMO_ASSERT(bssgp_nsi); > I'll drop this assert, as all calls should be guaranteed with an bssgp_nsi Done -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2aa53ea54e9352577f6280ad7b9d1d9da9f57eaf Gerrit-Change-Number: 14171 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Fri, 07 Jun 2019 00:04:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: lynxis lazus Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 7 00:32:31 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 Jun 2019 00:32:31 +0000 Subject: Change in ...osmo-pcu[master]: gprs_bssgp_pcu: explicit allocate & initialize bssgp_nsi instance In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14171 ) Change subject: gprs_bssgp_pcu: explicit allocate & initialize bssgp_nsi instance ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2aa53ea54e9352577f6280ad7b9d1d9da9f57eaf Gerrit-Change-Number: 14171 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Fri, 07 Jun 2019 00:32: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 7 00:43:48 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 Jun 2019 00:43:48 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: pcu_rr_suspend clean up and release the channel In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14396 ) Change subject: BTS: pcu_rr_suspend clean up and release the channel ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I55827626803ca81b68f905fd0df3126367951f39 Gerrit-Change-Number: 14396 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Fri, 07 Jun 2019 00:43:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 7 01:05:46 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 Jun 2019 01:05:46 +0000 Subject: Change in ...osmo-msc[master]: libmsc/db.c: get rid of hard-coded SMS expiry threshold In-Reply-To: References: Message-ID: Hello Stefan Sperling, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/13631 to look at the new patch set (#7). Change subject: libmsc/db.c: get rid of hard-coded SMS expiry threshold ...................................................................... libmsc/db.c: get rid of hard-coded SMS expiry threshold The initial idea of the SMS expiry threshold was to avoid storing SMS messages with too long validity time (e.g. 63 weeks). Unfortunately, neither this feature was properly documented, nor the expiry threshold is configurable. Moreover, it has been implemented in a wrong way, so instead of deleting the oldest expired message, it would delete the youngest one or nothing: SELECT ... FROM SMS ORDER BY created LIMIT 1; while it should be sorted by 'valid_until' in ascending order: SELECT .. FROM SMS ORDER BY valid_until LIMIT 1; Thus, if the oldest message is expired, it gets deleted. If the oldest message is not expired yet, there is nothing to delete. Change-Id: I0ce6b1ab50986dc69a2be4ea62b6a24c7f3f8f0a --- M src/libmsc/db.c M tests/db_sms/db_sms_test.ok 2 files changed, 12 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/31/13631/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/13631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0ce6b1ab50986dc69a2be4ea62b6a24c7f3f8f0a Gerrit-Change-Number: 13631 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Stefan Sperling Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Jun 7 02:45:02 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 07 Jun 2019 02:45:02 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5cf9cfb5dfd0_348bd8a5f4301091@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 805s] -Returned: 0, Current node: 1 '%s> ' [ 805s] -Going to execute 'ambiguous_str' [ 805s] -Called: 'ambiguous_str [ARG]' (argc=0) [ 805s] -Returned: 0, Current node: 1 '%s> ' [ 805s] -Going to execute 'ambiguous_str arg' [ 805s] -Called: 'ambiguous_str [ARG]' (argc=1) [ 805s] -Returned: 0, Current node: 1 '%s> ' [ 805s] -Going to execute 'ambiguous_str arg keyword' [ 805s] -Called: 'ambiguous_str ARG keyword' [ 805s] -Returned: 0, Current node: 1 '%s> ' [ 805s] -All tests passed [ 805s] ./testsuite.at:196: exit code was 139, expected 0 [ 805s] 31. testsuite.at:192: 31. vty (testsuite.at:192): FAILED (testsuite.at:196) [ 805s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 805s] make[1]: *** [override_dh_auto_test] Error 1 [ 805s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 805s] debian/rules:15: recipe for target 'build' failed [ 805s] make: *** [build] Error 2 [ 805s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 805s] [ 805s] obs-arm-6 failed "build libosmocore_1.1.0.49.8c9b.dsc" at Fri Jun 7 02:44:53 UTC 2019. [ 805s] [ 805s] ### VM INTERACTION START ### [ 808s] [ 772.672380] sysrq: SysRq : Power Off [ 808s] [ 772.701478] reboot: Power down [ 808s] ### VM INTERACTION END ### [ 808s] [ 808s] obs-arm-6 failed "build libosmocore_1.1.0.49.8c9b.dsc" at Fri Jun 7 02:44:57 UTC 2019. [ 808s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Jun 7 07:28:24 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 7 Jun 2019 07:28:24 +0000 Subject: Change in ...libosmocore[master]: gsm48_decode_bcd_number2: fix -ENOSPEC edge case Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14397 Change subject: gsm48_decode_bcd_number2: fix -ENOSPEC edge case ...................................................................... gsm48_decode_bcd_number2: fix -ENOSPEC edge case Return -ENOSPEC if the decoding buffer is one byte to small, instead of returning 0 and silently truncating the string. Add a new "truncated" variable to detect if the loop breaks in the final iteration. The string is not truncated if there is exactly one 0xf ('\0') higher nibble remaining. This is covered by the existing test case "long 15-digit (maximum) MSISDN, limited buffer". Related: OS#4049 Change-Id: Ie05900aca50cc7fe8a45d17844dbfcd905fd82fe --- M src/gsm/gsm48_ie.c M tests/gsm0408/gsm0408_test.c M tests/gsm0408/gsm0408_test.ok 3 files changed, 28 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/97/14397/1 diff --git a/src/gsm/gsm48_ie.c b/src/gsm/gsm48_ie.c index 59f931b..31028ba 100644 --- a/src/gsm/gsm48_ie.c +++ b/src/gsm/gsm48_ie.c @@ -82,6 +82,7 @@ { uint8_t in_len; int i; + bool truncated = false; if (output_len < 1) return -ENOSPC; *output = '\0'; @@ -94,14 +95,23 @@ for (i = 1 + h_len; i <= in_len; i++) { /* lower nibble */ - if (output_len <= 1) + if (output_len <= 1) { + truncated = true; break; + } *output++ = bcd_num_digits[bcd_lv[i] & 0xf]; output_len--; /* higher nibble */ - if (output_len <= 1) + if (output_len <= 1) { + /* not truncated if there is exactly one 0xf ('\0') higher nibble remaining */ + if (i == in_len && (bcd_lv[i] & 0xf0) == 0xf0) { + break; + } + + truncated = true; break; + } *output++ = bcd_num_digits[bcd_lv[i] >> 4]; output_len--; } @@ -109,7 +119,7 @@ *output++ = '\0'; /* Indicate whether the output was truncated */ - if (i < in_len) + if (truncated) return -ENOSPC; return 0; diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c index b5f8061..e9c61d6 100644 --- a/tests/gsm0408/gsm0408_test.c +++ b/tests/gsm0408/gsm0408_test.c @@ -727,6 +727,17 @@ .dec_ascii = "(none)", .dec_rc = -EIO, }, + { + .test_name = "dec_buf_lim == strlen(dec_ascii) (OS#4049)", + + /* Decoding test */ + .dec_hex = "022143", + .dec_ascii = "123", + .dec_rc = -ENOSPC, + + /* Buffer length limitations */ + .dec_buf_lim = 4 + } }; static void test_bcd_number_encode_decode() diff --git a/tests/gsm0408/gsm0408_test.ok b/tests/gsm0408/gsm0408_test.ok index 844c201..d91018a 100644 --- a/tests/gsm0408/gsm0408_test.ok +++ b/tests/gsm0408/gsm0408_test.ok @@ -186,6 +186,10 @@ - Decoding HEX (buffer limit=0) ''... - Expected: (rc=-5) '(none)' - Actual: (rc=-5) '(none)' +- Running test: dec_buf_lim == strlen(dec_ascii) (OS#4049) + - Decoding HEX (buffer limit=4) '022143'... + - Expected: (rc=-28) '123' + - Actual: (rc=-28) '123' Constructed RA: 077-121-666-5 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie05900aca50cc7fe8a45d17844dbfcd905fd82fe Gerrit-Change-Number: 14397 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 7 07:34:15 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 7 Jun 2019 07:34:15 +0000 Subject: Change in ...libosmocore[master]: gsm48_decode_bcd_number2: fix ENOSPC edge case In-Reply-To: References: Message-ID: Hello fixeria, pespin, daniel, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/14397 to look at the new patch set (#2). Change subject: gsm48_decode_bcd_number2: fix ENOSPC edge case ...................................................................... gsm48_decode_bcd_number2: fix ENOSPC edge case Return ENOSPC if the decoding buffer is one byte to small, instead of returning 0 and silently truncating the string. Add a new "truncated" variable to detect if the loop breaks in the final iteration. The string is not truncated if there is exactly one 0xf ('\0') higher nibble remaining. This is covered by the existing test case "long 15-digit (maximum) MSISDN, limited buffer". Related: OS#4049 Change-Id: Ie05900aca50cc7fe8a45d17844dbfcd905fd82fe --- M src/gsm/gsm48_ie.c M tests/gsm0408/gsm0408_test.c M tests/gsm0408/gsm0408_test.ok 3 files changed, 28 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/97/14397/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie05900aca50cc7fe8a45d17844dbfcd905fd82fe Gerrit-Change-Number: 14397 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 7 08:31:50 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 Jun 2019 08:31:50 +0000 Subject: Change in ...libosmocore[master]: gsm48_decode_bcd_number2: fix ENOSPC edge case In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14397 ) Change subject: gsm48_decode_bcd_number2: fix ENOSPC edge case ...................................................................... Patch Set 2: Code-Review-1 (3 comments) https://gerrit.osmocom.org/#/c/14397/2/tests/gsm0408/gsm0408_test.c File tests/gsm0408/gsm0408_test.c: https://gerrit.osmocom.org/#/c/14397/2/tests/gsm0408/gsm0408_test.c at 739 PS2, Line 739: .dec_buf_lim = 4 Also, the actual strlen(dec_ascii) is 3. There is no truncation with 4. Exactly 3 reproduces the problem: the number is truncated to "12", while rc is 0. https://gerrit.osmocom.org/#/c/14397/2/tests/gsm0408/gsm0408_test.c at 739 PS2, Line 739: .dec_buf_lim = 4 comma is missing https://gerrit.osmocom.org/#/c/14397/2/tests/gsm0408/gsm0408_test.c at 740 PS2, Line 740: } comma is missing -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie05900aca50cc7fe8a45d17844dbfcd905fd82fe Gerrit-Change-Number: 14397 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 Jun 2019 08:31:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 7 08:33:34 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 Jun 2019 08:33:34 +0000 Subject: Change in ...libosmocore[master]: gsm48_decode_bcd_number2: fix ENOSPC edge case In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14397 ) Change subject: gsm48_decode_bcd_number2: fix ENOSPC edge case ...................................................................... Patch Set 2: I recommend to extend the unit test first, so you could show the problem in the expected output, and then the fix in a separate change. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie05900aca50cc7fe8a45d17844dbfcd905fd82fe Gerrit-Change-Number: 14397 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 Jun 2019 08:33: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 Fri Jun 7 08:58:39 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 7 Jun 2019 08:58:39 +0000 Subject: Change in ...libosmocore[master]: gsm48_decode_bcd_number2: fix ENOSPC edge case In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14397 ) Change subject: gsm48_decode_bcd_number2: fix ENOSPC edge case ...................................................................... Patch Set 2: (3 comments) > I recommend to extend the unit test first, so you could show the problem in the expected output, and then the fix in a separate change. Okay. Patch set 3 will only contain the added test case, showing that the actual output (0) differs from the expected output (-ENOSPC). Patch set 4 will contain both the test case and the fix. https://gerrit.osmocom.org/#/c/14397/2/tests/gsm0408/gsm0408_test.c File tests/gsm0408/gsm0408_test.c: https://gerrit.osmocom.org/#/c/14397/2/tests/gsm0408/gsm0408_test.c at 739 PS2, Line 739: .dec_buf_lim = 4 > Also, the actual strlen(dec_ascii) is 3. There is no truncation with 4. [?] The input for the decoder is 022143, which is "1234". dec_ascii contains "123\0" after the decoding function ran, because dec_buf_lim is 4. But I understand what you mean, the title of the test is wrong, I'll fix it in an update. https://gerrit.osmocom.org/#/c/14397/2/tests/gsm0408/gsm0408_test.c at 739 PS2, Line 739: .dec_buf_lim = 4 > comma is missing Done https://gerrit.osmocom.org/#/c/14397/2/tests/gsm0408/gsm0408_test.c at 740 PS2, Line 740: } > comma is missing Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie05900aca50cc7fe8a45d17844dbfcd905fd82fe Gerrit-Change-Number: 14397 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 Jun 2019 08:58:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 7 08:59:25 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 7 Jun 2019 08:59:25 +0000 Subject: Change in ...libosmocore[master]: gsm48_decode_bcd_number2: fix ENOSPC edge case In-Reply-To: References: Message-ID: Hello fixeria, pespin, daniel, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/14397 to look at the new patch set (#3). Change subject: gsm48_decode_bcd_number2: fix ENOSPC edge case ...................................................................... gsm48_decode_bcd_number2: fix ENOSPC edge case Return ENOSPC if the decoding buffer is one byte to small, instead of returning 0 and silently truncating the string. Add a new "truncated" variable to detect if the loop breaks in the final iteration. The string is not truncated if there is exactly one 0xf ('\0') higher nibble remaining. This is covered by the existing test case "long 15-digit (maximum) MSISDN, limited buffer". (This commit has just the new test, without the fix, to prove that 0 is returned instead of -ENOSPC.) Related: OS#4049 Change-Id: Ie05900aca50cc7fe8a45d17844dbfcd905fd82fe --- M tests/gsm0408/gsm0408_test.c M tests/gsm0408/gsm0408_test.ok 2 files changed, 15 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/97/14397/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie05900aca50cc7fe8a45d17844dbfcd905fd82fe Gerrit-Change-Number: 14397 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 7 09:03:46 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 7 Jun 2019 09:03:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: pcu_rr_suspend clean up and release the channel In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14396 ) Change subject: BTS: pcu_rr_suspend clean up and release the channel ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I55827626803ca81b68f905fd0df3126367951f39 Gerrit-Change-Number: 14396 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Fri, 07 Jun 2019 09:03: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 7 09:03:56 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 7 Jun 2019 09:03:56 +0000 Subject: Change in ...libosmocore[master]: gsm48_decode_bcd_number2: fix ENOSPC edge case In-Reply-To: References: Message-ID: Hello fixeria, pespin, daniel, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/14397 to look at the new patch set (#4). Change subject: gsm48_decode_bcd_number2: fix ENOSPC edge case ...................................................................... gsm48_decode_bcd_number2: fix ENOSPC edge case Return ENOSPC if the decoding buffer is one byte too small, instead of returning 0 and silently truncating the string. Add a new "truncated" variable to detect if the loop breaks in the final iteration. The string is not truncated if there is exactly one 0xf ('\0') higher nibble remaining. This is covered by the existing test case "long 15-digit (maximum) MSISDN, limited buffer". Related: OS#4049 Change-Id: Ie05900aca50cc7fe8a45d17844dbfcd905fd82fe --- M src/gsm/gsm48_ie.c M tests/gsm0408/gsm0408_test.c M tests/gsm0408/gsm0408_test.ok 3 files changed, 28 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/97/14397/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie05900aca50cc7fe8a45d17844dbfcd905fd82fe Gerrit-Change-Number: 14397 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 7 09:51:53 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 Jun 2019 09:51:53 +0000 Subject: Change in ...libosmocore[master]: gsm48_decode_bcd_number2: fix ENOSPC edge case In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14397 ) Change subject: gsm48_decode_bcd_number2: fix ENOSPC edge case ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie05900aca50cc7fe8a45d17844dbfcd905fd82fe Gerrit-Change-Number: 14397 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 Jun 2019 09:51: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 7 11:25:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 7 Jun 2019 11:25:26 +0000 Subject: Change in ...osmo-bts[master]: gsm_data_shared.h: Remove unused loc_list from struct gsm_bts Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14398 Change subject: gsm_data_shared.h: Remove unused loc_list from struct gsm_bts ...................................................................... gsm_data_shared.h: Remove unused loc_list from struct gsm_bts Change-Id: I52880962dfb0399c613048aa7ddfd828d3c6c933 --- M include/osmo-bts/gsm_data_shared.h 1 file changed, 0 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/98/14398/1 diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index 90772e2..031f05a 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -557,9 +557,6 @@ /* list header in net->bts_list */ struct llist_head list; - /* Geographical location of the BTS */ - struct llist_head loc_list; - /* number of ths BTS in network */ uint8_t nr; /* human readable name / description */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I52880962dfb0399c613048aa7ddfd828d3c6c933 Gerrit-Change-Number: 14398 Gerrit-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 7 12:17:20 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 7 Jun 2019 12:17:20 +0000 Subject: Change in ...osmo-hlr[master]: rx_check_imei_req(): fix IMEI bounds checking Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14399 Change subject: rx_check_imei_req(): fix IMEI bounds checking ...................................................................... rx_check_imei_req(): fix IMEI bounds checking IMEIs (without the checksum) always have 14 digits. Replace the previous check (length <= 14) with a proper one (length == 14) and set the buffer to the right size. I have tested with new TTCN3 tests, that the length check is working properly now. Related: OS#2541 Change-Id: I060a8db98fb882e4815d1709a5d85bc0143a73a6 --- M src/hlr.c 1 file changed, 8 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/99/14399/1 diff --git a/src/hlr.c b/src/hlr.c index 33d2828..32a584e 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -477,18 +477,19 @@ { struct osmo_gsup_message gsup_reply = {0}; struct msgb *msg_out; - char imei[GSM23003_IMEI_NUM_DIGITS+1] = {0}; + char imei[GSM23003_IMEI_NUM_DIGITS_NO_CHK+1] = {0}; - /* Encoded IMEI length check */ - if (!gsup->imei_enc || gsup->imei_enc_len < 1 || gsup->imei_enc[0] >= sizeof(imei)) { - LOGP(DMAIN, LOGL_ERROR, "%s: wrong encoded IMEI length\n", gsup->imsi); + /* Decode IMEI (fails if IMEI is too long) */ + if (gsm48_decode_bcd_number2(imei, sizeof(imei), gsup->imei_enc, gsup->imei_enc_len, 0) < 0) { + LOGP(DMAIN, LOGL_ERROR, "%s: failed to decode IMEI\n", gsup->imsi); gsup_send_err_reply(conn, gsup->imsi, gsup->message_type, GMM_CAUSE_INV_MAND_INFO); return -1; } - /* Decode IMEI */ - if (gsm48_decode_bcd_number2(imei, sizeof(imei), gsup->imei_enc, gsup->imei_enc_len, 0) < 0) { - LOGP(DMAIN, LOGL_ERROR, "%s: failed to decode IMEI\n", gsup->imsi); + /* Check if IMEI is too short */ + if (strlen(imei) != GSM23003_IMEI_NUM_DIGITS_NO_CHK) { + LOGP(DMAIN, LOGL_ERROR, "%s: wrong encoded IMEI length (IMEI: '%s', %lu, %i)\n", gsup->imsi, imei, + strlen(imei), GSM23003_IMEI_NUM_DIGITS_NO_CHK); gsup_send_err_reply(conn, gsup->imsi, gsup->message_type, GMM_CAUSE_INV_MAND_INFO); return -1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I060a8db98fb882e4815d1709a5d85bc0143a73a6 Gerrit-Change-Number: 14399 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 7 12:34:32 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 7 Jun 2019 12:34:32 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add osmo-hlr.cfg Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14400 Change subject: hlr: add osmo-hlr.cfg ...................................................................... hlr: add osmo-hlr.cfg Copy osmo-hlr.cfg from docker-playground.git, but replace all IPs with 127.0.0.1. Change-Id: I73f673523dab8765ca87851175fafdec9fc20e1b --- A hlr/osmo-hlr.cfg 1 file changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/00/14400/1 diff --git a/hlr/osmo-hlr.cfg b/hlr/osmo-hlr.cfg new file mode 100644 index 0000000..a17881e --- /dev/null +++ b/hlr/osmo-hlr.cfg @@ -0,0 +1,23 @@ +! +! OsmoHLR example configuration +! +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 1 + logging print extended-timestamp 1 + logging level all debug + logging level linp error +! +line vty + bind 127.0.0.1 +ctrl + bind 127.0.0.1 +hlr + gsup + bind ip 127.0.0.1 + euse foobar + ussd route prefix *#100 internal own-msisdn + ussd route prefix *#101 internal own-imsi + ussd route prefix *100 external foobar -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I73f673523dab8765ca87851175fafdec9fc20e1b Gerrit-Change-Number: 14400 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 7 12:34:32 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 7 Jun 2019 12:34:32 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: f_vty_subscr_show(): add invert arg Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 Change subject: hlr: f_vty_subscr_show(): add invert arg ...................................................................... hlr: f_vty_subscr_show(): add invert arg Allow inverting the pattern in f_vty_transceive_match() and f_vty_subscr_show(). On failure, mention the pattern in the test verdict, and whether it should have had an inverted match or not. This will be used by upcoming tests for the check IMEI GSUP message type, to check if the IMEI was not stored, depending on the OsmoHLR configuration. Change-Id: I176d8fd2ee74e1eb7ac797f931cd6005d398740f --- M hlr/HLR_Tests.ttcn 1 file changed, 10 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/01/14401/1 diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn index b6bd1ad..21089dd 100644 --- a/hlr/HLR_Tests.ttcn +++ b/hlr/HLR_Tests.ttcn @@ -294,10 +294,15 @@ return sl; } -function f_vty_transceive_match(TELNETasp_PT pt, charstring cmd, template charstring exp_ret) { +function f_vty_transceive_match(TELNETasp_PT pt, charstring cmd, template charstring exp_ret, + boolean invert := false) { var charstring ret := f_vty_transceive_ret(pt, cmd); - if (not match(ret, exp_ret)) { - setverdict(fail, "Non-matching VTY response: ", ret); + var boolean is_match := match(ret, exp_ret); + if (is_match and invert) { + setverdict(fail, "Non-matching VTY response: ", ret, ", should *not* have matched: ", exp_ret); + mtc.stop; + } else if (not is_match and not invert) { + setverdict(fail, "Non-matching VTY response: ", ret, ", should have matched: ", exp_ret); mtc.stop; } } @@ -346,9 +351,9 @@ } /* perform 'show' on subscriber; match result with pattern 'exp' */ -function f_vty_subscr_show(TELNETasp_PT VTY, HlrSubscriber sub, template charstring exp) { +function f_vty_subscr_show(TELNETasp_PT VTY, HlrSubscriber sub, template charstring exp, boolean invert := false) { var charstring prefix := valueof(t_subscr_prefix(sub.imsi)); - f_vty_transceive_match(VTY, prefix & "show", exp); + f_vty_transceive_match(VTY, prefix & "show", exp, invert); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I176d8fd2ee74e1eb7ac797f931cd6005d398740f Gerrit-Change-Number: 14401 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 7 12:34:32 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 7 Jun 2019 12:34:32 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add Check IMEI tests Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 Change subject: hlr: add Check IMEI tests ...................................................................... hlr: add Check IMEI tests Create tests for all code paths of rx_check_imei_req() in hlr.c (except for subscriber create on demand, this will be in an upcoming patch). Add missing message types to GSUP_Types.ttcn, and adjust the IMEI and IMEI_Result IEs for consistency with the existing IEs, and to make the tests compile. Related: OS#2541 Change-Id: I97c8462f0817149feadd0c4865e3df6c2af92a80 --- M hlr/HLR_Tests.ttcn M library/GSUP_Types.ttcn 2 files changed, 165 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/02/14402/1 diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn index 21089dd..fd246fd 100644 --- a/hlr/HLR_Tests.ttcn +++ b/hlr/HLR_Tests.ttcn @@ -356,6 +356,21 @@ f_vty_transceive_match(VTY, prefix & "show", exp, invert); } +/*********************************************************************** + * VTY Configuration + ***********************************************************************/ + +function f_vty_config_store_imei(TELNETasp_PT VTY, boolean enable) { + f_vty_transceive(VTY, "configure terminal"); + f_vty_transceive(VTY, "hlr"); + if (enable) { + f_vty_transceive(VTY, "store-imei"); + } else { + f_vty_transceive(VTY, "no store-imei"); + } + f_vty_transceive(VTY, "exit"); + f_vty_transceive(VTY, "exit"); +} /*********************************************************************** * Helper functions for ConnHdlr @@ -566,6 +581,48 @@ return ret; } +function f_perform_CHECK_IMEI(hexstring imsi, hexstring imei, + template (omit) integer exp_err_cause := omit, + template (omit) GSUP_IMEIResult result := omit) +runs on HLR_ConnHdlr return GSUP_PDU { + var GSUP_PDU ret; + timer T := 3.0; + var boolean exp_fail := false; + if (not istemplatekind(exp_err_cause, "omit")) { + exp_fail := true; + } + + GSUP.send(valueof(ts_GSUP_CHECK_IMEI_REQ(imsi, imei))); + T.start; + alt { + [exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_ERR(imsi, exp_err_cause)) -> value ret { + setverdict(pass); + } + [exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_ERR(imsi, ?)) -> value ret { + setverdict(fail, "Unexpected CHECK IMEI ERROR Cause"); + } + [exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_RES(imsi, ?)) -> value ret { + setverdict(fail, "Unexpected CHECK IMEI RES instead of ERR"); + } + [not exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_ERR(imsi, ?)) -> value ret { + setverdict(fail, "Unexpected CHECK IMEI ERROR"); + } + [not exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_RES(imsi, result)) -> value ret { + setverdict(pass); + } + [not exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_RES(imsi, ?)) -> value ret { + setverdict(fail, "Unexpected CHECK IMEI RES"); + } + [] GSUP.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for CHECK IMEI response"); + mtc.stop; + } + } + return ret; +} + + /*********************************************************************** @@ -1082,6 +1139,81 @@ * timeout cases */ + +/* Test Check IMEI */ +private function f_TC_gsup_check_imei() runs on HLR_ConnHdlr { + var GSUP_PDU res; + + /* store-imei disabled */ + f_vty_config_store_imei(VTY, false); + res := f_perform_CHECK_IMEI(g_pars.sub.imsi, '12345678901234'H, + result := OSMO_GSUP_IMEI_RESULT_ACK); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*IMEI: *12345678901234*", invert := true); + + /* store-imei enabled */ + f_vty_config_store_imei(VTY, true); + res := f_perform_CHECK_IMEI(g_pars.sub.imsi, '12345678901234'H, + result := OSMO_GSUP_IMEI_RESULT_ACK); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*IMEI: *12345678901234*"); +} +testcase TC_gsup_check_imei() runs on test_CT { + var HlrSubscriberList sl; + var GSUP_PDU res; + + f_init(false); + sl := f_gen_subs(); + f_start_handler_per_sub(refers(f_TC_gsup_check_imei), sl); + + setverdict(pass); +} + +/* Test Check IMEI with invalid IMEI length */ +private function f_TC_gsup_check_imei_invalid_len() runs on HLR_ConnHdlr { + var GSUP_PDU res; + + /* IMEI too long */ + res := f_perform_CHECK_IMEI(g_pars.sub.imsi, '111456789012345F'H, 96 /* Invalid Mandatory Information */); + res := f_perform_CHECK_IMEI(g_pars.sub.imsi, '2224567890123456'H, 96 /* Invalid Mandatory Information */); + + /* IMEI too short */ + res := f_perform_CHECK_IMEI(g_pars.sub.imsi, '3334567890123F'H, 96 /* Invalid Mandatory Information */); + res := f_perform_CHECK_IMEI(g_pars.sub.imsi, '444456789012'H, 96 /* Invalid Mandatory Information */); + res := f_perform_CHECK_IMEI(g_pars.sub.imsi, ''H, 96 /* Invalid Mandatory Information */); +} +testcase TC_gsup_check_imei_invalid_len() runs on test_CT { + var HlrSubscriberList sl; + var GSUP_PDU res; + + f_init(false); + sl := f_gen_subs(); + f_start_handler_per_sub(refers(f_TC_gsup_check_imei_invalid_len), sl); + + setverdict(pass); +} + +/* Test Check IMEI with unknown IMSI */ +private function f_TC_gsup_check_imei_unknown_imsi() runs on HLR_ConnHdlr { + var GSUP_PDU res; + + f_vty_config_store_imei(VTY, false); + res := f_perform_CHECK_IMEI(g_pars.sub.imsi, '22245678901234'H, 96 /* Invalid Mandatory Information */); + + /* Check again with store-imei set (different code path) */ + f_vty_config_store_imei(VTY, true); + res := f_perform_CHECK_IMEI(g_pars.sub.imsi, '22245678901234'H, 96 /* Invalid Mandatory Information */); + + setverdict(pass); +} +testcase TC_gsup_check_imei_unknown_imsi() runs on test_CT { + var hexstring imsi := f_rnd_imsi('26242'H); + var HLR_ConnHdlrPars pars := valueof(t_Pars(imsi)); + var HLR_ConnHdlr vc_conn; + + f_init(false); + vc_conn := f_start_handler(refers(f_TC_gsup_check_imei_unknown_imsi), pars); + vc_conn.done; +} + /* TODO: * UL with ISD error * UL with ISD timeout @@ -1116,6 +1248,10 @@ execute( TC_mo_ussd_euse_continue() ); execute( TC_mo_ussd_euse_defaultroute() ); + execute( TC_gsup_check_imei() ); + execute( TC_gsup_check_imei_invalid_len() ); + execute( TC_gsup_check_imei_unknown_imsi() ); + /* "Structured" Supplementary Services */ execute( TC_mo_sss_reject() ); }; diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn index 10cf1b8..8081347 100644 --- a/library/GSUP_Types.ttcn +++ b/library/GSUP_Types.ttcn @@ -419,6 +419,17 @@ ies := ies } +template (value) GSUP_IMEI ts_GSUP_IMEI(hexstring digits) := { + len := 0, /* overwritten */ + digits := digits +} + +template GSUP_IMEI tr_GSUP_IMEI(template hexstring digits) := { + len := ?, + digits := digits +} + + template (value) GSUP_PDU ts_GSUP_SAI_REQ(hexstring imsi) := ts_GSUP(OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST, { valueof(ts_GSUP_IE_IMSI(imsi)) }); @@ -523,6 +534,18 @@ tr_GSUP(OSMO_GSUP_MSGT_PURGE_MS_ERROR, { tr_GSUP_IE_IMSI(imsi), tr_GSUP_IE_Cause(cause) }); +template (value) GSUP_PDU ts_GSUP_CHECK_IMEI_REQ(hexstring imsi, hexstring imei) := + ts_GSUP(OSMO_GSUP_MSGT_CHECK_IMEI_REQUEST, { + valueof(ts_GSUP_IE_IMSI(imsi)), valueof(ts_GSUP_IE_IMEI(imei)) }); + +template GSUP_PDU tr_GSUP_CHECK_IMEI_RES(template hexstring imsi, template GSUP_IMEIResult result) := + tr_GSUP(OSMO_GSUP_MSGT_CHECK_IMEI_RESULT, { + tr_GSUP_IE_IMSI(imsi), tr_GSUP_IE_IMEI_Result(result) }); + +template GSUP_PDU tr_GSUP_CHECK_IMEI_ERR(template hexstring imsi, template integer cause) := + tr_GSUP(OSMO_GSUP_MSGT_CHECK_IMEI_ERROR, { + tr_GSUP_IE_IMSI(imsi), tr_GSUP_IE_Cause(cause) }); + template (value) GSUP_IE ts_GSUP_IE_CancelType(GSUP_CancelType ctype) := { tag := OSMO_GSUP_CANCEL_TYPE_IE, @@ -764,29 +787,29 @@ } } -template (value) GSUP_IE ts_GSUP_IE_IMEI_IE(GSUP_IMEI imei) := { +template (value) GSUP_IE ts_GSUP_IE_IMEI(hexstring imei) := { tag := OSMO_GSUP_IMEI_IE, len := 0, /* overwritten */ val := { - imei := imei + imei := ts_GSUP_IMEI(imei) } } -template GSUP_IE tr_GSUP_IE_IMEI_IE(template GSUP_IMEI imei) := { +template GSUP_IE tr_GSUP_IE_IMEI(template hexstring imei) := { tag := OSMO_GSUP_IMEI_IE, len := ?, val := { - imei := imei + imei := tr_GSUP_IMEI(imei) } } -template (value) GSUP_IE ts_GSUP_IE_IMEI_RESULT_IE(GSUP_IMEIResult result) := { +template (value) GSUP_IE ts_GSUP_IE_IMEI_Result(GSUP_IMEIResult result) := { tag := OSMO_GSUP_IMEI_RESULT_IE, len := 0, /* overwritten */ val := { imei_result := result } } -template GSUP_IE tr_GSUP_IE_IMEI_RESULT_IE(template GSUP_IMEIResult result) := { +template GSUP_IE tr_GSUP_IE_IMEI_Result(template GSUP_IMEIResult result) := { tag := OSMO_GSUP_IMEI_RESULT_IE, len := ?, val := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97c8462f0817149feadd0c4865e3df6c2af92a80 Gerrit-Change-Number: 14402 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 7 12:44:11 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 Jun 2019 12:44:11 +0000 Subject: Change in ...osmo-hlr[master]: rx_check_imei_req(): fix IMEI bounds checking In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14399 ) Change subject: rx_check_imei_req(): fix IMEI bounds checking ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/14399/1/src/hlr.c File src/hlr.c: https://gerrit.osmocom.org/#/c/14399/1/src/hlr.c at a483 PS1, Line 483: AFAIR, gsm48_decode_bcd_number2() is not NULL-safe, so I would keep this check. Others can be safely removed, for sure. https://gerrit.osmocom.org/#/c/14399/1/src/hlr.c at 483 PS1, Line 483: gsm48_decode_bcd_number2 Cosmetic, not critical: it would be good to store the returned value, and print it in the error message below. I find it helpful for trouble shooting. rc = gsm48_decode_bcd_number2(...); if (rc) { ... } -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I060a8db98fb882e4815d1709a5d85bc0143a73a6 Gerrit-Change-Number: 14399 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 Jun 2019 12:44:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 7 12:51:16 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 7 Jun 2019 12:51:16 +0000 Subject: Change in ...osmo-bts[master]: gsm_data_shared.h: Remove unused loc_list from struct gsm_bts In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14398 ) Change subject: gsm_data_shared.h: Remove unused loc_list from struct gsm_bts ...................................................................... Patch Set 1: Code-Review+1 Only OsmoBSC is using loc_list, but it has its own header file. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I52880962dfb0399c613048aa7ddfd828d3c6c933 Gerrit-Change-Number: 14398 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 07 Jun 2019 12:51:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 7 12:57:29 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 7 Jun 2019 12:57:29 +0000 Subject: Change in ...docker-playground[master]: Add script to regenerate VTY and counter documentation Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/14403 Change subject: Add script to regenerate VTY and counter documentation ...................................................................... Add script to regenerate VTY and counter documentation This script needs access to the VTY interface, so I changed some remaining config files to bind the VTY interface to 0.0.0.0. There are a couple of services that do that already. Change-Id: Ic5cf7f59de0c18d4c5568b89433c2b11db2a72a5 --- M osmo-bsc-master/osmo-bsc.cfg M osmo-hlr-master/osmo-hlr.cfg M osmo-hnbgw-master/osmo-hnbgw.cfg M osmo-mgw-master/osmo-mgw.cfg M osmo-msc-master/osmo-msc.cfg M osmo-sip-master/osmo-sip-connector.cfg A scripts/regen_doc.sh 7 files changed, 53 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/03/14403/1 diff --git a/osmo-bsc-master/osmo-bsc.cfg b/osmo-bsc-master/osmo-bsc.cfg index cb0059d..7ce9173 100644 --- a/osmo-bsc-master/osmo-bsc.cfg +++ b/osmo-bsc-master/osmo-bsc.cfg @@ -46,6 +46,7 @@ ! line vty no login + bind 0.0.0.0 ! e1_input e1_line 0 driver ipa diff --git a/osmo-hlr-master/osmo-hlr.cfg b/osmo-hlr-master/osmo-hlr.cfg index f3be518..9d8b125 100644 --- a/osmo-hlr-master/osmo-hlr.cfg +++ b/osmo-hlr-master/osmo-hlr.cfg @@ -11,6 +11,7 @@ logging level linp error ! line vty + no login bind 0.0.0.0 ctrl bind 0.0.0.0 diff --git a/osmo-hnbgw-master/osmo-hnbgw.cfg b/osmo-hnbgw-master/osmo-hnbgw.cfg index 8bffd76..4c7e75b 100644 --- a/osmo-hnbgw-master/osmo-hnbgw.cfg +++ b/osmo-hnbgw-master/osmo-hnbgw.cfg @@ -19,6 +19,9 @@ logging level lctrl notice logging level lgtp notice logging level lstats notice +line vty + no login + bind 0.0.0.0 cs7 instance 0 point-code 0.23.5 asp asp-clnt-OsmoHNBGW 2905 0 m3ua diff --git a/osmo-mgw-master/osmo-mgw.cfg b/osmo-mgw-master/osmo-mgw.cfg index 44653e3..682c4ed 100644 --- a/osmo-mgw-master/osmo-mgw.cfg +++ b/osmo-mgw-master/osmo-mgw.cfg @@ -31,6 +31,7 @@ ! line vty no login + bind 0.0.0.0 ! mgcp bind ip 172.18.0.180 diff --git a/osmo-msc-master/osmo-msc.cfg b/osmo-msc-master/osmo-msc.cfg index 91c9eee..929e88c 100644 --- a/osmo-msc-master/osmo-msc.cfg +++ b/osmo-msc-master/osmo-msc.cfg @@ -3,6 +3,7 @@ ! line vty no login + bind 0.0.0.0 ! network network country code 1 diff --git a/osmo-sip-master/osmo-sip-connector.cfg b/osmo-sip-master/osmo-sip-connector.cfg index ad42969..5a0b4f5 100644 --- a/osmo-sip-master/osmo-sip-connector.cfg +++ b/osmo-sip-master/osmo-sip-connector.cfg @@ -1,3 +1,6 @@ +line vty + no login + bind 0.0.0.0 app mncc socket-path /tmp/bsc_mncc diff --git a/scripts/regen_doc.sh b/scripts/regen_doc.sh new file mode 100755 index 0000000..7c7529f --- /dev/null +++ b/scripts/regen_doc.sh @@ -0,0 +1,43 @@ +#!/bin/sh +x + +. ../jenkins-common.sh + +NAME="$1" +PORT="$2" +COUNTERFILE="$3" +VTYFILE="$4" + +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +if [ -z "$OSMO_INTERACT_VTY" ]; then + OSMO_INTERACT_VTY="osmo-interact-vty.py" +fi + +docker_images_require \ + "$NAME-$IMAGE_SUFFIX" + +network_create 172.18.12.0/24 + +container_create() { + CONTAINERNAME=$1 + IP_ADDR=$2 + + docker run --rm --network ${NET_NAME} --ip ${IP_ADDR} \ + --name ${BUILD_TAG}-${CONTAINERNAME} -d \ + ${REPO_USER}/${CONTAINERNAME} + + +} + +container_create "$NAME-$IMAGE_SUFFIX" 172.18.12.23 + +# Get asciidoc counter info +${OSMO_INTERACT_VTY} \ + -c "enable;show asciidoc counters" -p "$PORT" -H 172.18.12.23 -O "$COUNTERFILE" + +# Get vty reference +${OSMO_INTERACT_VTY} \ + -X -p "$PORT" -H 172.18.12.23 -O "$VTYFILE" + +docker container kill "${BUILD_TAG}-$NAME-$IMAGE_SUFFIX" + +network_remove -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic5cf7f59de0c18d4c5568b89433c2b11db2a72a5 Gerrit-Change-Number: 14403 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 7 12:58:21 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 7 Jun 2019 12:58:21 +0000 Subject: Change in ...docker-playground[master]: Add script to regenerate VTY and counter documentation In-Reply-To: References: Message-ID: daniel has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/14403 ) Change subject: Add script to regenerate VTY and counter documentation ...................................................................... Add script to regenerate VTY and counter documentation This script needs access to the VTY interface, so I changed some remaining config files to bind the VTY interface to 0.0.0.0. There are a couple of services that do that already. Related: OS#1700 Change-Id: Ic5cf7f59de0c18d4c5568b89433c2b11db2a72a5 --- M osmo-bsc-master/osmo-bsc.cfg M osmo-hlr-master/osmo-hlr.cfg M osmo-hnbgw-master/osmo-hnbgw.cfg M osmo-mgw-master/osmo-mgw.cfg M osmo-msc-master/osmo-msc.cfg M osmo-sip-master/osmo-sip-connector.cfg A scripts/regen_doc.sh 7 files changed, 53 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/03/14403/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic5cf7f59de0c18d4c5568b89433c2b11db2a72a5 Gerrit-Change-Number: 14403 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 7 13:09:44 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 7 Jun 2019 13:09:44 +0000 Subject: Change in ...osmo-bsc[master]: manuals: Add script to update vtr/counter documentation from docker Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14404 Change subject: manuals: Add script to update vtr/counter documentation from docker ...................................................................... manuals: Add script to update vtr/counter documentation from docker Change-Id: Iedd1f55d021231d86c19b6f14ff296e3a55148c8 Related: OS#1700 --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/04/14404/1 diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 49ddc18..17fecd1 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -9,6 +9,7 @@ message-sequences \ mgw \ om2000 \ + regen_docs.sh \ vty if BUILD_MANUALS diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..2f9ef74 --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_BSC_BRANCH=$COMMIT ./regen_doc.sh osmo-bsc 4242 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/bsc_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iedd1f55d021231d86c19b6f14ff296e3a55148c8 Gerrit-Change-Number: 14404 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 7 13:10:38 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 7 Jun 2019 13:10:38 +0000 Subject: Change in ...osmo-hlr[master]: rx_check_imei_req(): fix IMEI bounds checking In-Reply-To: References: Message-ID: Hello fixeria, pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/14399 to look at the new patch set (#2). Change subject: rx_check_imei_req(): fix IMEI bounds checking ...................................................................... rx_check_imei_req(): fix IMEI bounds checking IMEIs (without the checksum) always have 14 digits. Replace the previous check (length <= 14) with a proper one (length == 14) and set the buffer to the right size. I have tested with new TTCN3 tests, that the length check is working properly now. Related: OS#2541 Change-Id: I060a8db98fb882e4815d1709a5d85bc0143a73a6 --- M src/hlr.c 1 file changed, 8 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/99/14399/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I060a8db98fb882e4815d1709a5d85bc0143a73a6 Gerrit-Change-Number: 14399 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 7 13:16:02 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 7 Jun 2019 13:16:02 +0000 Subject: Change in ...osmo-hlr[master]: rx_check_imei_req(): fix IMEI bounds checking In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14399 ) Change subject: rx_check_imei_req(): fix IMEI bounds checking ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/14399/1/src/hlr.c File src/hlr.c: https://gerrit.osmocom.org/#/c/14399/1/src/hlr.c at a483 PS1, Line 483: > AFAIR, gsm48_decode_bcd_number2() is not NULL-safe, so I would keep this check. [?] Good catch, fixed. https://gerrit.osmocom.org/#/c/14399/1/src/hlr.c at 483 PS1, Line 483: gsm48_decode_bcd_number2 > Cosmetic, not critical: it would be good to store the returned value, and print it in the error mess [?] Agreed, but together with the !gsup->imei_enc before, we would need to add another if() block beforehand, so I'll leave it like this for now. -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I060a8db98fb882e4815d1709a5d85bc0143a73a6 Gerrit-Change-Number: 14399 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 Jun 2019 13:16: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 Fri Jun 7 13:17:04 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 Jun 2019 13:17:04 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add Check IMEI tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 ) Change subject: hlr: add Check IMEI tests ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/14402/1/hlr/HLR_Tests.ttcn File hlr/HLR_Tests.ttcn: https://gerrit.osmocom.org/#/c/14402/1/hlr/HLR_Tests.ttcn at 1175 PS1, Line 1175: res So you return GSUP_PDU, but never use it? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97c8462f0817149feadd0c4865e3df6c2af92a80 Gerrit-Change-Number: 14402 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 Jun 2019 13:17:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 7 13:17:13 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 Jun 2019 13:17:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: f_vty_subscr_show(): add invert arg In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 ) Change subject: hlr: f_vty_subscr_show(): add invert arg ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I176d8fd2ee74e1eb7ac797f931cd6005d398740f Gerrit-Change-Number: 14401 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 Jun 2019 13:17:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 7 13:20:41 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 Jun 2019 13:20:41 +0000 Subject: Change in ...osmo-hlr[master]: rx_check_imei_req(): fix IMEI bounds checking In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14399 ) Change subject: rx_check_imei_req(): fix IMEI bounds checking ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14399/1/src/hlr.c File src/hlr.c: https://gerrit.osmocom.org/#/c/14399/1/src/hlr.c at 483 PS1, Line 483: gsm48_decode_bcd_number2 > [...] we would need to add another if() block beforehand [...] Yep, so then you could print a better message than "failed to decode", if there was actually nothing to decode ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I060a8db98fb882e4815d1709a5d85bc0143a73a6 Gerrit-Change-Number: 14399 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 07 Jun 2019 13:20:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 7 13:37:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 7 Jun 2019 13:37:54 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: CTRL_Types: Fix SET value not encoded in message Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14405 Change subject: CTRL_Types: Fix SET value not encoded in message ...................................................................... CTRL_Types: Fix SET value not encoded in message Change-Id: I9e0132429265d03caa97af2b2f44eed0327f3200 --- M library/Osmocom_CTRL_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/05/14405/1 diff --git a/library/Osmocom_CTRL_Types.ttcn b/library/Osmocom_CTRL_Types.ttcn index eb22056..5c4527e 100644 --- a/library/Osmocom_CTRL_Types.ttcn +++ b/library/Osmocom_CTRL_Types.ttcn @@ -90,7 +90,7 @@ verb := "SET", id := id, variable := variable, - val := omit + val := val } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9e0132429265d03caa97af2b2f44eed0327f3200 Gerrit-Change-Number: 14405 Gerrit-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 7 15:02:41 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 7 Jun 2019 15:02:41 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: CTRL_Types: Fix SET value not encoded in message In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14405 ) Change subject: CTRL_Types: Fix SET value not encoded in message ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9e0132429265d03caa97af2b2f44eed0327f3200 Gerrit-Change-Number: 14405 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 07 Jun 2019 15: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 Fri Jun 7 17:50:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 7 Jun 2019 17:50:24 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/RAN: Introduce CTRL_CLIENT port to access CTRL muxed in RAN IPA conn Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14406 Change subject: lib/RAN: Introduce CTRL_CLIENT port to access CTRL muxed in RAN IPA conn ...................................................................... lib/RAN: Introduce CTRL_CLIENT port to access CTRL muxed in RAN IPA conn This is the case for SCCPlite between BSC and MSC (or BSC-NAT). MGCP and CTRL can be multiplexed over the same underlaying IPA conn. Related: OS#2012 Change-Id: Id90c1609f0439b00379166fb9e4028d181fc023e --- M library/RAN_Adapter.ttcnpp M library/RAN_Emulation.ttcnpp 2 files changed, 38 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/06/14406/1 diff --git a/library/RAN_Adapter.ttcnpp b/library/RAN_Adapter.ttcnpp index 862921e..40cf0fa 100644 --- a/library/RAN_Adapter.ttcnpp +++ b/library/RAN_Adapter.ttcnpp @@ -167,6 +167,11 @@ log("Connecting MGCP RAN Emulation to IPA MGCP PORT"); connect(ba.vc_IPA:IPA_MGCP_PORT, ba.vc_RAN:MGCP); #endif +#ifdef IPA_EMULATION_CTRL + /* connect IPA CTRL port with BSSMAP CTRL port */ + log("Connecting CTRL RAN Emulation to IPA CTRL PORT"); + connect(ba.vc_IPA:IPA_CTRL_PORT, ba.vc_RAN:CTRL); +#endif } log("Starting RAN_Emulation"); ba.vc_RAN.start(RAN_Emulation.main(valueof(ops), "")); diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index ba018b4..c580368 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -48,6 +48,11 @@ import from MGCP_Templates all; #endif +#ifdef RAN_EMULATION_CTRL +import from Osmocom_CTRL_Types all; +import from Osmocom_CTRL_Adapter all; +#endif + #ifdef RAN_EMULATION_RANAP import from RANAP_CodecPort all; import from RANAP_PDU_Descriptions all; @@ -177,6 +182,11 @@ /* MGCP port */ port IPA_MGCP_PT MGCP; #endif +#ifdef RAN_EMULATION_CTRL + /* CTRL port */ + port IPA_CTRL_PT CTRL; + port IPA_CTRL_PT CTRL_CLIENT; +#endif /* use 16 as this is also the number of SCCP connections that SCCP_Emulation can handle */ var ConnectionData ConnectionTable[16]; @@ -1041,6 +1051,28 @@ #endif } +private altstep as_main_ctrl() runs on RAN_Emulation_CT { +#ifdef RAN_EMULATION_CTRL + var CtrlMessage ctrl; + var RAN_ConnHdlr vc_conn; + + /* Handling of CTRL in IPA SCCPLite case. This predates 3GPP AoIP + * and uses a CTRL session in parallel to BSSAP. */ + + /* CTRL_CLIENT -> CTRL */ + [] CTRL_CLIENT.receive(CtrlMessage:?) -> value ctrl sender vc_conn { + CTRL.send(ctrl); + } + + /* CTRL -> CTRL_CLIENT */ + [] CTRL.receive(CtrlMessage:?) -> value ctrl { + CTRL_CLIENT.send(ctrl); + } +#else + [false] CLIENT.receive {} +#endif +} + /* send a raw (encoded) L3 message over given SCCP connection */ private function f_xmit_raw_l3(integer sccp_conn_id, OCT1 dlci, octetstring l3_enc) runs on RAN_Emulation_CT { @@ -1123,6 +1155,7 @@ } [] as_main_mgcp(); + [] as_main_ctrl(); [] PROC.getcall(RAN_register:{?,?}) -> param(l3_info, vc_hdlr) { f_create_expect(l3_info, vc_hdlr); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id90c1609f0439b00379166fb9e4028d181fc023e Gerrit-Change-Number: 14406 Gerrit-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 7 17:50:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 7 Jun 2019 17:50:24 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Introduce test TC_ctrl_location Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407 Change subject: bsc: Introduce test TC_ctrl_location ...................................................................... bsc: Introduce test TC_ctrl_location Related: OS#2012 Change-Id: I3640f6889e3b6adc3b4601082f948543c64a2fe3 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M bsc/regen_makefile.sh M library/Osmocom_CTRL_Adapter.ttcn 4 files changed, 34 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/07/14407/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 518f9e1..030d367 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1204,6 +1204,29 @@ setverdict(pass); } +/* Verify that Upon receival of SET "location", BSC forwards a TRAP + "location-state" over the SCCPlite IPA conn */ +private function f_tc_ctrl_location(charstring id) runs on MSC_ConnHdlr { + g_pars := f_gen_test_hdlr_pars(); + log("Waiting for TRAP on MSC side"); + f_ctrl_exp_trap(CTRL, "bts.0.location-state", "1234567,fix3d,0.340000,0.560000,0.780000,operational,unlocked,on,001,01"); +} + +testcase TC_ctrl_location() runs on test_CT { + var MSC_ConnHdlr vc_conn; + var integer bts_nr := 0; + + f_init(1, true); + f_sleep(1.0); + + vc_conn := f_start_handler(refers(f_tc_ctrl_location)); + + f_ctrl_set_bts(IPA_CTRL, bts_nr, "location", "1234567,fix3d,0.340000,0.560000,0.780000"); + + vc_conn.done; + setverdict(pass); +} + function f_bssap_tx_ud(template PDU_BSSAP bssap) runs on test_CT { BSSAP.send(ts_BSSAP_UNITDATA_req(g_bssap.sccp_addr_peer, g_bssap.sccp_addr_own, bssap)); } @@ -1688,6 +1711,7 @@ } connect(vc_conn:BSSAP, g_bssap.vc_RAN:CLIENT); connect(vc_conn:MGCP, vc_MGCP:MGCP_CLIENT); + connect(vc_conn:CTRL, g_bssap.vc_RAN:CTRL_CLIENT); } function f_start_handler(void_fn fn, template (omit) TestHdlrParams pars := omit) @@ -3987,6 +4011,9 @@ execute( TC_ctrl_msc_connection_status() ); execute( TC_ctrl_msc0_connection_status() ); execute( TC_ctrl() ); + if (mp_bssap_cfg.transport == BSSAP_TRANSPORT_SCCPlite_SERVER) { + execute( TC_ctrl_location() ); + } /* RSL DCHAN Channel ACtivation / Deactivation */ execute( TC_chan_act_noreply() ); diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index c7f6495..0efe080 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -19,6 +19,7 @@ import from BSSAP_Types all; import from RAN_Emulation all; import from BSSMAP_Templates all; +import from IPA_Emulation all; import from IPL4asp_Types all; import from Native_Functions all; @@ -357,6 +358,8 @@ port RAN_PROC_PT RAN; port TELNETasp_PT BSCVTY; + port IPA_CTRL_PT CTRL; + var MediaState g_media; var TestHdlrParams g_pars; diff --git a/bsc/regen_makefile.sh b/bsc/regen_makefile.sh index 06fa812..389aaed 100755 --- a/bsc/regen_makefile.sh +++ b/bsc/regen_makefile.sh @@ -4,6 +4,6 @@ FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc SCTPasp_PT.cc RTP_EncDec.cc SDP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc *.c" -export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_MGCP -DIPA_EMULATION_SCCP -DRAN_EMULATION_BSSAP -DRAN_EMULATION_MGCP -DUSE_MTP3_DISTRIBUTOR" +export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_MGCP -DIPA_EMULATION_CTRL -DIPA_EMULATION_SCCP -DRAN_EMULATION_BSSAP -DRAN_EMULATION_MGCP -DRAN_EMULATION_CTRL -DUSE_MTP3_DISTRIBUTOR" ../regen-makefile.sh $MAIN $FILES diff --git a/library/Osmocom_CTRL_Adapter.ttcn b/library/Osmocom_CTRL_Adapter.ttcn index 93e893f..08195c8 100644 --- a/library/Osmocom_CTRL_Adapter.ttcn +++ b/library/Osmocom_CTRL_Adapter.ttcn @@ -61,6 +61,9 @@ function f_ctrl_get_bts(IPA_CTRL_PT pt, integer bts_nr, charstring suffix) return CtrlValue { return f_ctrl_get(pt, "bts." & int2str(bts_nr) & "." & suffix); } +function f_ctrl_set_bts(IPA_CTRL_PT pt, integer bts_nr, charstring suffix, CtrlValue val) { + f_ctrl_set(pt, "bts." & int2str(bts_nr) & "." & suffix, val); +} template charstring ts_bts(integer bts_nr) := "bts." & int2str(bts_nr) & "."; template charstring ts_bts_trx(integer bts_nr, integer trx_nr ) := -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3640f6889e3b6adc3b4601082f948543c64a2fe3 Gerrit-Change-Number: 14407 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Jun 8 02:45:17 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 08 Jun 2019 02:45:17 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5cfb2155648dd_2a9c4f65f02591d4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 793s] | This file was extended by libosmocore config.status 1.1.0.49-8c9b, which was [ 793s] | generated by GNU Autoconf 2.69. Invocation command line was [ 793s] | [ 793s] | CONFIG_FILES = [ 793s] | CONFIG_HEADERS = [ 793s] | CONFIG_LINKS = [ 793s] | CONFIG_COMMANDS = [ 793s] | $ ./config.status Doxyfile.core [ 793s] | [ 793s] | on obs-arm-6 [ 793s] | [ 793s] | config.status:1200: creating Doxyfile.core [ 793s] [ 793s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 793s] make[1]: *** [override_dh_auto_test] Error 1 [ 793s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 793s] debian/rules:15: recipe for target 'build' failed [ 793s] make: *** [build] Error 2 [ 793s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 793s] [ 793s] obs-arm-6 failed "build libosmocore_1.1.0.49.8c9b.dsc" at Sat Jun 8 02:45:03 UTC 2019. [ 793s] [ 793s] ### VM INTERACTION START ### [ 795s] [ 755.199674] sysrq: SysRq : Power Off [ 795s] [ 755.209288] reboot: Power down [ 796s] ### VM INTERACTION END ### [ 796s] [ 796s] obs-arm-6 failed "build libosmocore_1.1.0.49.8c9b.dsc" at Sat Jun 8 02:45:07 UTC 2019. [ 796s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat Jun 8 09:53:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Jun 2019 09:53:09 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: CTRL_Types: Fix SET value not encoded in message In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14405 ) Change subject: CTRL_Types: Fix SET value not encoded in message ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9e0132429265d03caa97af2b2f44eed0327f3200 Gerrit-Change-Number: 14405 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 Jun 2019 09:53:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 8 09:53:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Jun 2019 09:53:11 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: CTRL_Types: Fix SET value not encoded in message In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14405 ) Change subject: CTRL_Types: Fix SET value not encoded in message ...................................................................... CTRL_Types: Fix SET value not encoded in message Change-Id: I9e0132429265d03caa97af2b2f44eed0327f3200 --- M library/Osmocom_CTRL_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/library/Osmocom_CTRL_Types.ttcn b/library/Osmocom_CTRL_Types.ttcn index eb22056..5c4527e 100644 --- a/library/Osmocom_CTRL_Types.ttcn +++ b/library/Osmocom_CTRL_Types.ttcn @@ -90,7 +90,7 @@ verb := "SET", id := id, variable := variable, - val := omit + val := val } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9e0132429265d03caa97af2b2f44eed0327f3200 Gerrit-Change-Number: 14405 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 Sat Jun 8 09:53:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Jun 2019 09:53:53 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/RAN: Introduce CTRL_CLIENT port to access CTRL muxed in RAN IPA conn In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14406 ) Change subject: lib/RAN: Introduce CTRL_CLIENT port to access CTRL muxed in RAN IPA conn ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id90c1609f0439b00379166fb9e4028d181fc023e Gerrit-Change-Number: 14406 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 Jun 2019 09:53:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 8 09:56:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Jun 2019 09:56:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Introduce test TC_ctrl_location In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407 ) Change subject: bsc: Introduce test TC_ctrl_location ...................................................................... Patch Set 1: Code-Review-1 I'm not quite sure why we would want to pass CTRL commands into the ConnHdlr. The ConnHdlr exists for each "subscriber connection", so we can have different ConnHdlr components, one for each subscriber connection. It makes sense to dispatch things like BSSAP, RSL dedicated channel/RLL, as well as MGCP to it, as all of those exist logically separate for each ConnHdlr. Hoewver, the CTRL commands are BTS-global and they should IMHO not be handled in a per-connection handler component. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3640f6889e3b6adc3b4601082f948543c64a2fe3 Gerrit-Change-Number: 14407 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 Jun 2019 09:56:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 8 09:57:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Jun 2019 09:57:36 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Introduce test TC_ctrl_location In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407 ) Change subject: bsc: Introduce test TC_ctrl_location ...................................................................... Patch Set 1: so in other words, the test should run on test_CT, not on ConnHdlr - and hence there's also no need to add a CTRL port to ConnHdlr. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3640f6889e3b6adc3b4601082f948543c64a2fe3 Gerrit-Change-Number: 14407 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 Jun 2019 09:57: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 Sat Jun 8 09:58:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Jun 2019 09:58:49 +0000 Subject: Change in ...libosmocore[master]: gsm48_decode_bcd_number2: fix ENOSPC edge case In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14397 ) Change subject: gsm48_decode_bcd_number2: fix ENOSPC edge case ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie05900aca50cc7fe8a45d17844dbfcd905fd82fe Gerrit-Change-Number: 14397 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 08 Jun 2019 09:58:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 8 09:59:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Jun 2019 09:59:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add osmo-hlr.cfg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14400 ) Change subject: hlr: add osmo-hlr.cfg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I73f673523dab8765ca87851175fafdec9fc20e1b Gerrit-Change-Number: 14400 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 08 Jun 2019 09:59:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 8 09:59:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Jun 2019 09:59:37 +0000 Subject: Change in ...osmo-hlr[master]: rx_check_imei_req(): fix IMEI bounds checking In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14399 ) Change subject: rx_check_imei_req(): fix IMEI bounds checking ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I060a8db98fb882e4815d1709a5d85bc0143a73a6 Gerrit-Change-Number: 14399 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 08 Jun 2019 09:59:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 8 10:01:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Jun 2019 10:01:37 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: f_vty_subscr_show(): add invert arg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 ) Change subject: hlr: f_vty_subscr_show(): add invert arg ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14401/1/hlr/HLR_Tests.ttcn File hlr/HLR_Tests.ttcn: https://gerrit.osmocom.org/#/c/14401/1/hlr/HLR_Tests.ttcn at 297 PS1, Line 297: function f_vty_transceive_match(TELNETasp_PT pt, charstring cmd, template charstring exp_ret, I think it's a bit odd to have a function called 'match' which then has an "invert" parameter. I would argue to simply add another function like f_vty_transceive_nomatch. Particluarly as in the end, all but two lines of the two functions are different anyway. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I176d8fd2ee74e1eb7ac797f931cd6005d398740f Gerrit-Change-Number: 14401 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 08 Jun 2019 10:01:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 8 10:05:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Jun 2019 10:05:24 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add Check IMEI tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 ) Change subject: hlr: add Check IMEI tests ...................................................................... Patch Set 1: Code-Review-1 (2 comments) -1 for not using f_vty_config. The other comment is optional. https://gerrit.osmocom.org/#/c/14402/1/hlr/HLR_Tests.ttcn File hlr/HLR_Tests.ttcn: https://gerrit.osmocom.org/#/c/14402/1/hlr/HLR_Tests.ttcn at 364 PS1, Line 364: f_vty_transceive(VTY, "configure terminal"); : f_vty_transceive(VTY, "hlr"); : if (enable) { : f_vty_transceive(VTY, "store-imei"); : } else { : f_vty_transceive(VTY, "no store-imei"); : } we do have elegant helper functions for this, see f_vty_config() for simple cases in the root node, and f_vty_config2() which traverses a path. See examples in BTS_Tests.ttcn and MSC_Tests.ttcn https://gerrit.osmocom.org/#/c/14402/1/hlr/HLR_Tests.ttcn at 602 PS1, Line 602: setverdict(fail, "Unexpected CHECK IMEI ERROR Cause"); if you have the data aleady in 'ret', it might be useful to append it to the setverdict statement like "setverdict(fail, "Unexpected ....", ret)" and hence give more context to the [human] reader of a log output. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97c8462f0817149feadd0c4865e3df6c2af92a80 Gerrit-Change-Number: 14402 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 08 Jun 2019 10:05: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 Sat Jun 8 10:06:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Jun 2019 10:06:46 +0000 Subject: Change in ...docker-playground[master]: Add script to regenerate VTY and counter documentation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14403 ) Change subject: Add script to regenerate VTY and counter documentation ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic5cf7f59de0c18d4c5568b89433c2b11db2a72a5 Gerrit-Change-Number: 14403 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 08 Jun 2019 10:06:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 8 10:09:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Jun 2019 10:09:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: pcu_rr_suspend clean up and release the channel In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14396 ) Change subject: BTS: pcu_rr_suspend clean up and release the channel ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I55827626803ca81b68f905fd0df3126367951f39 Gerrit-Change-Number: 14396 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Sat, 08 Jun 2019 10:09: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 8 10:10:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 8 Jun 2019 10:10:27 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: pcu_rr_suspend clean up and release the channel In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14396 ) Change subject: BTS: pcu_rr_suspend clean up and release the channel ...................................................................... BTS: pcu_rr_suspend clean up and release the channel The testcase failed becaues of an unexpected RSL Error Indication from the LAPDm system which was in the RSL emulation queue when tearing down the test environment. By calling f_rsl_chan_deact() the queue gets flushed until the RSL deactivate channel is received. It's also more clean to release the channel. Fixes: OS#4051 Change-Id: I55827626803ca81b68f905fd0df3126367951f39 --- M bts/BTS_Tests.ttcn 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Hoernchen: 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 9371612..3244b48 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -3999,6 +3999,11 @@ setverdict(fail, "Timeout waiting for SUSP REQ on PCUIF"); } } + + /* release the channel */ + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + f_rslem_unregister(0, g_chan_nr); } testcase TC_pcu_rr_suspend() runs on test_CT { var ConnHdlrPars pars; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I55827626803ca81b68f905fd0df3126367951f39 Gerrit-Change-Number: 14396 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Jun 9 02:39:30 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Jun 2019 02:39:30 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5cfc716c88a55_2a9c4f65f038673d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 451s] -Returned: 0, Current node: 1 '%s> ' [ 451s] -Going to execute 'ambiguous_str' [ 451s] -Called: 'ambiguous_str [ARG]' (argc=0) [ 451s] -Returned: 0, Current node: 1 '%s> ' [ 451s] -Going to execute 'ambiguous_str arg' [ 451s] -Called: 'ambiguous_str [ARG]' (argc=1) [ 451s] -Returned: 0, Current node: 1 '%s> ' [ 451s] -Going to execute 'ambiguous_str arg keyword' [ 451s] -Called: 'ambiguous_str ARG keyword' [ 451s] -Returned: 0, Current node: 1 '%s> ' [ 451s] -All tests passed [ 451s] ./testsuite.at:196: exit code was 139, expected 0 [ 451s] 31. testsuite.at:192: 31. vty (testsuite.at:192): FAILED (testsuite.at:196) [ 451s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 451s] make[1]: *** [override_dh_auto_test] Error 1 [ 451s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 451s] debian/rules:15: recipe for target 'build' failed [ 451s] make: *** [build] Error 2 [ 451s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 451s] [ 451s] armbuild21 failed "build libosmocore_1.1.0.49.8c9b.dsc" at Sun Jun 9 02:39:11 UTC 2019. [ 451s] [ 451s] ### VM INTERACTION START ### [ 454s] [ 437.016197] sysrq: SysRq : Power Off [ 454s] [ 437.035437] reboot: Power down [ 454s] ### VM INTERACTION END ### [ 454s] [ 454s] armbuild21 failed "build libosmocore_1.1.0.49.8c9b.dsc" at Sun Jun 9 02:39:15 UTC 2019. [ 454s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Jun 9 03:56:56 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Jun 2019 03:56:56 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5cfc83993727b_2a9c4f65f038816a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 106s] #define VERSION "0.1.0" [ 106s] #define STDC_HEADERS 1 [ 106s] #[ 92.860281] serial8250: too much work for irq4 [ 106s] define HAVE_SYS_TYPES_H 1 [ 106s] #define HAVE_SYS_STAT_H 1 [ 106s] #define HAVE_STDLIB_H 1 [ 106s] #define HAVE_STRING_H 1 [ 106s] #define HAVE_MEMORY_H 1 [ 106s] #define HAVE_STRINGS_H 1 [ 106s] #define HAVE_INTTYPES_H 1 [ 106s] #define HAVE_STDINT_H 1 [ 106s] #define HAVE_UNISTD_H 1 [ 106s] #define HAVE_DLFCN_H 1 [ 106s] #define LT_OBJDIR ".libs/" [ 106s] [ 106s] configure: exit 1 [ 106s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 106s] make: *** [debian/rules:45: build] Error 2 [ 106s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 106s] [ 106s] lamb03 failed "build osmo-sysmon_0.1.0.dsc" at Sun Jun 9 03:56:51 UTC 2019. [ 106s] [ 106s] ### VM INTERACTION START ### [ 110s] [ 96.127389] sysrq: SysRq : Power Off [ 110s] [ 96.136282] reboot: Power down [ 110s] ### VM INTERACTION END ### [ 110s] [ 110s] lamb03 failed "build osmo-sysmon_0.1.0.dsc" at Sun Jun 9 03:56:55 UTC 2019. [ 110s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Jun 9 03:59:30 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Jun 2019 03:59:30 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5cfc842beb3cd_2a9c4f65f0388280@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Testing/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 95s] | #define HAVE_MEMORY_H 1 [ 95s] | #define HAVE_STRINGS_H 1 [ 95s] | #define HAVE_INTTYPES_H 1 [ 95s] | #define HAVE_STDINT_H 1 [ 95s] | #define HAVE_UNISTD_H 1 [ 95s] | #define HAVE_DLFCN_H 1 [ 95s] | #define LT_OBJDIR ".libs/" [ 95s] | #define BUILD_SMPP 1 [ 95s] | #define STDC_HEADERS 1 [ 95s] | #define HAVE_DBI_DBD_H 1 [ 95s] | #define HAVE_PCAP_PCAP_H 1 [ 95s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 95s] | [ 95s] | configure: exit 0 [ 95s] [ 95s] make[1]: *** [debian/rules:30: override_dh_auto_test] Error 1 [ 95s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 95s] make: *** [debian/rules:13: build] Error 2 [ 95s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 95s] [ 95s] build77 failed "build openbsc_1.2.0.dsc" at Sun Jun 9 03:59:24 UTC 2019. [ 95s] [ 95s] ### VM INTERACTION START ### [ 98s] [ 88.756190] sysrq: SysRq : Power Off [ 98s] [ 88.758065] reboot: Power down [ 98s] ### VM INTERACTION END ### [ 98s] [ 98s] build77 failed "build openbsc_1.2.0.dsc" at Sun Jun 9 03:59:27 UTC 2019. [ 98s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Jun 9 06:52:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 9 Jun 2019 06:52:06 +0000 Subject: Change in ...libosmocore[master]: gsm48_decode_bcd_number2: fix ENOSPC edge case In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14397 ) Change subject: gsm48_decode_bcd_number2: fix ENOSPC edge case ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie05900aca50cc7fe8a45d17844dbfcd905fd82fe Gerrit-Change-Number: 14397 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 09 Jun 2019 06: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 Sun Jun 9 06:52:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 9 Jun 2019 06:52:10 +0000 Subject: Change in ...libosmocore[master]: gsm48_decode_bcd_number2: fix ENOSPC edge case In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14397 ) Change subject: gsm48_decode_bcd_number2: fix ENOSPC edge case ...................................................................... gsm48_decode_bcd_number2: fix ENOSPC edge case Return ENOSPC if the decoding buffer is one byte too small, instead of returning 0 and silently truncating the string. Add a new "truncated" variable to detect if the loop breaks in the final iteration. The string is not truncated if there is exactly one 0xf ('\0') higher nibble remaining. This is covered by the existing test case "long 15-digit (maximum) MSISDN, limited buffer". Related: OS#4049 Change-Id: Ie05900aca50cc7fe8a45d17844dbfcd905fd82fe --- M src/gsm/gsm48_ie.c M tests/gsm0408/gsm0408_test.c M tests/gsm0408/gsm0408_test.ok 3 files changed, 28 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/gsm/gsm48_ie.c b/src/gsm/gsm48_ie.c index 59f931b..31028ba 100644 --- a/src/gsm/gsm48_ie.c +++ b/src/gsm/gsm48_ie.c @@ -82,6 +82,7 @@ { uint8_t in_len; int i; + bool truncated = false; if (output_len < 1) return -ENOSPC; *output = '\0'; @@ -94,14 +95,23 @@ for (i = 1 + h_len; i <= in_len; i++) { /* lower nibble */ - if (output_len <= 1) + if (output_len <= 1) { + truncated = true; break; + } *output++ = bcd_num_digits[bcd_lv[i] & 0xf]; output_len--; /* higher nibble */ - if (output_len <= 1) + if (output_len <= 1) { + /* not truncated if there is exactly one 0xf ('\0') higher nibble remaining */ + if (i == in_len && (bcd_lv[i] & 0xf0) == 0xf0) { + break; + } + + truncated = true; break; + } *output++ = bcd_num_digits[bcd_lv[i] >> 4]; output_len--; } @@ -109,7 +119,7 @@ *output++ = '\0'; /* Indicate whether the output was truncated */ - if (i < in_len) + if (truncated) return -ENOSPC; return 0; diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c index b5f8061..db1d45a 100644 --- a/tests/gsm0408/gsm0408_test.c +++ b/tests/gsm0408/gsm0408_test.c @@ -727,6 +727,17 @@ .dec_ascii = "(none)", .dec_rc = -EIO, }, + { + .test_name = "decoding buffer is one byte too small (OS#4049)", + + /* Decoding test */ + .dec_hex = "022143", /* "1234" */ + .dec_ascii = "123", /* '4' was truncated */ + .dec_rc = -ENOSPC, + + /* Buffer length limitations */ + .dec_buf_lim = 4, + }, }; static void test_bcd_number_encode_decode() diff --git a/tests/gsm0408/gsm0408_test.ok b/tests/gsm0408/gsm0408_test.ok index 844c201..d343869 100644 --- a/tests/gsm0408/gsm0408_test.ok +++ b/tests/gsm0408/gsm0408_test.ok @@ -186,6 +186,10 @@ - Decoding HEX (buffer limit=0) ''... - Expected: (rc=-5) '(none)' - Actual: (rc=-5) '(none)' +- Running test: decoding buffer is one byte too small (OS#4049) + - Decoding HEX (buffer limit=4) '022143'... + - Expected: (rc=-28) '123' + - Actual: (rc=-28) '123' Constructed RA: 077-121-666-5 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie05900aca50cc7fe8a45d17844dbfcd905fd82fe Gerrit-Change-Number: 14397 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Sun Jun 9 06:52:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 9 Jun 2019 06:52:18 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add osmo-hlr.cfg In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14400 ) Change subject: hlr: add osmo-hlr.cfg ...................................................................... hlr: add osmo-hlr.cfg Copy osmo-hlr.cfg from docker-playground.git, but replace all IPs with 127.0.0.1. Change-Id: I73f673523dab8765ca87851175fafdec9fc20e1b --- A hlr/osmo-hlr.cfg 1 file changed, 23 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/hlr/osmo-hlr.cfg b/hlr/osmo-hlr.cfg new file mode 100644 index 0000000..a17881e --- /dev/null +++ b/hlr/osmo-hlr.cfg @@ -0,0 +1,23 @@ +! +! OsmoHLR example configuration +! +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 1 + logging print extended-timestamp 1 + logging level all debug + logging level linp error +! +line vty + bind 127.0.0.1 +ctrl + bind 127.0.0.1 +hlr + gsup + bind ip 127.0.0.1 + euse foobar + ussd route prefix *#100 internal own-msisdn + ussd route prefix *#101 internal own-imsi + ussd route prefix *100 external foobar -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I73f673523dab8765ca87851175fafdec9fc20e1b Gerrit-Change-Number: 14400 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 9 06:53:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 9 Jun 2019 06:53:28 +0000 Subject: Change in ...osmo-bsc[master]: manuals: Add script to update vtr/counter documentation from docker In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14404 ) Change subject: manuals: Add script to update vtr/counter documentation from docker ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/14404/1/doc/manuals/Makefile.am File doc/manuals/Makefile.am: https://gerrit.osmocom.org/#/c/14404/1/doc/manuals/Makefile.am at 12 PS1, Line 12: regen_docs.sh \ singular/plural doesn't match -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iedd1f55d021231d86c19b6f14ff296e3a55148c8 Gerrit-Change-Number: 14404 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 09 Jun 2019 06:53: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 Sun Jun 9 06:53:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 9 Jun 2019 06:53:57 +0000 Subject: Change in ...osmo-pcu[master]: EDGE: fix wrong encoding of LH bits In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/3991 ) Change subject: EDGE: fix wrong encoding of LH bits ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/3991 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I75dd5bebc74eea85edf9582607c774d0bba0d2a6 Gerrit-Change-Number: 3991 Gerrit-PatchSet: 3 Gerrit-Owner: Minh-Quang Nguyen Gerrit-Assignee: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: Minh-Quang Nguyen Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: laforge Gerrit-CC: lynxis lazus Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 9 06:54:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 9 Jun 2019 06:54:29 +0000 Subject: Change in ...osmo-trx[master]: lms: Drop unusued variable masterClockRate In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/14367 ) Change subject: lms: Drop unusued variable masterClockRate ...................................................................... lms: Drop unusued variable masterClockRate Change-Id: I19192925d008046f474615a0476b52ddee9a9d78 --- M Transceiver52M/device/lms/LMSDevice.cpp M Transceiver52M/device/lms/LMSDevice.h 2 files changed, 0 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp index 910a6e7..7d3ce81 100644 --- a/Transceiver52M/device/lms/LMSDevice.cpp +++ b/Transceiver52M/device/lms/LMSDevice.cpp @@ -36,8 +36,6 @@ using namespace std; -constexpr double LMSDevice::masterClockRate; - #define MAX_ANTENNA_LIST_SIZE 10 #define LMS_SAMPLE_RATE GSMRATE*32 #define GSM_CARRIER_BW 270000.0 /* 270kHz */ diff --git a/Transceiver52M/device/lms/LMSDevice.h b/Transceiver52M/device/lms/LMSDevice.h index 8b5fe93..9e0944d 100644 --- a/Transceiver52M/device/lms/LMSDevice.h +++ b/Transceiver52M/device/lms/LMSDevice.h @@ -42,9 +42,6 @@ class LMSDevice:public RadioDevice { private: - - static constexpr double masterClockRate = 52.0e6; - lms_device_t *m_lms_dev; std::vector m_lms_stream_rx; std::vector m_lms_stream_tx; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I19192925d008046f474615a0476b52ddee9a9d78 Gerrit-Change-Number: 14367 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 9 06:55:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 9 Jun 2019 06:55:13 +0000 Subject: Change in ...osmo-trx[master]: lms: Fix stream_stats checks with overrun/underrun In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/14368 ) Change subject: lms: Fix stream_stats checks with overrun/underrun ...................................................................... lms: Fix stream_stats checks with overrun/underrun It was initially thought that underruns/overrun fields were increasing-over-time values. However, after reading LimeSuite code, it seems overrun and underrun fields are actually reset upon every call to LMS_GetStreamStatus(). Related: osmo-trx.git 928177125654c1e596ec3450a68882c031ebb929 Related: https://github.com/myriadrf/LimeSuite/issues/265 Change-Id: I677232a7b12ee83d26aa34d92f76a91d4b5a63a6 --- M Transceiver52M/device/lms/LMSDevice.cpp 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp index 7d3ce81..0253d4c 100644 --- a/Transceiver52M/device/lms/LMSDevice.cpp +++ b/Transceiver52M/device/lms/LMSDevice.cpp @@ -583,23 +583,23 @@ return; } - if (status.underrun > m_ctr[chan].rx_underruns) { + if (status.underrun) { changed = true; *underrun = true; LOGCHAN(chan, DDEV, ERROR) << "recv Underrun! (" << m_ctr[chan].rx_underruns << " -> " << status.underrun << ")"; } - m_ctr[chan].rx_underruns = status.underrun; + m_ctr[chan].rx_underruns += status.underrun; - if (status.overrun > m_ctr[chan].rx_overruns) { + if (status.overrun) { changed = true; *overrun = true; LOGCHAN(chan, DDEV, ERROR) << "recv Overrun! (" << m_ctr[chan].rx_overruns << " -> " << status.overrun << ")"; } - m_ctr[chan].rx_overruns = status.overrun; + m_ctr[chan].rx_overruns += status.overrun; if (status.droppedPackets) { changed = true; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I677232a7b12ee83d26aa34d92f76a91d4b5a63a6 Gerrit-Change-Number: 14368 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 admin at opensuse.org Sun Jun 9 10:36:52 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Jun 2019 10:36:52 +0000 Subject: Build failure of network:osmocom:nightly/libusrp in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5cfce148238cc_2a9c4f65f04135b8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libusrp/xUbuntu_18.04/i586 Package network:osmocom:nightly/libusrp failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly libusrp Last lines of build log: STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_DATE_TIME=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_SYSTEM=/**/" -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c db_basic.cc -fPIC -DPIC -o .libs/db_basic.o [ 189s] /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" -DPACKAGE_STRING=\"libusrp\ 3.4.2\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_DATE_TIME=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o db_bitshark_rx.lo db_bitshark_rx.cc [ 190s] libtool: compile: g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" "-DPACKAGE_STRING=\"libusrp 3.4.2\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_DATE_TIME=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_SYSTEM=/**/" -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c db_bitshark_rx.cc -fPIC -DPIC -o .libs/db_bitshark_rx.o [ 191s] /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" -DPACKAGE_STRING=\"libusrp\ 3.4.2\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_DATE_TIME=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o db_tv_rx.lo db_tv_rx.cc [ 192s] libtool: compile: g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" "-DPACKAGE_STRING=\"libusrp 3.4.2\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_DATE_TIME=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_SYSTEM=/**/" -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c db_tv_rx.cc -fPIC -DPIC -o .libs/db_tv_rx.o [ 193s] /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" -DPACKAGE_STRING=\"libusrp\ 3.4.2\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_DATE_TIME=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o db_tv_rx_mimo.lo db_tv_rx_mimo.cc [ 193s] libtool: compile: g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" "-DPACKAGE_STRING=\"libusrp 3.4.2\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_DATE_TIME=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_SYSTEM=/**/" -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c db_tv_rx_mimo.cc -fPIC -DPIC -o .libs/db_tv_rx_mimo.o [ 194s] /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" -DPACKAGE_STRING=\"libusrp\ 3.4.2\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_DATE_TIME=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o db_flexrf.lo db_flexrf.cc [ 194s] libtool: compile: g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" "-DPACKAGE_STRING=\"libusrp 3.4.2\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_DATE_TIME=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_SYSTEM=/**/" -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c db_flexrf.cc -fPIC -DPIC -o .libs/db_flexrf.o [ 196s] /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" -DPACKAGE_STRING=\"libusrp\ 3.4.2\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_DATE_TIME=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o db_flexrf_mimo.lo db_flexrf_mimo.cc [ 197s] libtool: compile: g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" "-DPACKAGE_STRING=\"libusrp 3.4.2\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_DATE_TIME=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_SYSTEM=/**/" -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c db_flexrf_mimo.cc -fPIC -DPIC -o .libs/db_flexrf_mimo.o [ 198s] /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" -DPACKAGE_STRING=\"libusrp\ 3.4.2\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_DATE_TIME=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o db_dbs_rx.lo db_dbs_rx.cc [ 199s] libtool: compile: g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" "-DPACKAGE_STRING=\"libusrp 3.4.2\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_DATE_TIME=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_SYSTEM=/**/" -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c db_dbs_rx.cc -fPIC -DPIC -o .libs/db_dbs_rx.o [ 200s] /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" -DPACKAGE_STRING=\"libusrp\ 3.4.2\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_DATE_TIME=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o db_wbxng.lo db_wbxng.cc [ 201s] libtool: compile: g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" "-DPACKAGE_STRING=\"libusrp 3.4.2\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_DATE_TIME=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_SYSTEM=/**/" -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c db_wbxng.cc -fPIC -DPIC -o .libs/db_wbxng.o [ 202s] /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" -DPACKAGE_STRING=\"libusrp\ 3.4.2\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_DATE_TIME=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o db_xcvr2450.lo db_xcvr2450.cc [ 203s] libtool: compile: g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" "-DPACKAGE_STRING=\"libusrp 3.4.2\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_DATE_TIME=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_SYSTEM=/**/" -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c db_xcvr2450.cc -fPIC -DPIC -o .libs/db_xcvr2450.o [ 209s] /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" -DPACKAGE_STRING=\"libusrp\ 3.4.2\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_DATE_TIME=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o db_dtt754.lo db_dtt754.cc [ 210s] libtool: compile: g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" "-DPACKAGE_STRING=\"libusrp 3.4.2\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_DATE_TIME=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_SYSTEM=/**/" -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c db_dtt754.cc -fPIC -DPIC -o .libs/db_dtt754.o [ 211s] /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.2\" -DPACKAGE_STRING=\"libusrp\ 3.4.2\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_DATE_TIME=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o db_dtt768.lo db_dtt768.cc [ Job seems to be stuck here, killed. (after 28800 seconds of inactivity) -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Jun 9 21:28:02 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Jun 2019 21:28:02 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5cfd7a00458db_2a9c4f65f04722a7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 107s] #define PACKAGE "osmo-sysmon" [ 107s] #define VERSION "0.1.0" [ 107s] #define STDC_HEADERS 1 [ 107s] #define HAVE_SYS_TYPES_H 1 [ 107s] #define HAVE_SYS_STAT_H 1 [ 107s] #define HAVE_STDLIB_H 1 [ 107s] #define HAVE_STRING_H 1 [ 107s] #define HAVE_MEMORY_H 1 [ 107s] #define HAVE_STRINGS_H 1 [ 107s] #define HAVE_INTTYPES_H 1 [ 107s] #define HAVE_STDINT_H 1 [ 107s] #define HAVE_UNISTD_H 1 [ 107s] #define HAVE_DLFCN_H 1 [ 107s] #define LT_OBJDIR ".libs/" [ 107s] [ 107s] configure: exit 1 [ 107s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 107s] make: *** [debian/rules:45: build] Error 2 [ 107s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 107s] [ 107s] lamb27 failed "build osmo-sysmon_0.1.0.dsc" at Sun Jun 9 21:27:47 UTC 2019. [ 107s] [ 107s] ### VM INTERACTION START ### [ 110s] [ 97.046045] sysrq: SysRq : Power Off [ 110s] [ 97.051559] reboot: Power down [ 110s] ### VM INTERACTION END ### [ 110s] [ 110s] lamb27 failed "build osmo-sysmon_0.1.0.dsc" at Sun Jun 9 21:27:50 UTC 2019. [ 110s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Jun 9 21:32:19 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 09 Jun 2019 21:32:19 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5cfd7af3be8da_2a9c4f65f047231a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Unstable/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 196s] | pkg_cv_LIBOSMOABIS_CFLAGS=-I/usr/include/ [ 196s] | pkg_cv_LIBOSMOABIS_LIBS=-losmoabis [ 196s] | pkg_cv_LIBOSMOCORE_CFLAGS=-I/usr/include/ [ 196s] | pkg_cv_LIBOSMOCORE_LIBS='-ltalloc -losmocore' [ 196s] | pkg_cv_LIBOSMOCTRL_CFLAGS=-I/usr/include/ [ 196s] | pkg_cv_LIBOSMOCTRL_LIBS='-ltalloc -losmoctrl -losmogsm -losmocore' [ 196s] | pkg_cv_LIBOSMOGB_CFLAGS='-fno-strict-aliasing -I/usr/include/' [ 196s] | pkg_cv_LIBOSMOGB_LIBS='-ltalloc -losmogb -losmovty -losmocore' [ 196s] | pkg_cv_LIBOSMOGSM_CFLAGS=-I/usr/include/ [ 196s] | pkg_cv_LIBOSMOGSM_LIBS='-ltalloc -losmogsm -losmocore' [ 196s] | pkg_cv_LIBOSMONETIF_CFLAGS=-I/usr/include/ [ 196s] | pkg_cv_LIBOSMONETIF_LIBS=-losmonetif [ 196s] | pkg_cv_LIBOSMOSCCP_CFLAGS=-I/usr/include/ [ 196s] | pkg_cv_LIBOSMOSCCP_LIBS=-lsccp [ 196s] | pkg_cv_LIBOSMOVTY_CFLAGS=-I/usr/include/ [ 196s] | pkg_cv_LIBOSMOVTY_LIBS='-ltalloc -losmovty -losmocore' [ 196s] | pkg_cv_LIBSMPP34_CFLAGS=-I/usr/include/ [ 196s] | pkg_cv_LIBSMPP34_LIBS=-lsmpp34 [ 196s] | [ 196s] | ## ----------------- ## [ 196s] | ## Output variables. ## [ 196s] | ## ----------------- ## [ 196s] | [ 198s] | ACLOCAL='${SHELL} /usr[ 172.619997] sysrq: SysRq : Power Off [ 198s] [ 172.625503] reboot: Power down [ 200s] ### VM INTERACTION END ### [ 200s] [ 200s] cloud130 failed "build openbsc_1.2.0.dsc" at Sun Jun 9 21:32:12 UTC 2019. [ 200s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Jun 10 02:38:25 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Jun 2019 02:38:25 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5cfdc2ba793ae_2a9c4f65f04814e6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 410s] | This file was extended by libosmocore config.status 1.1.0.50-186f, which was [ 410s] | generated by GNU Autoconf 2.69. Invocation command line was [ 410s] | [ 410s] | CONFIG_FILES = [ 410s] | CONFIG_HEADERS = [ 410s] | CONFIG_LINKS = [ 410s] | CONFIG_COMMANDS = [ 410s] | $ ./config.status Doxyfile.core [ 410s] | [ 410s] | on armbuild25 [ 410s] | [ 410s] | config.status:1200: creating Doxyfile.core [ 410s] [ 410s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 410s] make[1]: *** [override_dh_auto_test] Error 1 [ 410s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 410s] debian/rules:15: recipe for target 'build' failed [ 410s] make: *** [build] Error 2 [ 410s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 410s] [ 410s] armbuild25 failed "build libosmocore_1.1.0.50.186f.dsc" at Mon Jun 10 02:38:20 UTC 2019. [ 410s] [ 410s] ### VM INTERACTION START ### [ 413s] [ 388.526770] sysrq: SysRq : Power Off [ 413s] [ 388.528292] reboot: Power down [ 413s] ### VM INTERACTION END ### [ 413s] [ 413s] armbuild25 failed "build libosmocore_1.1.0.50.186f.dsc" at Mon Jun 10 02:38:23 UTC 2019. [ 413s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Jun 10 19:03:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 Jun 2019 19:03:39 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Introduce test TC_ctrl_location In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407 to look at the new patch set (#2). Change subject: bsc: Introduce test TC_ctrl_location ...................................................................... bsc: Introduce test TC_ctrl_location Related: OS#2012 Change-Id: I3640f6889e3b6adc3b4601082f948543c64a2fe3 --- M bsc/BSC_Tests.ttcn M bsc/expected-results.xml M bsc/regen_makefile.sh M library/Osmocom_CTRL_Adapter.ttcn 4 files changed, 43 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/07/14407/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3640f6889e3b6adc3b4601082f948543c64a2fe3 Gerrit-Change-Number: 14407 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 10 19:03:40 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 Jun 2019 19:03:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Fix trailing whitespace Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14408 Change subject: bsc: Fix trailing whitespace ...................................................................... bsc: Fix trailing whitespace Change-Id: I97c6cc290d6cc23611ac38e7e370b5b0b88cca1d --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M library/Osmocom_CTRL_Functions.ttcn 3 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/08/14408/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 518f9e1..c3275e1 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1263,7 +1263,7 @@ f_bssap_tx_ud(ts_BSSMAP_Paging(imsi, cid_list, tmsi, bssmap_chneed)); -/* FIXME: Disabled due to bugs in both GSM_RR_Types and MobileL3_CommonIE_Types IMSI encoder +/* FIXME: Disabled due to bugs in both GSM_RR_Types and MobileL3_CommonIE_Types IMSI encoder if (isvalue(tmsi)) { mi := valueof(t_Osmo_MI_TMSI(oct2int(valueof(tmsi)))); } else { @@ -3171,7 +3171,7 @@ var octetstring ho_command_str; BSSAP.receive(tr_BSSMAP_HandoverRequestAcknowledge(?)) -> value rx_bssap; - + 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); diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index c7f6495..c709794 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -1091,7 +1091,7 @@ } } [st.rr_ho_cmpl_seen] as_Media_ipacc(); - [st.rr_ho_cmpl_seen] as_Media_mgw(true); + [st.rr_ho_cmpl_seen] as_Media_mgw(true); [st.rr_ho_cmpl_seen] RSL.receive(tr_RSL_DEACT_SACCH(st.old_chan_nr)) { repeat; } diff --git a/library/Osmocom_CTRL_Functions.ttcn b/library/Osmocom_CTRL_Functions.ttcn index 4356ba9..94dcb8a 100644 --- a/library/Osmocom_CTRL_Functions.ttcn +++ b/library/Osmocom_CTRL_Functions.ttcn @@ -6,7 +6,7 @@ * implements blocking functions, instead of asynchronous functions. The * rationale for this is simple: One normally wants to inquire a value or set * a value and not continue the main program until that operation is complete. - * + * * CTRL is a machine-type protocol on how external programs can interact with * an Osmocom program in a structured way. It is intended for programmatic * access (by other software), as opposed to the VTY interface intended for -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97c6cc290d6cc23611ac38e7e370b5b0b88cca1d Gerrit-Change-Number: 14408 Gerrit-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 10 19:03:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 Jun 2019 19:03:41 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/CTRL: Add more helper templates and functions Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14409 Change subject: lib/CTRL: Add more helper templates and functions ...................................................................... lib/CTRL: Add more helper templates and functions Change-Id: Icc6ac860ebd6a719f9e0cb5c5345fb4d39a864ce --- M library/Osmocom_CTRL_Functions.ttcn M library/Osmocom_CTRL_Types.ttcn 2 files changed, 69 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/09/14409/1 diff --git a/library/Osmocom_CTRL_Functions.ttcn b/library/Osmocom_CTRL_Functions.ttcn index 94dcb8a..23fbc30 100644 --- a/library/Osmocom_CTRL_Functions.ttcn +++ b/library/Osmocom_CTRL_Functions.ttcn @@ -71,6 +71,11 @@ } } + /* send a TRAP */ + function f_ctrl_trap(IPA_CTRL_PT pt, CtrlVariable variable, CtrlValue val) { + pt.send(ts_CtrlMsgTrap(variable, val)); + } + /* Expect a matching TRAP */ function f_ctrl_exp_trap(IPA_CTRL_PT pt, template CtrlVariable variable, template CtrlValue val := ?) return CtrlValue { @@ -88,6 +93,26 @@ return rx.trap.val; } + /* Expect a matching SET, optionally answer */ + function f_ctrl_exp_set(IPA_CTRL_PT pt, template CtrlVariable variable, + template CtrlValue val := ?, template (omit) CtrlValue rsp := omit) return CtrlValue { + timer T := 2.0; + var CtrlMessage rx; + T.start; + alt { + [] pt.receive(tr_CtrlMsgSet(variable, val)) -> value rx { + if (ispresent(rsp)) { + pt.send(ts_CtrlMsgSet(rx.cmd.id, valueof(variable), valueof(rsp))); + } + } + [] T.timeout { + setverdict(fail, "Timeout waiting for SET ", variable); + mtc.stop; + } + } + return rx.cmd.val; + } + /* Expect a matching GET result */ function f_ctrl_get_exp(IPA_CTRL_PT pt, CtrlVariable variable, template CtrlValue exp) { var charstring ctrl_resp; diff --git a/library/Osmocom_CTRL_Types.ttcn b/library/Osmocom_CTRL_Types.ttcn index 5c4527e..52be956 100644 --- a/library/Osmocom_CTRL_Types.ttcn +++ b/library/Osmocom_CTRL_Types.ttcn @@ -94,6 +94,50 @@ } } +template CtrlMessage ts_CtrlMsgTrap(CtrlVariable variable, template (omit) CtrlValue val := omit) := { + trap := { + variable := variable, + val := val + } +} + +template CtrlMessage ts_CtrlMsgGetRepl(CtrlId id, CtrlVariable variable, CtrlValue val) := { + resp := { + verb := "GET_REPLY", + id := id, + variable := variable, + val := val + } +}; + +template CtrlMessage ts_CtrlMsgSetRepl(CtrlId id, CtrlVariable variable, CtrlValue val) := { + resp := { + verb := "SET_REPLY", + id := id, + variable := variable, + val := val + } +} + +template CtrlMessage tr_CtrlMsgGet(template CtrlId id, template CtrlVariable variable := ?) := { + cmd := { + verb := "GET", + id := id, + variable := variable, + val := ? + } +} + +template CtrlMessage tr_CtrlMsgSet(template CtrlId id, template CtrlVariable variable := ?, + template CtrlValue val := ?) := { + cmd := { + verb := "SET", + id := id, + variable := variable, + val := val + } +} + template CtrlMessage tr_CtrlMsgGetRepl(template CtrlId id, template CtrlVariable variable := ?) := { resp := { verb := "GET_REPLY", -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icc6ac860ebd6a719f9e0cb5c5345fb4d39a864ce Gerrit-Change-Number: 14409 Gerrit-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 10 19:03:42 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 Jun 2019 19:03:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Move generic code to wait for test into its own function Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14410 Change subject: bscnat: Move generic code to wait for test into its own function ...................................................................... bscnat: Move generic code to wait for test into its own function Change-Id: Ia95ec02d7ca631e037abfbcfc7881b57e37aef5b --- M bsc-nat/BSCNAT_Tests.ttcn 1 file changed, 10 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/10/14410/1 diff --git a/bsc-nat/BSCNAT_Tests.ttcn b/bsc-nat/BSCNAT_Tests.ttcn index 2fab4a3..6b0c757 100644 --- a/bsc-nat/BSCNAT_Tests.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -163,12 +163,8 @@ } -function f_TC_recv_dump(boolean use_osmux := false) runs on test_CT { +function f_wait_finish(timer T) runs on test_CT { var integer i; - timer T := 30.0; - - f_init(use_osmux); - alt { /* wait for BSC to stop. The idea is that the BSC components terminate first */ [] bsc[0].BSC.done { } @@ -182,6 +178,15 @@ } } + +function f_TC_recv_dump(boolean use_osmux := false) runs on test_CT { + timer T := 30.0; + + f_init(use_osmux); + + f_wait_finish(T); +} + testcase TC_recv_dump() runs on test_CT { f_TC_recv_dump(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia95ec02d7ca631e037abfbcfc7881b57e37aef5b Gerrit-Change-Number: 14410 Gerrit-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 10 19:03:42 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 Jun 2019 19:03:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Refactor BSC_MS side code to allow different actions per test Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14411 Change subject: bscnat: Refactor BSC_MS side code to allow different actions per test ...................................................................... bscnat: Refactor BSC_MS side code to allow different actions per test Each test can now plug in different actions to be done by the emulated BSC_MS, by passing a function to f_init(). Old hardcoded behaviour (main()) is renamed and used in already existing tests. Change-Id: Ic82ca333267535c5859e6439deacbf3b1d1fe391 --- M bsc-nat/BSCNAT_Tests.ttcn M bsc-nat/BSC_MS_ConnectionHandler.ttcn M bsc-nat/BSC_MS_Simulation.ttcn 3 files changed, 54 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/11/14411/1 diff --git a/bsc-nat/BSCNAT_Tests.ttcn b/bsc-nat/BSCNAT_Tests.ttcn index 6b0c757..fda065a 100644 --- a/bsc-nat/BSCNAT_Tests.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -25,6 +25,7 @@ import from MSC_Simulation all; import from BSC_MS_Simulation all; +import from BSC_MS_ConnectionHandler all; import from Osmocom_VTY_Functions all; import from TELNETasp_PortType all; @@ -135,7 +136,7 @@ f_vty_transceive(BSCNATVTY, "enable"); } -function f_init(boolean use_osmux) runs on test_CT { +function f_init(void_fn_bsc_ms fn_bsc_ms, boolean use_osmux) runs on test_CT { var integer i; var charstring id; @@ -156,9 +157,12 @@ f_init_BscState(bsc[i], mp_bsc_pc +i, mp_msc_pc, mp_bsc_ssn, mp_msc_ssn); id := "BSC" & int2str(i); bsc[i].BSC := BSC_CT.create(id); + var BSC_MS_TestHdlrParams pars; + pars.sccp_addr_own := bsc[i].sccp_addr_own; + pars.sccp_addr_remote := bsc[i].sccp_addr_peer; + pars.use_osmux := use_osmux; bsc[i].BSC.start(BSC_MS_Simulation.main(mp_nat_ip, mp_nat_port, mp_bsc_ip, mp_bsc_port+i, - bsc[i].sccp_pars, bsc[i].sccp_addr_own, - bsc[i].sccp_addr_peer, use_osmux, id)); + bsc[i].sccp_pars, pars, fn_bsc_ms, id)); } } @@ -182,7 +186,7 @@ function f_TC_recv_dump(boolean use_osmux := false) runs on test_CT { timer T := 30.0; - f_init(use_osmux); + f_init(refers(bsc_ms_establish_fully), use_osmux); f_wait_finish(T); } diff --git a/bsc-nat/BSC_MS_ConnectionHandler.ttcn b/bsc-nat/BSC_MS_ConnectionHandler.ttcn index 7f2ebcd..f7126fd 100644 --- a/bsc-nat/BSC_MS_ConnectionHandler.ttcn +++ b/bsc-nat/BSC_MS_ConnectionHandler.ttcn @@ -25,6 +25,8 @@ import from MGCP_Templates all; import from SDP_Types all; +type function void_fn_bsc_ms(charstring id) runs on BSC_MS_ConnHdlr; + /* this component represents a single subscriber connection at the MSC. * There is a 1:1 mapping between SCCP connections and RAN_ConnHdlr components. * We inherit all component variables, ports, functions, ... from RAN_ConnHdlr */ @@ -34,8 +36,15 @@ var MgcpConnectionId g_mgcp_conn_id; var SDP_Message g_sdp; var BSC_State g_state; + var BSC_MS_TestHdlrParams g_pars; } +type record BSC_MS_TestHdlrParams { + SCCP_PAR_Address sccp_addr_own, + SCCP_PAR_Address sccp_addr_remote, + boolean use_osmux +}; + /* Callback function from general RAN_Emulation whenever a new incoming * SCCP connection arrivces. Must create + start a new component */ private function CreateCallback(BSSAP_N_CONNECT_ind conn_ind, charstring id) @@ -90,7 +99,7 @@ } /* main function processing various incoming events */ -function main(SCCP_PAR_Address sccp_addr_own, SCCP_PAR_Address sccp_addr_remote, boolean use_osmux) +function bsc_ms_establish_fully(charstring id) runs on BSC_MS_ConnHdlr { var PDU_BSSAP bssap; var MgcpCommand mgcp_cmd; @@ -104,8 +113,8 @@ /* generate and send the Complete Layer3 Info */ bssap := f_gen_cl3('901770123456789'H); var BSSAP_Conn_Req creq := { - addr_peer := sccp_addr_remote, - addr_own := sccp_addr_own, + addr_peer := g_pars.sccp_addr_remote, + addr_own := g_pars.sccp_addr_own, bssap := bssap } g_state := BSC_STATE_WAIT_ASS_REQ; @@ -130,12 +139,12 @@ /* respond with CRCX_ACK */ g_state := BSC_STATE_WAIT_MDCX; - if (use_osmux != f_MgcpCmd_contains_par(mgcp_cmd, "X-OSMUX")) { - setverdict(fail, log2str("Received Osmux CID presence doesn't match presence expectancy (", use_osmux, ")")); + if (g_pars.use_osmux != f_MgcpCmd_contains_par(mgcp_cmd, "X-OSMUX")) { + setverdict(fail, log2str("Received Osmux CID presence doesn't match presence expectancy (", g_pars.use_osmux, ")")); self.stop; } - if (use_osmux) { + if (g_pars.use_osmux) { osmux_cid := f_MgcpCmd_extract_osmux_cid(mgcp_cmd); mgcp_resp := ts_CRCX_ACK_osmux(mgcp_cmd.line.trans_id, g_mgcp_conn_id, osmux_cid, g_sdp); } else { diff --git a/bsc-nat/BSC_MS_Simulation.ttcn b/bsc-nat/BSC_MS_Simulation.ttcn index d4e37a4..5feaf0e 100644 --- a/bsc-nat/BSC_MS_Simulation.ttcn +++ b/bsc-nat/BSC_MS_Simulation.ttcn @@ -31,9 +31,7 @@ /* test port to SCCP emulation */ port SCCPasp_PT SCCP; - var SCCP_PAR_Address g_sccp_addr_own; - var SCCP_PAR_Address g_sccp_addr_remote; - var boolean g_use_osmux; + var BSC_MS_TestHdlrParams g_pars; var charstring g_bsc_num_str; } @@ -42,21 +40,41 @@ integer mp_num_iterations := 10; } +/* helper function to create and connect a BSC_MS_ConnHdlr component */ +private function f_connect_handler(inout BSC_MS_ConnHdlr vc_conn) runs on BSC_CT { + /* connect client BSSAP port to BSSAP dispatcher */ + connect(vc_conn:BSSAP, vc_BSSMAP:CLIENT); +} + +private function f_start_handler(void_fn_bsc_ms fn, charstring id, template (omit) BSC_MS_TestHdlrParams pars := omit) +runs on BSC_CT return BSC_MS_ConnHdlr { + var BSC_MS_ConnHdlr vc_conn; + vc_conn := BSC_MS_ConnHdlr.create(id); + f_connect_handler(vc_conn); + vc_conn.start(f_handler_init(fn, id, pars)); + return vc_conn; +} + +/* first function inside ConnHdlr component; sets g_pars + starts function */ +private function f_handler_init(void_fn_bsc_ms fn, charstring id, template (omit) BSC_MS_TestHdlrParams pars := omit) +runs on BSC_MS_ConnHdlr { + if (isvalue(pars)) { + g_pars := valueof(pars); + } + fn.apply(id); +} + function main(charstring remote_ip, PortNumber remote_port, charstring local_ip, PortNumber local_port, MSC_SCCP_MTP3_parameters sccp_pars, - SCCP_PAR_Address sccp_addr_own, - SCCP_PAR_Address sccp_addr_remote, - boolean use_osmux, charstring id) runs on BSC_CT + BSC_MS_TestHdlrParams pars, + void_fn_bsc_ms fn, charstring id) runs on BSC_CT { var integer i := 0; timer T := 1.0; var IPA_CCM_Parameters ccm_pars := IPA_Emulation.c_IPA_default_ccm_pars; ccm_pars.name := id; - - g_sccp_addr_own := sccp_addr_own; - g_sccp_addr_remote := sccp_addr_remote; - g_use_osmux := use_osmux; + g_pars := pars; /* create components for IPA/SCCP/BSS[M]AP stack */ vc_IPA := IPA_Emulation_CT.create(id & "-IPA"); @@ -84,7 +102,7 @@ T.timeout; for (i := 0; i < mp_num_iterations; i := i+1) { - f_start_BSC_MS(id & "-MS-" & int2str(i)); + f_start_BSC_MS(fn, id & "-MS-" & int2str(i)); } /* explicitly stop all components that we started above */ @@ -93,15 +111,10 @@ vc_SCCP.stop; } -function f_start_BSC_MS(charstring id) runs on BSC_CT { +function f_start_BSC_MS(void_fn_bsc_ms fn, charstring id) runs on BSC_CT { var BSC_MS_ConnHdlr vc_conn; - - /* start new component */ - vc_conn := BSC_MS_ConnHdlr.create(id); - /* connect client BSSAP port to BSSAP dispatcher */ - connect(vc_conn:BSSAP, vc_BSSMAP:CLIENT); /* start component */ - vc_conn.start(BSC_MS_ConnectionHandler.main(g_sccp_addr_own, g_sccp_addr_remote, g_use_osmux)); + vc_conn := f_start_handler(fn, id, g_pars); /* blocking wait until component terminates. If you want to start MSs in parallel, * you have to remove this statement here */ vc_conn.done; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic82ca333267535c5859e6439deacbf3b1d1fe391 Gerrit-Change-Number: 14411 Gerrit-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 10 19:03:42 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 Jun 2019 19:03:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Refactor MSC side code to allow different actions per test Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14412 Change subject: bscnat: Refactor MSC side code to allow different actions per test ...................................................................... bscnat: Refactor MSC side code to allow different actions per test Each test can now plug in different acctions to be done by the emulated MSC, by passing a BssmapCreateCallback RAN_Emaulation callback to f_init(). Old hardcoded behaviour (main()) is renamed and used in laready existing tests. New infrastructure provides a generic BssmapCreateCallback taking care of required boilerplate, so new tests/users only need to define a new callback calling that generic one with a function pointer where all test logic is implemented. Change-Id: Ic429420d0d95b6aacb6e5c44031b49c942ed544d --- M bsc-nat/BSCNAT_Tests.ttcn M bsc-nat/MSC_ConnectionHandler.ttcn M bsc-nat/MSC_Simulation.ttcn 3 files changed, 71 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/12/14412/1 diff --git a/bsc-nat/BSCNAT_Tests.ttcn b/bsc-nat/BSCNAT_Tests.ttcn index fda065a..47d894b 100644 --- a/bsc-nat/BSCNAT_Tests.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -16,6 +16,7 @@ import from IPL4asp_Types all; import from IPA_Emulation all; +import from RAN_Emulation all; import from MTP3asp_Types all; @@ -24,6 +25,7 @@ import from SCCP_Emulation all; import from MSC_Simulation all; +import from MSC_ConnectionHandler all; import from BSC_MS_Simulation all; import from BSC_MS_ConnectionHandler all; @@ -136,7 +138,7 @@ f_vty_transceive(BSCNATVTY, "enable"); } -function f_init(void_fn_bsc_ms fn_bsc_ms, boolean use_osmux) runs on test_CT { +function f_init(void_fn_bsc_ms fn_bsc_ms, BssmapCreateCallback cb_msc, boolean use_osmux) runs on test_CT { var integer i; var charstring id; @@ -147,7 +149,9 @@ f_init_MscState(msc[i], mp_msc_pc +i, mp_bsc_pc, mp_msc_ssn, mp_bsc_ssn); id := "MSC" & int2str(i); msc[i].MSC := MSC_CT.create(id); - msc[i].MSC.start(MSC_Simulation.main(mp_msc_ip, mp_msc_port + i, msc[i].sccp_pars, msc[i].sccp_addr_own, id)); + msc[i].MSC.start(MSC_Simulation.main(mp_msc_ip, mp_msc_port + i, + msc[i].sccp_pars, msc[i].sccp_addr_own, + cb_msc, id)); } /* Wait for bsc_nat to attach to MSC. Before that all BSC connections will be dropped */ @@ -186,7 +190,9 @@ function f_TC_recv_dump(boolean use_osmux := false) runs on test_CT { timer T := 30.0; - f_init(refers(bsc_ms_establish_fully), use_osmux); + f_init(refers(bsc_ms_establish_fully), + refers(CreateCallback_establish_fully), + use_osmux); f_wait_finish(T); } diff --git a/bsc-nat/MSC_ConnectionHandler.ttcn b/bsc-nat/MSC_ConnectionHandler.ttcn index c8cb005..e4d3816 100644 --- a/bsc-nat/MSC_ConnectionHandler.ttcn +++ b/bsc-nat/MSC_ConnectionHandler.ttcn @@ -21,6 +21,8 @@ import from MGCP_Templates all; import from SDP_Types all; +type function void_fn_msc(charstring id) runs on MSC_ConnHdlr; + /* this component represents a single subscriber connection at the MSC. * There is a 1:1 mapping between SCCP connections and RAN_ConnHdlr components. * We inherit all component variables, ports, functions, ... from RAN_ConnHdlr */ @@ -32,24 +34,38 @@ var MgcpEndpoint g_ep_name; var MgcpCallId g_call_id; var MgcpConnectionId g_mgcp_conn_id; + var MSC_TestHdlrParams g_pars; } -/* Callback function from general BSSMAP_Emulation whenever a new incoming - * SCCP connection arrivces. Must create + start a new component */ -private function CreateCallback(BSSAP_N_CONNECT_ind conn_ind, charstring id) -runs on RAN_Emulation_CT return RAN_ConnHdlr { - var MSC_ConnHdlr vc_conn; - /* Create a new RAN_ConnHdlr component */ - vc_conn := MSC_ConnHdlr.create(g_ran_id & "-Conn-" & int2str(conn_ind.connectionId)); - /* connect it to the port */ +type record MSC_TestHdlrParams { + integer connection_id, + integer e1_timeslot +}; + +/* helper function to create and connect a MSC_ConnHdlr component */ +private function f_connect_handler(inout MSC_ConnHdlr vc_conn) runs on RAN_Emulation_CT { + /* connect client BSSAP port to BSSAP dispatcher */ connect(vc_conn:BSSAP, self:CLIENT); - /* start it */ - vc_conn.start(MSC_ConnectionHandler.main(conn_ind.connectionId, g_next_e1_ts)); - /* increment next E1 timeslot */ - g_next_e1_ts := g_next_e1_ts + 1; +} + +private function f_msc_start_handler(void_fn_msc fn, charstring id, template (omit) MSC_TestHdlrParams pars := omit) +runs on RAN_Emulation_CT return MSC_ConnHdlr { + var MSC_ConnHdlr vc_conn; + vc_conn := MSC_ConnHdlr.create(id); + f_connect_handler(vc_conn); + vc_conn.start(f_handler_init(fn, id, pars)); return vc_conn; } +/* first function inside ConnHdlr component; sets g_pars + starts function */ +private function f_handler_init(void_fn_msc fn, charstring id, template (omit) MSC_TestHdlrParams pars := omit) +runs on MSC_ConnHdlr { + if (isvalue(pars)) { + g_pars := valueof(pars); + } + fn.apply(id); +} + /* Callback function from general BSSMAP_Emulation whenever a connectionless * BSSMAP message arrives. Can retunr a PDU_BSSAP that should be sent in return */ private function UnitdataCallback(PDU_BSSAP bssap) @@ -63,8 +79,25 @@ return resp; } +/* Callback function from general BSSMAP_Emulation whenever a new incoming + * SCCP connection arrivces. Must create + start a new component */ +private function CreateCallback_generic(void_fn_msc fn, BSSAP_N_CONNECT_ind conn_ind, charstring id) +runs on RAN_Emulation_CT return RAN_ConnHdlr { + var MSC_ConnHdlr vc_conn; + var MSC_TestHdlrParams pars; + pars.connection_id := conn_ind.connectionId; + pars.e1_timeslot := g_next_e1_ts; + + /* Create a new RAN_ConnHdlr component */ + vc_conn := f_msc_start_handler(fn, g_ran_id & "-Conn-" & int2str(conn_ind.connectionId), pars); + + /* increment next E1 timeslot */ + g_next_e1_ts := g_next_e1_ts + 1; + return vc_conn; +} + const RanOps MSC_RanOps := { - create_cb := refers(CreateCallback), + create_cb := omit, unitdata_cb := refers(UnitdataCallback), decode_dtap := false, role_ms := false, @@ -84,14 +117,20 @@ MSC_STATE_WAIT_DLCX_ACK } +/* Callback function from general BSSMAP_Emulation whenever a new incoming + * SCCP connection arrivces. Must create + start a new component */ +function CreateCallback_establish_fully(BSSAP_N_CONNECT_ind conn_ind, charstring id) +runs on RAN_Emulation_CT return RAN_ConnHdlr { + return CreateCallback_generic(refers(f_msc_establish_fully), conn_ind, id); +} /* main function processing various incoming events */ -function main(integer connection_id, integer e1_timeslot) runs on MSC_ConnHdlr { +function f_msc_establish_fully(charstring id) runs on MSC_ConnHdlr { var MgcpResponse mgcp_rsp; timer T := 5.0; - g_sccp_conn_id := connection_id; + g_sccp_conn_id := g_pars.connection_id; g_call_id := f_mgcp_alloc_call_id(); - g_ep_name := hex2str(int2hex(e1_timeslot, 1)) & "@mgw"; + g_ep_name := hex2str(int2hex(g_pars.e1_timeslot, 1)) & "@mgw"; /* we just accepted an incoming SCCP connection, start guard timer */ T.start; @@ -103,7 +142,7 @@ [g_state == MSC_STATE_NONE] BSSAP.receive(tr_BSSMAP_ComplL3) -> value bssap { /* respond with ASSIGNMENT CMD */ g_state := MSC_STATE_WAIT_ASS_COMPL; - BSSAP.send(ts_BSSMAP_AssignmentReq(ts_BSSMAP_IE_CIC(0, e1_timeslot))); + BSSAP.send(ts_BSSMAP_AssignmentReq(ts_BSSMAP_IE_CIC(0, g_pars.e1_timeslot))); } [g_state == MSC_STATE_WAIT_ASS_COMPL] BSSAP.receive(tr_BSSMAP_AssignmentComplete(?,*)) { /* FIXME: Send MGCP CRCX */ diff --git a/bsc-nat/MSC_Simulation.ttcn b/bsc-nat/MSC_Simulation.ttcn index bc47f89..14229cc 100755 --- a/bsc-nat/MSC_Simulation.ttcn +++ b/bsc-nat/MSC_Simulation.ttcn @@ -38,7 +38,8 @@ function main(charstring local_ip, PortNumber local_port, MSC_SCCP_MTP3_parameters sccp_pars, - SCCP_PAR_Address sccp_addr_own, charstring id) runs on MSC_CT + SCCP_PAR_Address sccp_addr_own, + BssmapCreateCallback cb, charstring id) runs on MSC_CT { /* create components */ vc_IPA := IPA_Emulation_CT.create(id & "-IPA"); @@ -64,7 +65,10 @@ vc_IPA.start(IPA_Emulation.main_server(local_ip, local_port)); vc_SCCP.start(SCCPStart(sccp_pars)); - vc_BSSMAP.start(RAN_Emulation.main(MSC_ConnectionHandler.MSC_RanOps, id & "-BSSMAP")); + + var RanOps ranops := MSC_ConnectionHandler.MSC_RanOps; + ranops.create_cb := cb; + vc_BSSMAP.start(RAN_Emulation.main(ranops, id & "-BSSMAP")); /* wait until termination of respective components */ vc_IPA.done; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic429420d0d95b6aacb6e5c44031b49c942ed544d Gerrit-Change-Number: 14412 Gerrit-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 10 19:03:42 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 Jun 2019 19:03:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Add function to run actions on test per BSC component Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14413 Change subject: bscnat: Add function to run actions on test per BSC component ...................................................................... bscnat: Add function to run actions on test per BSC component Will be useful to test stuff on IPA layer BSC<->BSC-NAT. Change-Id: I97e743c79e5e9e7613ab91a1aa9ce2377a237fd5 --- M bsc-nat/BSCNAT_Tests.ttcn M bsc-nat/BSC_MS_Simulation.ttcn 2 files changed, 12 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/13/14413/1 diff --git a/bsc-nat/BSCNAT_Tests.ttcn b/bsc-nat/BSCNAT_Tests.ttcn index 47d894b..81afcfa 100644 --- a/bsc-nat/BSCNAT_Tests.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -138,7 +138,7 @@ f_vty_transceive(BSCNATVTY, "enable"); } -function f_init(void_fn_bsc_ms fn_bsc_ms, BssmapCreateCallback cb_msc, boolean use_osmux) runs on test_CT { +function f_init(void_fn_bsc_ms fn_bsc_ms, void_fn_bsc fn_bsc, BssmapCreateCallback cb_msc, boolean use_osmux) runs on test_CT { var integer i; var charstring id; @@ -166,7 +166,7 @@ pars.sccp_addr_remote := bsc[i].sccp_addr_peer; pars.use_osmux := use_osmux; bsc[i].BSC.start(BSC_MS_Simulation.main(mp_nat_ip, mp_nat_port, mp_bsc_ip, mp_bsc_port+i, - bsc[i].sccp_pars, pars, fn_bsc_ms, id)); + bsc[i].sccp_pars, pars, fn_bsc_ms, fn_bsc, id)); } } @@ -191,6 +191,7 @@ timer T := 30.0; f_init(refers(bsc_ms_establish_fully), + refers(bsc_do_nothing), refers(CreateCallback_establish_fully), use_osmux); diff --git a/bsc-nat/BSC_MS_Simulation.ttcn b/bsc-nat/BSC_MS_Simulation.ttcn index 5feaf0e..fe12305 100644 --- a/bsc-nat/BSC_MS_Simulation.ttcn +++ b/bsc-nat/BSC_MS_Simulation.ttcn @@ -23,6 +23,8 @@ import from BSC_MS_ConnectionHandler all; +type function void_fn_bsc(charstring id) runs on BSC_CT; + type component BSC_CT { /* component references */ var IPA_Emulation_CT vc_IPA; @@ -64,11 +66,15 @@ fn.apply(id); } +function bsc_do_nothing(charstring id) +runs on BSC_CT { +} + function main(charstring remote_ip, PortNumber remote_port, charstring local_ip, PortNumber local_port, MSC_SCCP_MTP3_parameters sccp_pars, BSC_MS_TestHdlrParams pars, - void_fn_bsc_ms fn, charstring id) runs on BSC_CT + void_fn_bsc_ms fn_bsc_ms, void_fn_bsc fn_bsc, charstring id) runs on BSC_CT { var integer i := 0; timer T := 1.0; @@ -102,8 +108,9 @@ T.timeout; for (i := 0; i < mp_num_iterations; i := i+1) { - f_start_BSC_MS(fn, id & "-MS-" & int2str(i)); + f_start_BSC_MS(fn_bsc_ms, id & "-MS-" & int2str(i)); } + fn_bsc.apply(id); /* explicitly stop all components that we started above */ vc_IPA.stop; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97e743c79e5e9e7613ab91a1aa9ce2377a237fd5 Gerrit-Change-Number: 14413 Gerrit-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 10 19:03:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 10 Jun 2019 19:03:43 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: WIP: bscnat: Introduce test TC_ctrl_location Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14414 Change subject: WIP: bscnat: Introduce test TC_ctrl_location ...................................................................... WIP: bscnat: Introduce test TC_ctrl_location Change-Id: If28aba011a1903788cacbc10c0b62954925d4b1f --- M bsc-nat/BSCNAT_Tests.ttcn M bsc-nat/BSC_MS_ConnectionHandler.ttcn M bsc-nat/BSC_MS_Simulation.ttcn M bsc-nat/gen_links.sh M bsc-nat/regen_makefile.sh 5 files changed, 49 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/14/14414/1 diff --git a/bsc-nat/BSCNAT_Tests.ttcn b/bsc-nat/BSCNAT_Tests.ttcn index 81afcfa..39b0cf9 100644 --- a/bsc-nat/BSCNAT_Tests.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -20,6 +20,10 @@ import from MTP3asp_Types all; +import from Osmocom_CTRL_Functions all; +import from Osmocom_CTRL_Types all; +import from Osmocom_CTRL_Adapter all; + import from SCCP_Types all; import from SCCPasp_Types all; import from SCCP_Emulation all; @@ -48,7 +52,7 @@ SCCP_PAR_Address sccp_addr_own } -type component test_CT { +type component test_CT extends CTRL_Adapter_CT { var MscState msc[NUM_MSC]; var BscState bsc[NUM_BSC]; @@ -65,6 +69,9 @@ PortNumber mp_msc_port := 5000; charstring mp_msc_ip := "127.0.0.1"; + /* port number to which to establish the IPA CTRL connection */ + integer mp_nat_ctrl_port := 4250; + /* port number to which to establish the SCCPLite connection */ PortNumber mp_nat_port := 5000; charstring mp_nat_ip := "127.0.0.1"; @@ -144,6 +151,7 @@ f_init_vty("VirtBSCNAT"); f_vty_allow_osmux(use_osmux); + f_ipa_ctrl_start(mp_nat_ip, mp_nat_ctrl_port); for (i := 0; i < NUM_MSC; i := i+1) { f_init_MscState(msc[i], mp_msc_pc +i, mp_bsc_pc, mp_msc_ssn, mp_bsc_ssn); @@ -206,9 +214,24 @@ f_TC_recv_dump(true); } +testcase TC_ctrl_location() runs on test_CT { + timer T := 30.0; + + f_init(refers(bsc_ms_do_nothing), + refers(bsc_ctrl_location), + refers(CreateCallback_establish_fully), + false); + + f_ctrl_exp_trap(IPA_CTRL, "bts.0.location-state", + "1234567,fix3d,0.340000,0.560000,0.780000,operational,unlocked,on,001,01"); + + f_wait_finish(T); +} + control { execute( TC_recv_dump() ); execute( TC_recv_dump_osmux() ); + execute( TC_ctrl_location() ); } } diff --git a/bsc-nat/BSC_MS_ConnectionHandler.ttcn b/bsc-nat/BSC_MS_ConnectionHandler.ttcn index f7126fd..f011c39 100644 --- a/bsc-nat/BSC_MS_ConnectionHandler.ttcn +++ b/bsc-nat/BSC_MS_ConnectionHandler.ttcn @@ -210,4 +210,8 @@ } } +function bsc_ms_do_nothing(charstring id) +runs on BSC_MS_ConnHdlr { +} + } diff --git a/bsc-nat/BSC_MS_Simulation.ttcn b/bsc-nat/BSC_MS_Simulation.ttcn index fe12305..f5e2a3e 100644 --- a/bsc-nat/BSC_MS_Simulation.ttcn +++ b/bsc-nat/BSC_MS_Simulation.ttcn @@ -14,6 +14,9 @@ import from IPA_Emulation all; +import from Osmocom_CTRL_Functions all; +import from Osmocom_CTRL_Types all; + import from SCCP_Types all; import from SCCPasp_Types all; import from SCCP_Emulation all; @@ -32,6 +35,8 @@ var RAN_Emulation_CT vc_BSSMAP; /* test port to SCCP emulation */ port SCCPasp_PT SCCP; + /* test port to SCCPLite CTRL over IPA emulation */ + port IPA_CTRL_PT SCCPLITE_IPA_CTRL; var BSC_MS_TestHdlrParams g_pars; @@ -70,6 +75,15 @@ runs on BSC_CT { } +/* Submit a location-state TRAP BSC->BSC-NAT */ +function bsc_ctrl_location(charstring id) +runs on BSC_CT { + log("Starting main of BSC_CT"); + f_ctrl_trap(SCCPLITE_IPA_CTRL, "bts.0.location-state", + "1234567,fix3d,0.340000,0.560000,0.780000,operational,unlocked,on,001,01"); + f_ctrl_exp_set(SCCPLITE_IPA_CTRL, "rf_locked", "1", "1"); +} + function main(charstring remote_ip, PortNumber remote_port, charstring local_ip, PortNumber local_port, MSC_SCCP_MTP3_parameters sccp_pars, @@ -97,6 +111,11 @@ /* connect BSSMAP dispatcher to IPA_Emulation MGCP */ connect(vc_BSSMAP:MGCP, vc_IPA:IPA_MGCP_PORT); + /* connect BSSMAP dispatcher to IPA_Emulation CTRL */ + connect(vc_BSSMAP:CTRL, vc_IPA:IPA_CTRL_PORT); + + /* connect BSSMAP dispatcher to IPA_Emulation CTRL */ + connect(self:SCCPLITE_IPA_CTRL, vc_BSSMAP:CTRL_CLIENT); /* start components */ vc_IPA.start(IPA_Emulation.main_client(remote_ip, remote_port, local_ip, local_port, ccm_pars)); diff --git a/bsc-nat/gen_links.sh b/bsc-nat/gen_links.sh index 01d4c7b..5da9d4e 100755 --- a/bsc-nat/gen_links.sh +++ b/bsc-nat/gen_links.sh @@ -52,7 +52,7 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc Osmocom_CTRL_Types.ttcn Osmocom_VTY_Functions.ttcn Osmocom_CTRL_Functions.ttcn BSSAP_CodecPort.ttcn" +FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc Osmocom_CTRL_Types.ttcn Osmocom_VTY_Functions.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn BSSAP_CodecPort.ttcn" gen_links $DIR $FILES ignore_pp_results diff --git a/bsc-nat/regen_makefile.sh b/bsc-nat/regen_makefile.sh index 0f3cfab..c9d744e 100755 --- a/bsc-nat/regen_makefile.sh +++ b/bsc-nat/regen_makefile.sh @@ -4,6 +4,6 @@ FILES="*.ttcn *.ttcnpp SCCP_EncDec.cc IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc RTP_EncDec.cc SDP_EncDec.cc *.c MGCP_CodecPort_CtrlFunctDef.cc TELNETasp_PT.cc" -export CPPFLAGS_TTCN3="-DIPA_EMULATION_SCCP -DIPA_EMULATION_MGCP -DRAN_EMULATION_BSSAP -DRAN_EMULATION_MGCP -DUSE_MTP3_DISTRIBUTOR" +export CPPFLAGS_TTCN3="-DIPA_EMULATION_SCCP -DIPA_EMULATION_MGCP -DIPA_EMULATION_CTRL -DRAN_EMULATION_BSSAP -DRAN_EMULATION_MGCP -DRAN_EMULATION_CTRL -DUSE_MTP3_DISTRIBUTOR" ../regen-makefile.sh $MAIN $FILES -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If28aba011a1903788cacbc10c0b62954925d4b1f Gerrit-Change-Number: 14414 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Jun 10 21:28:53 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 10 Jun 2019 21:28:53 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5cfecba01b1e0_2a9c4f65f0561847@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Unstable/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 162s] | configure: exit 0 [ 162s] [ 162s] # -*- compilation -*- [ 162s] 4. testsuite.at:23: testing db ... [ 162s] ./testsuite.at:28: $abs_top_builddir/tests/db/db_test [ 162s] --- expout 2019-06-10 21:28:34.412000000 +0000 [ 162s] +++ /usr/src/packages/BUILD/openbsc/tests/testsuite.dir/at-groups/4/stdout 2019-06-10 21:28:34.552000000 +0000 [ 162s] @@ -1,4 +1,6 @@ [ 162s] Testing subscriber database code. [ 162s] DB: Database initialized. [ 162s] +no tables in statement ! [ 162s] +no tables in statement ! [ 162s] DB: Database prepared. [ 162s] Done [ 162s] 4. testsuite.at:23: 4. db (testsuite.at:23): FAILED (testsuite.at:28) [ 163s] make[1]: *** [debian/rules:30: override_dh_auto_test] Error 1 [ 163s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 163s] make: *** [debian/rules:13: build] Error 2 [ 163s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 163s] [ 163s] lamb51 failed "build openbsc_1.2.0.dsc" at Mon Jun 10 21:28:35 UTC 2019. [ 163s] [ 163s] ### VM INTERACTION START ### [ 166s] [ 152.324762] sysrq: SysRq : Power Off [ 166s] [ 152.333198] reboot: Power down [ 166s] ### VM INTERACTION END ### [ 166s] [ 166s] lamb51 failed "build openbsc_1.2.0.dsc" at Mon Jun 10 21:28:39 UTC 2019. [ 166s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 11 02:38:53 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 11 Jun 2019 02:38:53 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5cff144a2a719_2a9c4f65f0564479@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 451s] | This file was extended by libosmocore config.status 1.1.0.50-186f, which was [ 451s] | generated by GNU Autoconf 2.69. Invocation command line was [ 451s] | [ 451s] | CONFIG_FILES = [ 451s] | CONFIG_HEADERS = [ 451s] | CONFIG_LINKS = [ 451s] | CONFIG_COMMANDS = [ 451s] | $ ./config.status Doxyfile.core [ 451s] | [ 451s] | on armbuild21 [ 451s] | [ 451s] | config.status:1200: creating Doxyfile.core [ 451s] [ 451s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 451s] make[1]: *** [override_dh_auto_test] Error 1 [ 451s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 451s] debian/rules:15: recipe for target 'build' failed [ 451s] make: *** [build] Error 2 [ 451s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 451s] [ 451s] armbuild21 failed "build libosmocore_1.1.0.50.186f.dsc" at Tue Jun 11 02:38:44 UTC 2019. [ 451s] [ 451s] ### VM INTERACTION START ### [ 453s] [ 436.528828] sysrq: SysRq : Power Off [ 454s] [ 436.554591] reboot: Power down [ 454s] ### VM INTERACTION END ### [ 454s] [ 454s] armbuild21 failed "build libosmocore_1.1.0.50.186f.dsc" at Tue Jun 11 02:38:47 UTC 2019. [ 454s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Jun 11 06:46:07 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 11 Jun 2019 06:46:07 +0000 Subject: Change in ...osmo-hlr[master]: rx_check_imei_req(): fix IMEI bounds checking In-Reply-To: References: Message-ID: Hello fixeria, pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/14399 to look at the new patch set (#3). Change subject: rx_check_imei_req(): fix IMEI bounds checking ...................................................................... rx_check_imei_req(): fix IMEI bounds checking IMEIs (without the checksum) always have 14 digits. Replace the previous check (length <= 14) with a proper one (length == 14) and set the buffer to the right size. While at it, add the return code of gsm48_decode_bc_number2() to the error log message. I have tested with new TTCN3 tests, that the length check is working properly now. Related: OS#2541 Change-Id: I060a8db98fb882e4815d1709a5d85bc0143a73a6 --- M src/hlr.c 1 file changed, 17 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/99/14399/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I060a8db98fb882e4815d1709a5d85bc0143a73a6 Gerrit-Change-Number: 14399 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 06:47:28 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 11 Jun 2019 06:47:28 +0000 Subject: Change in ...osmo-hlr[master]: rx_check_imei_req(): fix IMEI bounds checking In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14399 ) Change subject: rx_check_imei_req(): fix IMEI bounds checking ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/14399/1/src/hlr.c File src/hlr.c: https://gerrit.osmocom.org/#/c/14399/1/src/hlr.c at 483 PS1, Line 483: gsm48_decode_bcd_number2 > > [...] we would need to add another if() block beforehand [...] [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I060a8db98fb882e4815d1709a5d85bc0143a73a6 Gerrit-Change-Number: 14399 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 Jun 2019 06:47:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 07:31:58 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 11 Jun 2019 07:31:58 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add f_vty_subscr_show_nomatch() In-Reply-To: References: Message-ID: Hello fixeria, pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 to look at the new patch set (#2). Change subject: hlr: add f_vty_subscr_show_nomatch() ...................................................................... hlr: add f_vty_subscr_show_nomatch() Allow to check if a certain pattern does not match the "show subscriber" output. This will be used by upcoming tests for the check IMEI GSUP message type, to check if the IMEI was not stored, depending on the OsmoHLR configuration. Change-Id: I176d8fd2ee74e1eb7ac797f931cd6005d398740f --- M hlr/HLR_Tests.ttcn 1 file changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/01/14401/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I176d8fd2ee74e1eb7ac797f931cd6005d398740f Gerrit-Change-Number: 14401 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 07:31:58 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 11 Jun 2019 07:31:58 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add Check IMEI tests In-Reply-To: References: Message-ID: Hello fixeria, pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 to look at the new patch set (#2). Change subject: hlr: add Check IMEI tests ...................................................................... hlr: add Check IMEI tests Create tests for most code paths of rx_check_imei_req() in hlr.c (except for subscriber create on demand, this will be in an upcoming patch). Add missing message types to GSUP_Types.ttcn, and adjust the IMEI and IMEI_Result IEs for consistency with the existing IEs, and to make the tests compile. Related: OS#2541 Change-Id: I97c8462f0817149feadd0c4865e3df6c2af92a80 --- M hlr/HLR_Tests.ttcn M library/GSUP_Types.ttcn 2 files changed, 147 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/02/14402/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97c8462f0817149feadd0c4865e3df6c2af92a80 Gerrit-Change-Number: 14402 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 07:32:24 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 11 Jun 2019 07:32:24 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add Check IMEI tests In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 ) Change subject: hlr: add Check IMEI tests ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/#/c/14402/1/hlr/HLR_Tests.ttcn File hlr/HLR_Tests.ttcn: https://gerrit.osmocom.org/#/c/14402/1/hlr/HLR_Tests.ttcn at 364 PS1, Line 364: f_vty_transceive(VTY, "configure terminal"); : f_vty_transceive(VTY, "hlr"); : if (enable) { : f_vty_transceive(VTY, "store-imei"); : } else { : f_vty_transceive(VTY, "no store-imei"); : } > we do have elegant helper functions for this, see f_vty_config() for simple cases in the root node, [?] Done https://gerrit.osmocom.org/#/c/14402/1/hlr/HLR_Tests.ttcn at 602 PS1, Line 602: setverdict(fail, "Unexpected CHECK IMEI ERROR Cause"); > if you have the data aleady in 'ret', it might be useful to append it to the setverdict statement li [?] Done https://gerrit.osmocom.org/#/c/14402/1/hlr/HLR_Tests.ttcn at 1175 PS1, Line 1175: res > So you return GSUP_PDU, but never use it? Done -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97c8462f0817149feadd0c4865e3df6c2af92a80 Gerrit-Change-Number: 14402 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 Jun 2019 07:32:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 07:32:51 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 11 Jun 2019 07:32:51 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add f_vty_subscr_show_nomatch() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 ) Change subject: hlr: add f_vty_subscr_show_nomatch() ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14401/1/hlr/HLR_Tests.ttcn File hlr/HLR_Tests.ttcn: https://gerrit.osmocom.org/#/c/14401/1/hlr/HLR_Tests.ttcn at 297 PS1, Line 297: function f_vty_transceive_match(TELNETasp_PT pt, charstring cmd, template charstring exp_ret, > I think it's a bit odd to have a function called 'match' which then has an "invert" parameter. [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I176d8fd2ee74e1eb7ac797f931cd6005d398740f Gerrit-Change-Number: 14401 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 11 Jun 2019 07:32:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 07:59:23 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 11 Jun 2019 07:59:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add Check IMEI tests In-Reply-To: References: Message-ID: Hello fixeria, pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 to look at the new patch set (#3). Change subject: hlr: add Check IMEI tests ...................................................................... hlr: add Check IMEI tests Create tests for most code paths of rx_check_imei_req() in hlr.c (except for subscriber create on demand, this will be in an upcoming patch). Add missing message types to GSUP_Types.ttcn, and adjust the IMEI and IMEI_Result IEs for consistency with the existing IEs, and to make the tests compile. Related: OS#2541 Change-Id: I97c8462f0817149feadd0c4865e3df6c2af92a80 --- M hlr/HLR_Tests.ttcn M library/GSUP_Types.ttcn 2 files changed, 139 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/02/14402/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97c8462f0817149feadd0c4865e3df6c2af92a80 Gerrit-Change-Number: 14402 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 08:43:03 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 Jun 2019 08:43:03 +0000 Subject: Change in ...osmo-hlr[master]: rx_check_imei_req(): fix IMEI bounds checking In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14399 ) Change subject: rx_check_imei_req(): fix IMEI bounds checking ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I060a8db98fb882e4815d1709a5d85bc0143a73a6 Gerrit-Change-Number: 14399 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 Jun 2019 08:43:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 10:12:01 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 10:12:01 +0000 Subject: Change in ...docker-playground[master]: bscnat: Bind bsc-nat CTRL on 0.0.0.0 Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/14415 Change subject: bscnat: Bind bsc-nat CTRL on 0.0.0.0 ...................................................................... bscnat: Bind bsc-nat CTRL on 0.0.0.0 Other tests already do it, and allows using the CTRL iface in docker setups where 127.0.0.1 is not used. Change-Id: I6f16dc322d38f9f0870241f3416c81df8ec5481b --- M ttcn3-bscnat-test/osmo-bsc-nat.cfg 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/15/14415/1 diff --git a/ttcn3-bscnat-test/osmo-bsc-nat.cfg b/ttcn3-bscnat-test/osmo-bsc-nat.cfg index ffc3ff0..80d7095 100644 --- a/ttcn3-bscnat-test/osmo-bsc-nat.cfg +++ b/ttcn3-bscnat-test/osmo-bsc-nat.cfg @@ -14,6 +14,9 @@ no login bind 0.0.0.0 ! +ctrl + bind 0.0.0.0 +! mgcp bind ip 172.18.15.20 bind port 2427 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6f16dc322d38f9f0870241f3416c81df8ec5481b Gerrit-Change-Number: 14415 Gerrit-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 11 10:14:58 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 11 Jun 2019 10:14:58 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: add some dynamic power control tests Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14416 Change subject: BTS: add some dynamic power control tests ...................................................................... BTS: add some dynamic power control tests Change-Id: I8a860e6a0371f7e6bbe06d69bd78df607922ef7f --- M bts/BTS_Tests.ttcn M library/RSL_Types.ttcn 2 files changed, 408 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/16/14416/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 3244b48..10574a8 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -193,7 +193,8 @@ float t_guard, ConnL1Pars l1_pars, TestSpecUnion spec optional, - RSL_IE_EncryptionInfo encr optional + RSL_IE_EncryptionInfo encr optional, + BtsBand bts0_band optional } /* Test-specific parameters */ @@ -594,7 +595,8 @@ ms_actual_ta := mp_ms_actual_ta_exp }, spec := omit, - encr := omit + encr := omit, + bts0_band := omit } /*********************************************************************** @@ -1890,6 +1892,363 @@ f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); } +/* 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 */ +function f_TC_rsl_ms_pwr_dyn_ass_updown(charstring id) runs on ConnHdlr { + var uint5_t pwr_var := 7; + var L1ctlDlMessage l1_dl; + + f_trxc_fake_rssi(rxlev2dbm(10)); + f_l1_tune(L1CTL); + RSL.clear; + + var RSL_IE_List addl_ies; + var RSL_IE_MS_Power_Parameters pp; + pp := valueof(ts_RSL_IE_MS_Power_Parameters('aabbcc'O)); + + addl_ies := { + valueof(t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ts_RSL_IE_MS_Power(pwr_var)})), + valueof(t_RSL_IE(RSL_IE_MS_POWER_PARAM, RSL_IE_Body:{ms_power_params := pp})) + }; + + /* establish with power parameters */ + f_est_dchan(more_ies := addl_ies); + + /* set a high value to ensure L1 power control level increases */ + f_trxc_fake_rssi(rxlev2dbm(20)); + + timer T2 := 6.0; + T2.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { + if( not(oct2int(l1_dl.payload.data_ind.payload[0]) > (pwr_var+6))){ + repeat; + } + T2.stop; + } + [] L1CTL.receive { repeat; } + [] T2.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Power Level in L1 header has not increased sufficiently"); + } + } + + /* set a low value to ensure L1 power control level decreases */ + f_trxc_fake_rssi(rxlev2dbm(0)); + + timer T4 := 6.0; + T4.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { + if( not(oct2int(l1_dl.payload.data_ind.payload[0]) <= (pwr_var))){ + repeat; + } + T4.stop; + setverdict(pass, "Power level in L1 decreased/increased as expected"); + } + [] L1CTL.receive { repeat; } + [] T4.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Power Level in L1 header has not decreased sufficiently"); + } + } + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + +} + +/* check that we do not exceed the max power */ +function f_TC_rsl_ms_pwr_dyn_max(charstring id) runs on ConnHdlr { + var uint5_t pwr_var := 7; + var L1ctlDlMessage l1_dl; + + /* set a low value to ensure power increases */ + f_trxc_fake_rssi(rxlev2dbm(10)); + f_l1_tune(L1CTL); + RSL.clear; + + var RSL_IE_List addl_ies; + var RSL_IE_MS_Power_Parameters pp; + pp := valueof(ts_RSL_IE_MS_Power_Parameters('aabbcc'O)); + + addl_ies := { + valueof(t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ts_RSL_IE_MS_Power(pwr_var)})), + valueof(t_RSL_IE(RSL_IE_MS_POWER_PARAM, RSL_IE_Body:{ms_power_params := pp})) + }; + + /* establish with power parameters */ + f_est_dchan(more_ies := addl_ies); + + timer T1 := 10.0; + T1.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { repeat; } + [] L1CTL.receive { repeat; } + [] T1.timeout { + if( oct2int(l1_dl.payload.data_ind.payload[0]) != pwr_var){ + setverdict(pass, "Power level in L1 header should not have changed"); + } + } + } + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + +} + +/* see if we reach the band max power */ +function f_TC_rsl_ms_pwr_dyn_up(charstring id) runs on ConnHdlr { + var L1ctlDlMessage l1_dl; + var uint5_t pwr_var := 15; + var uint5_t pwr_max_var := f_get_max_power_from_band(); + + /* set a low value to ensure power increases */ + f_trxc_fake_rssi(rxlev2dbm(10)); + f_l1_tune(L1CTL); + RSL.clear; + + var RSL_IE_MS_Power ms_power; + ms_power := valueof(ts_RSL_IE_MS_Power(pwr_var)); + var RSL_IE pwr; + pwr := valueof(t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ms_power})); + + /* establish with fixed power level */ + f_est_dchan(more_ies :={pwr}); + + /* check our initial power level */ + f_wait_for_l1_power_level(pwr_var); + + /* update power param to enable power loop + 48.058 The maximum power to be used is indicated in the BS and MS Power elements respectively. */ + var RSL_Message rsl; + rsl := valueof(ts_RSL_MS_PWR_CTRL_with_pp(g_chan_nr, pwr_max_var)); + RSL.send(rsl); + + /* wait, then check that our power level was reduced */ + timer T1 := 10.0; + T1.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { repeat; } + [] L1CTL.receive { repeat; } + [] T1.timeout { + if( f_power_level_is_highest_dbm(oct2int(l1_dl.payload.data_ind.payload[0])) ){ + setverdict(pass, "Power level in L1 header reduced as expected"); + } else { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Power Level in L1 header did not reach the expected value"); + } + } + } + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + +} + +/* see if we reach the band min power */ +function f_TC_rsl_ms_pwr_dyn_down(charstring id) runs on ConnHdlr { + var L1ctlDlMessage l1_dl; + + /* set a high value to ensure power decreases */ + f_trxc_fake_rssi(rxlev2dbm(50)); + f_l1_tune(L1CTL); + RSL.clear; + + var uint5_t pwr_var := 5; + var uint5_t pwr_target_val := 15; + + var RSL_IE_MS_Power ms_power; + ms_power := valueof(ts_RSL_IE_MS_Power(pwr_var)); + var RSL_IE pwr; + pwr := valueof(t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ms_power})); + + /* establish with fixed power level */ + f_est_dchan(more_ies :={pwr}); + + /* check our initial power level */ + f_wait_for_l1_power_level(pwr_var); + + /* update power param to enable power loop + as per spec the supplied ms power IE should set the max allowed power...*/ + var RSL_Message rsl; + rsl := valueof(ts_RSL_MS_PWR_CTRL_with_pp(g_chan_nr, pwr_var)); + RSL.send(rsl); + + /* wait, then check that our power level was increased */ + timer T1 := 10.0; + T1.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { repeat; } + [] L1CTL.receive { repeat; } + [] T1.timeout { + if( f_power_level_is_lowest_dbm(oct2int(l1_dl.payload.data_ind.payload[0])) ){ + setverdict(pass, "Power level in L1 header increased to lowest power value"); + } else { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Power level in L1 header NOT increased to lowest power value"); + } + } + } + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + +} + +function f_wait_for_l1_power_level(integer level) runs on ConnHdlr { + var L1ctlDlMessage l1_dl; + timer T0 := 10.0; + T0.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { + if (not (l1_dl.payload.data_ind.payload[0] == int2oct(level, 1))) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Power level in L1 header != signaled (RSL) power level."); + } + } + [] L1CTL.receive { repeat; } + [] T0.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Timeout waiting for initial power level"); + } + } + T0.stop; +} + +private function f_power_level_is_lowest_dbm(integer level) runs on ConnHdlr return boolean { + var IntegerRecord min_dbm_level; + var IntegerRecord max_dbm_level; + var IntegerRecord x := f_power_from_band(g_pars.bts0_band, min_dbm_level, max_dbm_level); + + for (var integer i := 0; i < sizeof(min_dbm_level); i := i+1) { + if (min_dbm_level[i] == level) { + return true; + } + } + return false; +} + +private function f_power_level_is_highest_dbm(integer level) runs on ConnHdlr return boolean { + var IntegerRecord min_dbm_level; + var IntegerRecord max_dbm_level; + var IntegerRecord x := f_power_from_band(g_pars.bts0_band, min_dbm_level, max_dbm_level); + + for (var integer i := 0; i < sizeof(max_dbm_level); i := i+1) { + if (max_dbm_level[i] == level) { + return true; + } + } + return false; +} + +private function f_get_max_power_from_band() runs on ConnHdlr return integer { + var IntegerRecord min_dbm_level; + var IntegerRecord max_dbm_level; + var IntegerRecord x := f_power_from_band(g_pars.bts0_band, min_dbm_level, max_dbm_level); + return max_dbm_level[0]; +} + +type charstring BtsBand ("GSM450","GSM480","GSM750","GSM810","GSM850","GSM900","DCS1800","PCS1900"); +private function f_power_from_band(in BtsBand band, out IntegerRecord min_dbm_level, out IntegerRecord max_dbm_level) return IntegerRecord { + // 45.005 4.1.1 + var IntegerRecord gsm_power :={31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, + 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, + 2, 1, 0}; + var IntegerRecord dcs_power :={28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, + 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 31, 30, 29}; + var IntegerRecord pcs_power :={15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 31, 30}; + var IntegerRecord rv; + + if((band == "GSM450") + or (band == "GSM480") + or (band == "GSM750") + or (band == "GSM810") + or (band == "GSM850") + or (band == "GSM900")){ + rv := gsm_power; + min_dbm_level := {31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19} ; + max_dbm_level := {2, 1, 0}; + } else if(band == "DCS1800"){ + rv := dcs_power; + min_dbm_level := {28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15}; + max_dbm_level := {29}; + } else if(band == "PCS1900"){ + rv := pcs_power; + min_dbm_level := {15}; + max_dbm_level := {30}; + } + + + return rv; +} + +private function f_vty_get_bts0_band() runs on test_CT return BtsBand { + return f_vty_transceive_match_regex(BTSVTY, "show bts 0", "BTS 0 is of \w+ type in band (\w+),*", 0); +} + +testcase TC_rsl_ms_pwr_dyn_ass_updown() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(testcasename()); + f_vty_config(BTSVTY, "phy 0", "osmotrx ms-power-loop -100"); + pars.bts0_band := f_vty_get_bts0_band(); + for (var integer tn := 1; tn <= 1; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + vc_conn := f_start_handler(refers(f_TC_rsl_ms_pwr_ass_dyn_updown), pars); + vc_conn.done; + } + f_vty_config(BTSVTY, "phy 0", "no osmotrx ms-power-loop"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + +testcase TC_rsl_ms_pwr_dyn_up() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(testcasename()); + f_vty_config(BTSVTY, "phy 0", "osmotrx ms-power-loop -10"); + pars.bts0_band := f_vty_get_bts0_band(); + for (var integer tn := 1; tn <= 1; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + vc_conn := f_start_handler(refers(f_TC_rsl_ms_pwr_dyn_up), pars); + vc_conn.done; + } + f_vty_config(BTSVTY, "phy 0", "no osmotrx ms-power-loop"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + +testcase TC_rsl_ms_pwr_dyn_max() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(testcasename()); + f_vty_config(BTSVTY, "phy 0", "osmotrx ms-power-loop -10"); + pars.bts0_band := f_vty_get_bts0_band(); + for (var integer tn := 1; tn <= 1; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + vc_conn := f_start_handler(refers(f_TC_rsl_ms_pwr_dyn_max), pars); + vc_conn.done; + } + f_vty_config(BTSVTY, "phy 0", "no osmotrx ms-power-loop"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + +testcase TC_rsl_ms_pwr_dyn_down() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(testcasename()); + f_vty_config(BTSVTY, "phy 0", "osmotrx ms-power-loop -100"); + pars.bts0_band := f_vty_get_bts0_band(); + + for (var integer tn := 1; tn <= 1; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + vc_conn := f_start_handler(refers(f_TC_rsl_ms_pwr_dyn_down), pars); + vc_conn.done; + } + f_vty_config(BTSVTY, "phy 0", "no osmotrx ms-power-loop"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + testcase TC_meas_res_sign_tchf() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; @@ -1902,6 +2261,7 @@ } Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } + testcase TC_meas_res_sign_tchh() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; @@ -5494,6 +5854,22 @@ IPA_Testing.f_run_TC_chopped_ipa_payload(mp_rsl_ip, mp_rsl_port, LISTEN_FOR_CLIENT); } + +function f_TC_fake_rssi(charstring id) runs on ConnHdlr { + f_trxc_fake_rssi(rxlev2dbm(50)); + f_sleep(0.5) +} + +testcase TC_fake_rssi() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(testcasename()); + pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + vc_conn := f_start_handler(refers(f_TC_fake_rssi), pars); + vc_conn.done; + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + /* test generation of RLL ERR IND based on Um errors (TS 48.058 3.9) */ /* protocol error as per 44.006 */ /* link layer failure (repetition of I-frame N200 times without ACK */ @@ -5550,6 +5926,10 @@ execute( TC_meas_res_sign_sdcch8() ); execute( TC_meas_res_sign_tchh_toa256() ); execute( TC_rsl_ms_pwr_ctrl() ); + execute( TC_rsl_ms_pwr_dyn_up() ); + execute( TC_rsl_ms_pwr_dyn_down() ); + execute( TC_rsl_ms_pwr_ass_dyn_updown() ); + execute( TC_rsl_ms_pwr_dyn_max() ); execute( TC_rsl_chan_initial_ms_pwr() ); execute( TC_rsl_chan_initial_ta() ); execute( TC_rsl_modify_encr() ); diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 456d6d2..0534b74 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -626,6 +626,18 @@ msg := msg } + /* 9.3.31 */ + type record RSL_IE_MS_Power_Parameters { + uint8_t len, + octetstring params + } with { + variant (len) "LENGTHTO(params)"; + }; + template (value) RSL_IE_MS_Power_Parameters ts_RSL_IE_MS_Power_Parameters(octetstring params) := { + len := 0, /* overwritten */ + params := params + } + /* 9.3.40 */ type enumerated RSL_ChanNeeded { RSL_CHANNEED_ANY ('00'B), @@ -765,6 +777,7 @@ uint8_t handover_ref, RSL_IE_BS_Power bs_power, RSL_IE_MS_Power ms_power, + RSL_IE_MS_Power_Parameters ms_power_params, uint8_t timing_adv, RSL_IE_MultirateCtrl multirate_ctrl, uint8_t msg_id, @@ -819,6 +832,7 @@ handover_ref, iei = RSL_IE_HANDO_REF; bs_power, iei = RSL_IE_BS_POWER; ms_power, iei = RSL_IE_MS_POWER; + ms_power_params, iei = RSL_IE_MS_POWER_PARAM; timing_adv, iei = RSL_IE_TIMING_ADVANCE; multirate_ctrl, iei = RSL_IE_MR_CONTROL; msg_id, iei = RSL_IE_MSG_ID; @@ -1442,6 +1456,18 @@ } } + template (value) RSL_Message ts_RSL_MS_PWR_CTRL_with_pp(template (value) RslChannelNr chan_nr, + integer pwr_level) := { + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_MS_POWER_CONTROL, + ies := { + t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}), + t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ts_RSL_IE_MS_Power(pwr_level)}), + t_RSL_IE(RSL_IE_MS_POWER_PARAM, RSL_IE_Body:{ms_power_params := + ts_RSL_IE_MS_Power_Parameters('aabbcc'O)}) + } + } + /* 8.4.19 BTS -> BSC */ template (value) RSL_Message ts_RSL_RF_CHAN_REL_ACK(template (value) RslChannelNr chan_nr) := ts_RSL_MsgDiscType(ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8a860e6a0371f7e6bbe06d69bd78df607922ef7f Gerrit-Change-Number: 14416 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 Tue Jun 11 10:30:35 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 11 Jun 2019 10:30:35 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: add some dynamic power control tests In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14416 to look at the new patch set (#2). Change subject: BTS: add some dynamic power control tests ...................................................................... BTS: add some dynamic power control tests Change-Id: I8a860e6a0371f7e6bbe06d69bd78df607922ef7f --- M bts/BTS_Tests.ttcn M library/RSL_Types.ttcn 2 files changed, 392 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/16/14416/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8a860e6a0371f7e6bbe06d69bd78df607922ef7f Gerrit-Change-Number: 14416 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 11:11:26 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 11 Jun 2019 11:11:26 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: add some dynamic power control tests In-Reply-To: References: Message-ID: Hoernchen has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14416 ) Change subject: BTS: add some dynamic power control tests ...................................................................... Abandoned i broke my git -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8a860e6a0371f7e6bbe06d69bd78df607922ef7f Gerrit-Change-Number: 14416 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 11:40:56 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 11 Jun 2019 11:40:56 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: add some dynamic power control tests Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14417 Change subject: BTS: add some dynamic power control tests ...................................................................... BTS: add some dynamic power control tests Change-Id: I57489ba22542d859ced767e856634f9060c060f0 --- M bts/BTS_Tests.ttcn M library/RSL_Types.ttcn 2 files changed, 392 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/17/14417/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 3244b48..01170f0 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -193,7 +193,8 @@ float t_guard, ConnL1Pars l1_pars, TestSpecUnion spec optional, - RSL_IE_EncryptionInfo encr optional + RSL_IE_EncryptionInfo encr optional, + BtsBand bts0_band optional } /* Test-specific parameters */ @@ -594,7 +595,8 @@ ms_actual_ta := mp_ms_actual_ta_exp }, spec := omit, - encr := omit + encr := omit, + bts0_band := omit } /*********************************************************************** @@ -1890,6 +1892,363 @@ f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); } +/* 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 */ +function f_TC_rsl_ms_pwr_dyn_ass_updown(charstring id) runs on ConnHdlr { + var uint5_t pwr_var := 7; + var L1ctlDlMessage l1_dl; + + f_trxc_fake_rssi(rxlev2dbm(10)); + f_l1_tune(L1CTL); + RSL.clear; + + var RSL_IE_List addl_ies; + var RSL_IE_MS_Power_Parameters pp; + pp := valueof(ts_RSL_IE_MS_Power_Parameters('aabbcc'O)); + + addl_ies := { + valueof(t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ts_RSL_IE_MS_Power(pwr_var)})), + valueof(t_RSL_IE(RSL_IE_MS_POWER_PARAM, RSL_IE_Body:{ms_power_params := pp})) + }; + + /* establish with power parameters */ + f_est_dchan(more_ies := addl_ies); + + /* set a high value to ensure L1 power control level increases */ + f_trxc_fake_rssi(rxlev2dbm(20)); + + timer T2 := 6.0; + T2.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { + if( not(oct2int(l1_dl.payload.data_ind.payload[0]) > (pwr_var+6))){ + repeat; + } + T2.stop; + } + [] L1CTL.receive { repeat; } + [] T2.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Power Level in L1 header has not increased sufficiently"); + } + } + + /* set a low value to ensure L1 power control level decreases */ + f_trxc_fake_rssi(rxlev2dbm(0)); + + timer T4 := 6.0; + T4.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { + if( not(oct2int(l1_dl.payload.data_ind.payload[0]) <= (pwr_var))){ + repeat; + } + T4.stop; + setverdict(pass, "Power level in L1 decreased/increased as expected"); + } + [] L1CTL.receive { repeat; } + [] T4.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Power Level in L1 header has not decreased sufficiently"); + } + } + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + +} + +/* check that we do not exceed the max power */ +function f_TC_rsl_ms_pwr_dyn_max(charstring id) runs on ConnHdlr { + var uint5_t pwr_var := 7; + var L1ctlDlMessage l1_dl; + + /* set a low value to ensure power increases */ + f_trxc_fake_rssi(rxlev2dbm(10)); + f_l1_tune(L1CTL); + RSL.clear; + + var RSL_IE_List addl_ies; + var RSL_IE_MS_Power_Parameters pp; + pp := valueof(ts_RSL_IE_MS_Power_Parameters('aabbcc'O)); + + addl_ies := { + valueof(t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ts_RSL_IE_MS_Power(pwr_var)})), + valueof(t_RSL_IE(RSL_IE_MS_POWER_PARAM, RSL_IE_Body:{ms_power_params := pp})) + }; + + /* establish with power parameters */ + f_est_dchan(more_ies := addl_ies); + + timer T1 := 10.0; + T1.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { repeat; } + [] L1CTL.receive { repeat; } + [] T1.timeout { + if( oct2int(l1_dl.payload.data_ind.payload[0]) != pwr_var){ + setverdict(fail, "Power level in L1 header should not have changed"); + } + } + } + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + +} + +/* see if we reach the band max power */ +function f_TC_rsl_ms_pwr_dyn_up(charstring id) runs on ConnHdlr { + var L1ctlDlMessage l1_dl; + var uint5_t pwr_var := 15; + var uint5_t pwr_max_var := f_get_max_power_from_band(); + + /* set a low value to ensure power increases */ + f_trxc_fake_rssi(rxlev2dbm(10)); + f_l1_tune(L1CTL); + RSL.clear; + + var RSL_IE_MS_Power ms_power; + ms_power := valueof(ts_RSL_IE_MS_Power(pwr_var)); + var RSL_IE pwr; + pwr := valueof(t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ms_power})); + + /* establish with fixed power level */ + f_est_dchan(more_ies :={pwr}); + + /* check our initial power level */ + f_wait_for_l1_power_level(pwr_var); + + /* update power param to enable power loop + 48.058 The maximum power to be used is indicated in the BS and MS Power elements respectively. */ + var RSL_Message rsl; + rsl := valueof(ts_RSL_MS_PWR_CTRL_with_pp(g_chan_nr, pwr_max_var)); + RSL.send(rsl); + + /* wait, then check that our power level was reduced */ + timer T1 := 10.0; + T1.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { repeat; } + [] L1CTL.receive { repeat; } + [] T1.timeout { + var int8_t rcv := oct2int(l1_dl.payload.data_ind.payload[0]); + if( f_power_level_is_highest_dbm(rcv) ){ + setverdict(pass, "Power level in L1 header reduced as expected"); + } else { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("Power Level in L1 header did not reach the expected value, e:",pwr_max_var," r:",rcv)); + } + } + } + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + +} + +/* see if we reach the band min power */ +function f_TC_rsl_ms_pwr_dyn_down(charstring id) runs on ConnHdlr { + var L1ctlDlMessage l1_dl; + + /* set a high value to ensure power decreases */ + f_trxc_fake_rssi(rxlev2dbm(50)); + f_l1_tune(L1CTL); + RSL.clear; + + var uint5_t pwr_var := 5; + var uint5_t pwr_target_val := 15; + + var RSL_IE_MS_Power ms_power; + ms_power := valueof(ts_RSL_IE_MS_Power(pwr_var)); + var RSL_IE pwr; + pwr := valueof(t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ms_power})); + + /* establish with fixed power level */ + f_est_dchan(more_ies :={pwr}); + + /* check our initial power level */ + f_wait_for_l1_power_level(pwr_var); + + /* update power param to enable power loop + as per spec the supplied ms power IE should set the max allowed power...*/ + var RSL_Message rsl; + rsl := valueof(ts_RSL_MS_PWR_CTRL_with_pp(g_chan_nr, pwr_var)); + RSL.send(rsl); + + /* wait, then check that our power level was increased */ + timer T1 := 10.0; + T1.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { repeat; } + [] L1CTL.receive { repeat; } + [] T1.timeout { + if( f_power_level_is_lowest_dbm(oct2int(l1_dl.payload.data_ind.payload[0])) ){ + setverdict(pass, "Power level in L1 header increased to lowest power value"); + } else { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Power level in L1 header NOT increased to lowest power value"); + } + } + } + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + +} + +function f_wait_for_l1_power_level(integer level) runs on ConnHdlr { + var L1ctlDlMessage l1_dl; + timer T0 := 10.0; + T0.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { + if (not (l1_dl.payload.data_ind.payload[0] == int2oct(level, 1))) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Power level in L1 header != signaled (RSL) power level."); + } + } + [] L1CTL.receive { repeat; } + [] T0.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Timeout waiting for initial power level"); + } + } + T0.stop; +} + +private function f_power_level_is_lowest_dbm(integer level) runs on ConnHdlr return boolean { + var IntegerRecord min_dbm_level; + var IntegerRecord max_dbm_level; + var IntegerRecord x := f_power_from_band(g_pars.bts0_band, min_dbm_level, max_dbm_level); + + for (var integer i := 0; i < sizeof(min_dbm_level); i := i+1) { + if (min_dbm_level[i] == level) { + return true; + } + } + return false; +} + +private function f_power_level_is_highest_dbm(integer level) runs on ConnHdlr return boolean { + var IntegerRecord min_dbm_level; + var IntegerRecord max_dbm_level; + var IntegerRecord x := f_power_from_band(g_pars.bts0_band, min_dbm_level, max_dbm_level); + + for (var integer i := 0; i < sizeof(max_dbm_level); i := i+1) { + if (max_dbm_level[i] == level) { + return true; + } + } + return false; +} + +private function f_get_max_power_from_band() runs on ConnHdlr return integer { + var IntegerRecord min_dbm_level; + var IntegerRecord max_dbm_level; + var IntegerRecord x := f_power_from_band(g_pars.bts0_band, min_dbm_level, max_dbm_level); + return max_dbm_level[0]; +} + +type charstring BtsBand ("GSM450","GSM480","GSM750","GSM810","GSM850","GSM900","DCS1800","PCS1900"); +private function f_power_from_band(in BtsBand band, out IntegerRecord min_dbm_level, out IntegerRecord max_dbm_level) return IntegerRecord { + // 45.005 4.1.1 + var IntegerRecord gsm_power :={31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, + 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, + 2, 1, 0}; + var IntegerRecord dcs_power :={28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, + 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 31, 30, 29}; + var IntegerRecord pcs_power :={15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 31, 30}; + var IntegerRecord rv; + + if((band == "GSM450") + or (band == "GSM480") + or (band == "GSM750") + or (band == "GSM810") + or (band == "GSM850") + or (band == "GSM900")){ + rv := gsm_power; + min_dbm_level := {31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19} ; + max_dbm_level := {2, 1, 0}; + } else if(band == "DCS1800"){ + rv := dcs_power; + min_dbm_level := {28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15}; + max_dbm_level := {29}; + } else if(band == "PCS1900"){ + rv := pcs_power; + min_dbm_level := {15}; + max_dbm_level := {30}; + } + + + return rv; +} + +private function f_vty_get_bts0_band() runs on test_CT return BtsBand { + return f_vty_transceive_match_regex(BTSVTY, "show bts 0", "BTS 0 is of \w+ type in band (\w+),*", 0); +} + +testcase TC_rsl_ms_pwr_dyn_ass_updown() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(); + f_vty_config(BTSVTY, "phy 0", "osmotrx ms-power-loop -100"); + for (var integer tn := 1; tn <= 1; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + pars.bts0_band := f_vty_get_bts0_band(); + vc_conn := f_start_handler(refers(f_TC_rsl_ms_pwr_dyn_ass_updown), pars, trxc_comp := true); + vc_conn.done; + } + f_vty_config(BTSVTY, "phy 0", "no osmotrx ms-power-loop"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + +testcase TC_rsl_ms_pwr_dyn_up() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(); + f_vty_config(BTSVTY, "phy 0", "osmotrx ms-power-loop -10"); + for (var integer tn := 1; tn <= 1; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + pars.bts0_band := f_vty_get_bts0_band(); + vc_conn := f_start_handler(refers(f_TC_rsl_ms_pwr_dyn_up), pars, trxc_comp := true); + vc_conn.done; + } + f_vty_config(BTSVTY, "phy 0", "no osmotrx ms-power-loop"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + +testcase TC_rsl_ms_pwr_dyn_max() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(); + f_vty_config(BTSVTY, "phy 0", "osmotrx ms-power-loop -10"); + for (var integer tn := 1; tn <= 1; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + pars.bts0_band := f_vty_get_bts0_band(); + vc_conn := f_start_handler(refers(f_TC_rsl_ms_pwr_dyn_max), pars, trxc_comp := true); + vc_conn.done; + } + f_vty_config(BTSVTY, "phy 0", "no osmotrx ms-power-loop"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + +testcase TC_rsl_ms_pwr_dyn_down() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(); + f_vty_config(BTSVTY, "phy 0", "osmotrx ms-power-loop -100"); + for (var integer tn := 1; tn <= 1; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + pars.bts0_band := f_vty_get_bts0_band(); + vc_conn := f_start_handler(refers(f_TC_rsl_ms_pwr_dyn_down), pars, trxc_comp := true); + vc_conn.done; + } + f_vty_config(BTSVTY, "phy 0", "no osmotrx ms-power-loop"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + testcase TC_meas_res_sign_tchf() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; @@ -1902,6 +2261,7 @@ } Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } + testcase TC_meas_res_sign_tchh() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; @@ -5550,6 +5910,10 @@ execute( TC_meas_res_sign_sdcch8() ); execute( TC_meas_res_sign_tchh_toa256() ); execute( TC_rsl_ms_pwr_ctrl() ); + execute( TC_rsl_ms_pwr_dyn_up() ); + execute( TC_rsl_ms_pwr_dyn_down() ); + execute( TC_rsl_ms_pwr_dyn_ass_updown() ); + execute( TC_rsl_ms_pwr_dyn_max() ); execute( TC_rsl_chan_initial_ms_pwr() ); execute( TC_rsl_chan_initial_ta() ); execute( TC_rsl_modify_encr() ); diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 456d6d2..0534b74 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -626,6 +626,18 @@ msg := msg } + /* 9.3.31 */ + type record RSL_IE_MS_Power_Parameters { + uint8_t len, + octetstring params + } with { + variant (len) "LENGTHTO(params)"; + }; + template (value) RSL_IE_MS_Power_Parameters ts_RSL_IE_MS_Power_Parameters(octetstring params) := { + len := 0, /* overwritten */ + params := params + } + /* 9.3.40 */ type enumerated RSL_ChanNeeded { RSL_CHANNEED_ANY ('00'B), @@ -765,6 +777,7 @@ uint8_t handover_ref, RSL_IE_BS_Power bs_power, RSL_IE_MS_Power ms_power, + RSL_IE_MS_Power_Parameters ms_power_params, uint8_t timing_adv, RSL_IE_MultirateCtrl multirate_ctrl, uint8_t msg_id, @@ -819,6 +832,7 @@ handover_ref, iei = RSL_IE_HANDO_REF; bs_power, iei = RSL_IE_BS_POWER; ms_power, iei = RSL_IE_MS_POWER; + ms_power_params, iei = RSL_IE_MS_POWER_PARAM; timing_adv, iei = RSL_IE_TIMING_ADVANCE; multirate_ctrl, iei = RSL_IE_MR_CONTROL; msg_id, iei = RSL_IE_MSG_ID; @@ -1442,6 +1456,18 @@ } } + template (value) RSL_Message ts_RSL_MS_PWR_CTRL_with_pp(template (value) RslChannelNr chan_nr, + integer pwr_level) := { + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_MS_POWER_CONTROL, + ies := { + t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}), + t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ts_RSL_IE_MS_Power(pwr_level)}), + t_RSL_IE(RSL_IE_MS_POWER_PARAM, RSL_IE_Body:{ms_power_params := + ts_RSL_IE_MS_Power_Parameters('aabbcc'O)}) + } + } + /* 8.4.19 BTS -> BSC */ template (value) RSL_Message ts_RSL_RF_CHAN_REL_ACK(template (value) RslChannelNr chan_nr) := ts_RSL_MsgDiscType(ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57489ba22542d859ced767e856634f9060c060f0 Gerrit-Change-Number: 14417 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 Tue Jun 11 11:50:57 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 11 Jun 2019 11:50:57 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: add some dynamic power control tests In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14417 to look at the new patch set (#2). Change subject: BTS: add some dynamic power control tests ...................................................................... BTS: add some dynamic power control tests Change-Id: I57489ba22542d859ced767e856634f9060c060f0 --- M bts/BTS_Tests.ttcn M library/RSL_Types.ttcn 2 files changed, 392 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/17/14417/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57489ba22542d859ced767e856634f9060c060f0 Gerrit-Change-Number: 14417 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 13:17:59 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 13:17:59 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/CTRL: Add more helper templates and functions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14409 ) Change subject: lib/CTRL: Add more helper templates and functions ...................................................................... Patch Set 1: Code-Review-1 Fix in progress -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icc6ac860ebd6a719f9e0cb5c5345fb4d39a864ce Gerrit-Change-Number: 14409 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 Jun 2019 13:17: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 11 14:02:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 14:02:43 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Fix trailing whitespace 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/+/14408 to look at the new patch set (#2). Change subject: bsc: Fix trailing whitespace ...................................................................... bsc: Fix trailing whitespace Change-Id: I97c6cc290d6cc23611ac38e7e370b5b0b88cca1d --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M library/IPA_Emulation.ttcnpp M library/Osmocom_CTRL_Functions.ttcn 4 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/08/14408/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97c6cc290d6cc23611ac38e7e370b5b0b88cca1d Gerrit-Change-Number: 14408 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 11 14:02:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 14:02:43 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/RAN: Introduce CTRL_CLIENT port to access CTRL muxed in RAN IPA conn In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14406 to look at the new patch set (#3). Change subject: lib/RAN: Introduce CTRL_CLIENT port to access CTRL muxed in RAN IPA conn ...................................................................... lib/RAN: Introduce CTRL_CLIENT port to access CTRL muxed in RAN IPA conn This is the case for SCCPlite between BSC and MSC (or BSC-NAT). MGCP and CTRL can be multiplexed over the same underlaying IPA conn. Related: OS#2012 Change-Id: Id90c1609f0439b00379166fb9e4028d181fc023e --- M library/RAN_Adapter.ttcnpp M library/RAN_Emulation.ttcnpp 2 files changed, 48 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/06/14406/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id90c1609f0439b00379166fb9e4028d181fc023e Gerrit-Change-Number: 14406 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 Tue Jun 11 14:02:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 14:02:43 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/CTRL: Improve and add more helper templates and functions 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/+/14409 to look at the new patch set (#2). Change subject: lib/CTRL: Improve and add more helper templates and functions ...................................................................... lib/CTRL: Improve and add more helper templates and functions Change-Id: Icc6ac860ebd6a719f9e0cb5c5345fb4d39a864ce --- M library/Osmocom_CTRL_Functions.ttcn M library/Osmocom_CTRL_Types.ttcn 2 files changed, 75 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/09/14409/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icc6ac860ebd6a719f9e0cb5c5345fb4d39a864ce Gerrit-Change-Number: 14409 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 14:02:44 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 14:02:44 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14418 Change subject: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define ...................................................................... lib/IPA_Emulation: Build IPA_CTRL conditionally based on define Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7 --- M library/IPA_Emulation.ttcnpp 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/18/14418/1 diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 3ec6922..2305b7b 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -186,8 +186,10 @@ /* up-facing port for OML */ port IPA_OML_PT IPA_OML_PORT; #endif +#ifdef IPA_EMULATION_CTRL /* up-facing port for CTRL */ port IPA_CTRL_PT IPA_CTRL_PORT; +#endif #ifdef IPA_EMULATION_GSUP /* up-facing port for GSUP */ port IPA_GSUP_PT IPA_GSUP_PORT; @@ -300,9 +302,11 @@ IPA_OML_PORT.send(evt); } #endif +#ifdef IPA_EMULATION_CTRL if (IPA_CTRL_PORT.checkstate("Connected")) { IPA_CTRL_PORT.send(evt); } +#endif #ifdef IPA_EMULATION_GSUP if (IPA_GSUP_PORT.checkstate("Connected")) { IPA_GSUP_PORT.send(evt); @@ -497,10 +501,12 @@ ScanEvents(); } +#ifdef IPA_EMULATION_CTRL private function f_ctrl_to_user(octetstring msg) runs on IPA_Emulation_CT { var charstring msg_ch := oct2char(msg); IPA_CTRL_PORT.send(dec_CtrlMessage(msg_ch)); } +#endif #ifdef IPA_EMULATION_GSUP private function f_gsup_to_user(octetstring msg) runs on IPA_Emulation_CT { @@ -703,11 +709,13 @@ } #endif +#ifdef IPA_EMULATION_CTRL [] IPA_CTRL_PORT.receive(CtrlMessage:?) -> value ctrl_msg { payload := char2oct(enc_CtrlMessage(ctrl_msg)); ipa_ud := valueof(t_ASP_IPA_UD(IPAC_PROTO_OSMO, payload, IPAC_PROTO_EXT_CTRL)); IPA_PORT.send(f_from_asp(g_ipa_conn_id, ipa_ud)); } +#endif #ifdef IPA_EMULATION_GSUP [] IPA_GSUP_PORT.receive(GSUP_PDU:?) -> value gsup_msg { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7 Gerrit-Change-Number: 14418 Gerrit-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 11 14:03:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 14:03:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Introduce test TC_ctrl_location In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14414 ) Change subject: bscnat: Introduce test TC_ctrl_location ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If28aba011a1903788cacbc10c0b62954925d4b1f Gerrit-Change-Number: 14414 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 Jun 2019 14:03:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 14:03:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 14:03:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Add function to run actions on test per BSC component In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14413 ) Change subject: bscnat: Add function to run actions on test per BSC component ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97e743c79e5e9e7613ab91a1aa9ce2377a237fd5 Gerrit-Change-Number: 14413 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 Jun 2019 14:03: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 Tue Jun 11 14:08:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 14:08:18 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define 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/+/14418 to look at the new patch set (#2). Change subject: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define ...................................................................... lib/IPA_Emulation: Build IPA_CTRL conditionally based on define Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7 --- M bts/regen_makefile.sh M library/IPA_Emulation.ttcnpp 2 files changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/18/14418/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7 Gerrit-Change-Number: 14418 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 11 14:10:40 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 14:10:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define 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/+/14418 to look at the new patch set (#3). Change subject: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define ...................................................................... lib/IPA_Emulation: Build IPA_CTRL conditionally based on define Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7 --- M bts/regen_makefile.sh M library/IPA_Emulation.ttcnpp M msc/regen_makefile.sh 3 files changed, 10 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/18/14418/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7 Gerrit-Change-Number: 14418 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 14:14:14 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 14:14:14 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define 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/+/14418 to look at the new patch set (#4). Change subject: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define ...................................................................... lib/IPA_Emulation: Build IPA_CTRL conditionally based on define Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7 --- M bts/regen_makefile.sh M library/IPA_Emulation.ttcnpp M msc/regen_makefile.sh 3 files changed, 10 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/18/14418/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7 Gerrit-Change-Number: 14418 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 14:18:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 14:18:28 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define 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/+/14418 to look at the new patch set (#5). Change subject: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define ...................................................................... lib/IPA_Emulation: Build IPA_CTRL conditionally based on define Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7 --- M bts/regen_makefile.sh M library/IPA_Emulation.ttcnpp M msc/regen_makefile.sh M sccp/regen_makefile.sh 4 files changed, 11 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/18/14418/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7 Gerrit-Change-Number: 14418 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 14:20:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 14:20:28 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define 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/+/14418 to look at the new patch set (#6). Change subject: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define ...................................................................... lib/IPA_Emulation: Build IPA_CTRL conditionally based on define Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7 --- M bts/regen_makefile.sh M library/IPA_Emulation.ttcnpp M msc/regen_makefile.sh M sccp/regen_makefile.sh M selftest/regen_makefile.sh 5 files changed, 12 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/18/14418/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7 Gerrit-Change-Number: 14418 Gerrit-PatchSet: 6 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 11 14:20:52 2019 From: gerrit-no-reply at lists.osmocom.org (roh) Date: Tue, 11 Jun 2019 14:20:52 +0000 Subject: Change in ...osmo-trx[master]: Add VTY commands to set error ctr thresholds In-Reply-To: References: Message-ID: roh has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14168 ) Change subject: Add VTY commands to set error ctr thresholds ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4bcf44dbf064e2e86dfc3b8a2ad18fea76fbd51a Gerrit-Change-Number: 14168 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: roh Gerrit-Comment-Date: Tue, 11 Jun 2019 14:20:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 14:21:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Jun 2019 14:21:11 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14408 ) Change subject: bsc: Fix trailing whitespace ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97c6cc290d6cc23611ac38e7e370b5b0b88cca1d Gerrit-Change-Number: 14408 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 Jun 2019 14:21:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 14:21:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Jun 2019 14:21:35 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/RAN: Introduce CTRL_CLIENT port to access CTRL muxed in RAN IPA conn In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14406 ) Change subject: lib/RAN: Introduce CTRL_CLIENT port to access CTRL muxed in RAN IPA conn ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id90c1609f0439b00379166fb9e4028d181fc023e Gerrit-Change-Number: 14406 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 Jun 2019 14: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 Tue Jun 11 14:23:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Jun 2019 14:23:15 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Introduce test TC_ctrl_location In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407 ) Change subject: bsc: Introduce test TC_ctrl_location ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/14407/3/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/#/c/14407/3/bsc/BSC_Tests.ttcn at 1221 PS3, Line 1221: vc_conn := f_start_handler(refers(f_tc_ctrl_location)); why are we even starting that ConnHandler with an empty function? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3640f6889e3b6adc3b4601082f948543c64a2fe3 Gerrit-Change-Number: 14407 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 Jun 2019 14:23: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 11 14:24:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Jun 2019 14:24:15 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/CTRL: Improve and add more helper templates and functions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14409 ) Change subject: lib/CTRL: Improve and add more helper templates and functions ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icc6ac860ebd6a719f9e0cb5c5345fb4d39a864ce Gerrit-Change-Number: 14409 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 Jun 2019 14:24: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 11 14:24:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Jun 2019 14:24:41 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Move generic code to wait for test into its own function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14410 ) Change subject: bscnat: Move generic code to wait for test into its own function ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia95ec02d7ca631e037abfbcfc7881b57e37aef5b Gerrit-Change-Number: 14410 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 Jun 2019 14: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 Tue Jun 11 14:25:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Jun 2019 14:25:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Refactor BSC_MS side code to allow different actions per test In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14411 ) Change subject: bscnat: Refactor BSC_MS side code to allow different actions per test ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic82ca333267535c5859e6439deacbf3b1d1fe391 Gerrit-Change-Number: 14411 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 Jun 2019 14: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 Tue Jun 11 14:26:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Jun 2019 14:26:15 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Refactor MSC side code to allow different actions per test In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14412 ) Change subject: bscnat: Refactor MSC side code to allow different actions per test ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic429420d0d95b6aacb6e5c44031b49c942ed544d Gerrit-Change-Number: 14412 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 Jun 2019 14:26: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 11 14:28:11 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 14:28:11 +0000 Subject: Change in ...osmo-trx[master]: Add VTY commands to set error ctr thresholds In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14168 ) Change subject: Add VTY commands to set error ctr thresholds ...................................................................... Patch Set 3: Code-Review+2 +1+1 = +2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4bcf44dbf064e2e86dfc3b8a2ad18fea76fbd51a Gerrit-Change-Number: 14168 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: roh Gerrit-Comment-Date: Tue, 11 Jun 2019 14:28: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 11 14:28:17 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 14:28:17 +0000 Subject: Change in ...osmo-trx[master]: Add VTY commands to set error ctr thresholds In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/14168 ) Change subject: Add VTY commands to set error ctr thresholds ...................................................................... Add VTY commands to set error ctr thresholds osmo-trx will validate over time that those thresholds are not reached. If they are reached, osmo-trx will die. As a result, osmo-bts-trx will notice and will end up notifying the BSC about it (for instance because it will also restart its process). For instance: """ ctr-error-threshold rx_drop_events 2 minute ctr-error-threshold rx_underruns 10 second """ In those cases above, osmo-trx will die if rate_ctr rx_drop_events went to a value higher than 2 per minute, or it will die to if rx_underruns went higher than 10 per second. Change-Id: I4bcf44dbf064e2e86dfc3b8a2ad18fea76fbd51a --- M CommonLibs/trx_rate_ctr.cpp M CommonLibs/trx_rate_ctr.h M CommonLibs/trx_vty.c M doc/manuals/chapters/counters.adoc M doc/manuals/chapters/counters_generated.adoc M doc/manuals/vty/trx_vty_reference.xml 6 files changed, 391 insertions(+), 11 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved roh: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/CommonLibs/trx_rate_ctr.cpp b/CommonLibs/trx_rate_ctr.cpp index 711b904..d98caff 100644 --- a/CommonLibs/trx_rate_ctr.cpp +++ b/CommonLibs/trx_rate_ctr.cpp @@ -56,6 +56,7 @@ #include #include #include +#include #include "osmo_signal.h" #include "trx_vty.h" @@ -68,18 +69,34 @@ (non-pending) counter data */ #define PENDING_CHAN_NONE SIZE_MAX +static void *trx_rate_ctr_ctx; + static struct rate_ctr_group** rate_ctrs; static struct device_counters* ctrs_pending; static size_t chan_len; static struct osmo_fd rate_ctr_timerfd; static Mutex rate_ctr_mutex; -enum { - TRX_CTR_RX_UNDERRUNS, - TRX_CTR_RX_OVERRUNS, - TRX_CTR_TX_UNDERRUNS, - TRX_CTR_RX_DROP_EV, - TRX_CTR_RX_DROP_SMPL, +struct osmo_timer_list threshold_timer; +static LLIST_HEAD(threshold_list); +static int threshold_timer_sched_secs; +static bool threshold_initied; + +const struct value_string rate_ctr_intv[] = { + { RATE_CTR_INTV_SEC, "per-second" }, + { RATE_CTR_INTV_MIN, "per-minute" }, + { RATE_CTR_INTV_HOUR, "per-hour" }, + { RATE_CTR_INTV_DAY, "per-day" }, + { 0, NULL } +}; + +const struct value_string trx_chan_ctr_names[] = { + { TRX_CTR_RX_UNDERRUNS, "rx_underruns" }, + { TRX_CTR_RX_OVERRUNS, "rx_overruns" }, + { TRX_CTR_TX_UNDERRUNS, "tx_underruns" }, + { TRX_CTR_RX_DROP_EV, "rx_drop_events" }, + { TRX_CTR_RX_DROP_SMPL, "rx_drop_samples" }, + { 0, NULL } }; static const struct rate_ctr_desc trx_chan_ctr_desc[] = { @@ -155,10 +172,99 @@ return 0; } -/* Init rate_ctr subsystem. Expected to be called during process start by main thread */ +/************************************ + * ctr_threshold APIs + ************************************/ +static const char* ctr_threshold_2_vty_str(struct ctr_threshold *ctr) +{ + static char buf[256]; + int rc = 0; + rc += snprintf(buf, sizeof(buf), "ctr-error-threshold %s", get_value_string(trx_chan_ctr_names, ctr->ctr_id)); + rc += snprintf(buf + rc, sizeof(buf) - rc, " %d %s", ctr->val, get_value_string(rate_ctr_intv, ctr->intv)); + return buf; +} + +static void threshold_timer_cb(void *data) +{ + struct ctr_threshold *ctr_thr; + struct rate_ctr *rate_ctr; + size_t chan; + LOGC(DMAIN, DEBUG) << "threshold_timer_cb fired!"; + + 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]; + LOGCHAN(chan, DMAIN, 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) { + LOGCHAN(chan, DMAIN, FATAL) << "threshold reached, stopping! " << ctr_threshold_2_vty_str(ctr_thr) + << " ("<< rate_ctr->intv[ctr_thr->intv].rate << " vs " << ctr_thr->val << ")"; + osmo_signal_dispatch(SS_MAIN, S_MAIN_STOP_REQUIRED, NULL); + return; + } + } + } + osmo_timer_schedule(&threshold_timer, threshold_timer_sched_secs, 0); +} + +static size_t ctr_threshold_2_seconds(struct ctr_threshold *ctr) +{ + size_t mult = 0; + switch (ctr->intv) { + case RATE_CTR_INTV_SEC: + mult = 1; + break; + case RATE_CTR_INTV_MIN: + mult = 60; + break; + case RATE_CTR_INTV_HOUR: + mult = 60*60; + break; + case RATE_CTR_INTV_DAY: + mult = 60*60*24; + break; + default: + OSMO_ASSERT(false); + } + return mult; +} + +static void threshold_timer_update_intv() { + struct ctr_threshold *ctr, *min_ctr; + size_t secs, min_secs; + + /* Avoid scheduling timer until itself and other structures are prepared + by trx_rate_ctr_init */ + if (!threshold_initied) + return; + + if (llist_empty(&threshold_list)) { + if (osmo_timer_pending(&threshold_timer)) + osmo_timer_del(&threshold_timer); + return; + } + + min_ctr = llist_first_entry(&threshold_list, struct ctr_threshold, list); + min_secs = ctr_threshold_2_seconds(min_ctr); + + llist_for_each_entry(ctr, &threshold_list, list) { + secs = ctr_threshold_2_seconds(ctr); + if( min_secs > secs) + min_secs = secs; + } + + + threshold_timer_sched_secs = OSMO_MAX(min_secs / 2 - 1, 1); + LOGC(DMAIN, INFO) << "New ctr-error-threshold check interval: " + << threshold_timer_sched_secs << " seconds"; + osmo_timer_schedule(&threshold_timer, threshold_timer_sched_secs, 0); +} + +/* Init rate_ctr subsystem. Expected to be called during process start by main thread before VTY is ready */ void trx_rate_ctr_init(void *ctx, struct trx_ctx* trx_ctx) { size_t i; + trx_rate_ctr_ctx = ctx; chan_len = trx_ctx->cfg.num_chans; ctrs_pending = (struct device_counters*) talloc_zero_size(ctx, chan_len * sizeof(struct device_counters)); rate_ctrs = (struct rate_ctr_group**) talloc_zero_size(ctx, chan_len * sizeof(struct rate_ctr_group*)); @@ -177,4 +283,48 @@ exit(1); } osmo_signal_register_handler(SS_DEVICE, device_sig_cb, NULL); + + /* Now set up threshold checks */ + threshold_initied = true; + osmo_timer_setup(&threshold_timer, threshold_timer_cb, NULL); + threshold_timer_update_intv(); +} + +void trx_rate_ctr_threshold_add(struct ctr_threshold *ctr) +{ + struct ctr_threshold *new_ctr; + + new_ctr = talloc_zero(trx_rate_ctr_ctx, struct ctr_threshold); + *new_ctr = *ctr; + LOGC(DMAIN, NOTICE) << "Adding new threshold check: " << ctr_threshold_2_vty_str(new_ctr); + llist_add(&new_ctr->list, &threshold_list); + threshold_timer_update_intv(); +} + +int trx_rate_ctr_threshold_del(struct ctr_threshold *del_ctr) +{ + struct ctr_threshold *ctr; + + llist_for_each_entry(ctr, &threshold_list, list) { + if (ctr->intv != del_ctr->intv || + ctr->ctr_id != del_ctr->ctr_id || + ctr->val != del_ctr->val) + continue; + + LOGC(DMAIN, NOTICE) << "Deleting threshold check: " << ctr_threshold_2_vty_str(del_ctr); + llist_del(&ctr->list); + talloc_free(ctr); + threshold_timer_update_intv(); + return 0; + } + return -1; +} + +void trx_rate_ctr_threshold_write_config(struct vty *vty, char *indent_prefix) +{ + struct ctr_threshold *ctr; + + llist_for_each_entry(ctr, &threshold_list, list) { + vty_out(vty, "%s%s%s", indent_prefix, ctr_threshold_2_vty_str(ctr), VTY_NEWLINE); + } } diff --git a/CommonLibs/trx_rate_ctr.h b/CommonLibs/trx_rate_ctr.h index 48131e7..6e4fa4d 100644 --- a/CommonLibs/trx_rate_ctr.h +++ b/CommonLibs/trx_rate_ctr.h @@ -1,4 +1,29 @@ #pragma once +#include +#include + +enum TrxCtr { + TRX_CTR_RX_UNDERRUNS, + TRX_CTR_RX_OVERRUNS, + TRX_CTR_TX_UNDERRUNS, + TRX_CTR_RX_DROP_EV, + TRX_CTR_RX_DROP_SMPL, +}; + +struct ctr_threshold { + /*! Linked list of all counter groups in the system */ + struct llist_head list; + enum rate_ctr_intv intv; + enum TrxCtr ctr_id; + uint32_t val; +}; + +extern const struct value_string rate_ctr_intv[]; +extern const struct value_string trx_chan_ctr_names[]; + struct trx_ctx; void trx_rate_ctr_init(void *ctx, struct trx_ctx* trx_ctx); +void trx_rate_ctr_threshold_add(struct ctr_threshold *ctr); +int trx_rate_ctr_threshold_del(struct ctr_threshold *del_ctr); +void trx_rate_ctr_threshold_write_config(struct vty *vty, char *indent_prefix); diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c index 06e20ab..4cc827b 100644 --- a/CommonLibs/trx_vty.c +++ b/CommonLibs/trx_vty.c @@ -31,6 +31,7 @@ #include #include +#include "trx_rate_ctr.h" #include "trx_vty.h" #include "../config.h" @@ -347,6 +348,107 @@ return CMD_SUCCESS; } +static int vty_ctr_name_2_id(const char* str) { + size_t i; + for (i = 0; trx_chan_ctr_names[i].str; i++) { + if (strstr(trx_chan_ctr_names[i].str, str)) { + return i; + } + } + return -1; +} + +static int vty_intv_name_2_id(const char* str) { + size_t i; + for (i = 0; rate_ctr_intv[i].str; i++) { + if (strcmp(rate_ctr_intv[i].str, str) == 0) { + return i; + } + } + return -1; +} + +#define THRESHOLD_ARGS "(rx_underruns|rx_overruns|tx_underruns|rx_drop_events|rx_drop_samples)" +#define THRESHOLD_STR_VAL(s) "Set threshold value for rate_ctr device:" OSMO_STRINGIFY_VAL(s) "\n" +#define THRESHOLD_STRS \ + THRESHOLD_STR_VAL(rx_underruns) \ + THRESHOLD_STR_VAL(rx_overruns) \ + THRESHOLD_STR_VAL(tx_underruns) \ + THRESHOLD_STR_VAL(rx_drop_events) \ + THRESHOLD_STR_VAL(rx_drop_samples) +#define INTV_ARGS "(per-second|per-minute|per-hour|per-day)" +#define INTV_STR_VAL(s) "Threshold value sampled " OSMO_STRINGIFY_VAL(s) "\n" +#define INTV_STRS \ + INTV_STR_VAL(per-second) \ + INTV_STR_VAL(per-minute) \ + INTV_STR_VAL(per-hour) \ + INTV_STR_VAL(per-day) + +DEFUN(cfg_ctr_error_threshold, cfg_ctr_error_threshold_cmd, + "ctr-error-threshold " THRESHOLD_ARGS " <0-65535> " INTV_ARGS, + "Threshold rate for error counter\n" + THRESHOLD_STRS + "Value to set for threshold\n" + INTV_STRS) +{ + int rc; + struct ctr_threshold ctr; + + struct trx_ctx *trx = trx_from_vty(vty); + rc = vty_ctr_name_2_id(argv[0]); + if (rc < 0) { + vty_out(vty, "No valid ctr_name found for ctr-error-threshold %s%s", + argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + ctr.ctr_id = (enum TrxCtr)rc; + ctr.val = atoi(argv[1]); + rc = vty_intv_name_2_id(argv[2]); + if (rc < 0) { + vty_out(vty, "No valid time frame found for ctr-error-threshold %s %d %s%s", + argv[0], ctr.val, argv[2], VTY_NEWLINE); + return CMD_WARNING; + } + ctr.intv = (enum rate_ctr_intv) rc; + trx_rate_ctr_threshold_add(&ctr); + + return CMD_SUCCESS; +} + +DEFUN(cfg_no_ctr_error_threshold, cfg_no_ctr_error_threshold_cmd, + "no ctr-error-threshold " THRESHOLD_ARGS " <0-65535> " INTV_ARGS, + NO_STR "Threshold rate for error counter\n" + THRESHOLD_STRS + "Value to set for threshold\n" + INTV_STRS) +{ + int rc; + struct ctr_threshold ctr; + + struct trx_ctx *trx = trx_from_vty(vty); + rc = vty_ctr_name_2_id(argv[0]); + if (rc < 0) { + vty_out(vty, "No valid ctr_name found for ctr-error-threshold %s%s", + argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + ctr.ctr_id = (enum TrxCtr)rc; + ctr.val = atoi(argv[1]); + rc = vty_intv_name_2_id(argv[2]); + if (rc < 0) { + vty_out(vty, "No valid time frame found for ctr-error-threshold %s %d %s%s", + argv[0], ctr.val, argv[2], VTY_NEWLINE); + return CMD_WARNING; + } + ctr.intv = (enum rate_ctr_intv) rc; + if (trx_rate_ctr_threshold_del(&ctr) < 0) { + vty_out(vty, "no ctr-error-threshold: Entry to delete not found%s", VTY_NEWLINE); + return CMD_WARNING; + } + + return CMD_SUCCESS; +} + DEFUN(cfg_chan, cfg_chan_cmd, "chan <0-100>", "Select a channel to configure\n" @@ -444,6 +546,7 @@ vty_out(vty, " ext-rach %s%s", trx->cfg.ext_rach ? "enable" : "disable", VTY_NEWLINE); if (trx->cfg.sched_rr != 0) vty_out(vty, " rt-prio %u%s", trx->cfg.sched_rr, VTY_NEWLINE); + trx_rate_ctr_threshold_write_config(vty, " "); for (i = 0; i < trx->cfg.num_chans; i++) { chan = &trx->cfg.chans[i]; @@ -593,6 +696,8 @@ install_element(TRX_NODE, &cfg_ext_rach_cmd); install_element(TRX_NODE, &cfg_rt_prio_cmd); install_element(TRX_NODE, &cfg_filler_cmd); + install_element(TRX_NODE, &cfg_ctr_error_threshold_cmd); + install_element(TRX_NODE, &cfg_no_ctr_error_threshold_cmd); install_element(TRX_NODE, &cfg_chan_cmd); install_node(&chan_node, dummy_config_write); diff --git a/doc/manuals/chapters/counters.adoc b/doc/manuals/chapters/counters.adoc index 7fbb10c..79d1962 100644 --- a/doc/manuals/chapters/counters.adoc +++ b/doc/manuals/chapters/counters.adoc @@ -2,3 +2,62 @@ == Counters include::./counters_generated.adoc[] + +=== Rate Counter Configurable Error Thresholds + +Some rate counters such as overruns, underruns and dropped packets indicate +events that can really harm correct operation of the BTS served by OsmoTRX, +specially if they happen frequently. OsmoTRX is in most cases (depending on +maturity of device driver) prepared to dodge the temporary failure and keep +running and providing service. + +Still, it is sometimes important for this kind of events to not go unnoticed by +the operator, since they may indicate issues regarding the set up that may +require operator intervention to fix it. + +For instance, frequent dropped packets could indicate SDR HW/FW/power errors, or +a faulty connection against the host running OsmoTRX. + +They can also indicate issues on the host running OsmoTRX itself: For instance, +OsmoTRX may not be running under a high enough priority (hence other processes +eventually battling for resources with it), or that simply the HW running +OsmoTRX is not powerful enough to accomplish all work in a timely fashion all +the time. + +As a result, OsmoTRX can be configured to exit the process upon certain +conditions being met, in order to let osmoBTS notice something is wrong and thus +announcing issues through alarms to the network, where the operator can then +investigate the issue by looking at OsmoTRX logs. + +These conditions are configured by means of introducing rate counter thresholds +in the VTY. The OsmoTRX user can provide those threshold commands either in the +VTY cfg file read by OsmoTRX process during startup, or by adding/removing them +dynamically through the VTY interactive console. + +Each threshold cmd states an event (a rate counter type), a value and an time +interval (a second, a minute, an hour or a day). A threshold will be reached +(and OsmoTRX stopped) if its value grows bigger than the configured threshold +value over the configured time interval. This is the syntax used to manage rate +counter thresholds: + +`(no) ctr-error-threshold ` + +If several rate counter thresholds are set, then all of them are checked over +time and the first one reached will stop OsmoTRX. + +.Example: rate counter threshold configuration (VTY .cfg file) +---- +trx + ctr-error-threshold rx_drop_events 2 per-minute <1> + ctr-error-threshold rx_drop_samples 800 per-second <2> +---- +<1> Stop OsmoTRX if dropped event (any amount of samples) during Rx was detected 2 times or more during a minute. +<2> Stop OsmoTRX if 800 or more samples were detected during Rx to be dropped by the HW during a second. + +.Example: rate counter threshold configuration (VTY interactive) +---- +OsmoTRX(config-trx)# ctr-error-threshold tx_underruns 3 per-hour <1> +OsmoTRX(config-trx)# no ctr-error-threshold tx_underruns 3 per-hour <2> +---- +<1> Stop OsmoTRX if 3 or more underruns were detected during Tx over the last hour +<2> Remove previously set rate counter threshold diff --git a/doc/manuals/chapters/counters_generated.adoc b/doc/manuals/chapters/counters_generated.adoc index b40dc37..6955b18 100644 --- a/doc/manuals/chapters/counters_generated.adoc +++ b/doc/manuals/chapters/counters_generated.adoc @@ -1,7 +1,17 @@ // autogenerated by show asciidoc counters -These counters and their description based on OsmoTRX 0.2.0.61-408f (OsmoTRX). +These counters and their description based on OsmoTRX 1.0.0.43-3f7c0 (OsmoTRX). + +=== Rate Counters // generating tables for rate_ctr_group -// generating tables for osmo_stat_items -// generating tables for osmo_counters -// there are no ungrouped osmo_counters +// rate_ctr_group table osmo-trx statistics +.trx:chan - osmo-trx statistics +[options="header"] +|=== +| Name | Reference | Description +| device:rx_underruns | <> | Number of Rx underruns +| device:rx_overruns | <> | Number of Rx overruns +| device:tx_underruns | <> | Number of Tx underruns +| device:rx_drop_events | <> | Number of times Rx samples were dropped by HW +| device:rx_drop_samples | <> | Number of Rx samples dropped by HW +|=== diff --git a/doc/manuals/vty/trx_vty_reference.xml b/doc/manuals/vty/trx_vty_reference.xml index d6cd15d..e448a46 100644 --- a/doc/manuals/vty/trx_vty_reference.xml +++ b/doc/manuals/vty/trx_vty_reference.xml @@ -1253,6 +1253,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4bcf44dbf064e2e86dfc3b8a2ad18fea76fbd51a Gerrit-Change-Number: 14168 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: roh Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 14:30:41 2019 From: gerrit-no-reply at lists.osmocom.org (roh) Date: Tue, 11 Jun 2019 14:30:41 +0000 Subject: Change in ...osmo-remsim[master]: osmo-remsim-client: add systemd service script template and etc/defau... In-Reply-To: References: Message-ID: roh has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/14267 ) Change subject: osmo-remsim-client: add systemd service script template and etc/default config ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14267/1/contrib/systemd/osmo-remsim-client_.service File contrib/systemd/osmo-remsim-client_.service: https://gerrit.osmocom.org/#/c/14267/1/contrib/systemd/osmo-remsim-client_.service at 8 PS1, Line 8: 2-1.1 > wouldn't that mandate that it is attached at a certain position in the bus? yes - but this is a template to be copied n (number of modems) times and modified to fit the specific modem served. i am open to better ideas for iterators of this than hardcoding it in config -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/14267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I243f3d8e090d49ca3a1d0a8cf568750b76273c03 Gerrit-Change-Number: 14267 Gerrit-PatchSet: 1 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: roh Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 11 Jun 2019 14:30:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 14:38:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Jun 2019 14:38:55 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Add function to run actions on test per BSC component In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14413 ) Change subject: bscnat: Add function to run actions on test per BSC component ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97e743c79e5e9e7613ab91a1aa9ce2377a237fd5 Gerrit-Change-Number: 14413 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 Jun 2019 14: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 Tue Jun 11 14:39:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Jun 2019 14:39:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Introduce test TC_ctrl_location In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14414 ) Change subject: bscnat: Introduce test TC_ctrl_location ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If28aba011a1903788cacbc10c0b62954925d4b1f Gerrit-Change-Number: 14414 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 Jun 2019 14:39:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 14:42:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Jun 2019 14:42:05 +0000 Subject: Change in ...docker-playground[master]: bscnat: Bind bsc-nat CTRL on 0.0.0.0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14415 ) Change subject: bscnat: Bind bsc-nat CTRL on 0.0.0.0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6f16dc322d38f9f0870241f3416c81df8ec5481b Gerrit-Change-Number: 14415 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 Jun 2019 14:42:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 14:43:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 14:43:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Introduce test TC_ctrl_location In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407 to look at the new patch set (#4). Change subject: bsc: Introduce test TC_ctrl_location ...................................................................... bsc: Introduce test TC_ctrl_location Related: OS#2012 Change-Id: I3640f6889e3b6adc3b4601082f948543c64a2fe3 --- M bsc/BSC_Tests.ttcn M bsc/expected-results.xml M bsc/regen_makefile.sh M library/Osmocom_CTRL_Adapter.ttcn 4 files changed, 38 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/07/14407/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3640f6889e3b6adc3b4601082f948543c64a2fe3 Gerrit-Change-Number: 14407 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 Tue Jun 11 14:43:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 14:43:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define 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/+/14418 to look at the new patch set (#7). Change subject: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define ...................................................................... lib/IPA_Emulation: Build IPA_CTRL conditionally based on define Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7 --- M bts/regen_makefile.sh M library/IPA_Emulation.ttcnpp M msc/regen_makefile.sh M sccp/regen_makefile.sh M selftest/regen_makefile.sh M sgsn/regen_makefile.sh M sip/regen_makefile.sh 7 files changed, 14 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/18/14418/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7 Gerrit-Change-Number: 14418 Gerrit-PatchSet: 7 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 11 14:49:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 14:49:34 +0000 Subject: Change in ...docker-playground[master]: bscnat: Bind bsc-nat CTRL on 0.0.0.0 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14415 ) Change subject: bscnat: Bind bsc-nat CTRL on 0.0.0.0 ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6f16dc322d38f9f0870241f3416c81df8ec5481b Gerrit-Change-Number: 14415 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 Jun 2019 14:49: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 11 14:49:38 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 14:49:38 +0000 Subject: Change in ...docker-playground[master]: bscnat: Bind bsc-nat CTRL on 0.0.0.0 In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/14415 ) Change subject: bscnat: Bind bsc-nat CTRL on 0.0.0.0 ...................................................................... bscnat: Bind bsc-nat CTRL on 0.0.0.0 Other tests already do it, and allows using the CTRL iface in docker setups where 127.0.0.1 is not used. Change-Id: I6f16dc322d38f9f0870241f3416c81df8ec5481b --- M ttcn3-bscnat-test/osmo-bsc-nat.cfg 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/ttcn3-bscnat-test/osmo-bsc-nat.cfg b/ttcn3-bscnat-test/osmo-bsc-nat.cfg index ffc3ff0..80d7095 100644 --- a/ttcn3-bscnat-test/osmo-bsc-nat.cfg +++ b/ttcn3-bscnat-test/osmo-bsc-nat.cfg @@ -14,6 +14,9 @@ no login bind 0.0.0.0 ! +ctrl + bind 0.0.0.0 +! mgcp bind ip 172.18.15.20 bind port 2427 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6f16dc322d38f9f0870241f3416c81df8ec5481b Gerrit-Change-Number: 14415 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 14:53:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Jun 2019 14:53:26 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: add some dynamic power control tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14417 ) Change subject: BTS: add some dynamic power control tests ...................................................................... Patch Set 2: (6 comments) https://gerrit.osmocom.org/#/c/14417/2/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/#/c/14417/2/bts/BTS_Tests.ttcn at 1974 PS2, Line 1974: pp := valueof(ts_RSL_IE_MS_Power_Parameters('aabbcc'O)); I would consider sending an empty octet string ''O to ensure we're not confusing the receiver. Sure, at them moment OsmoBTs doesn't implement any parameters, but in the future we might. Using an empty IE fulfills the requirement of having that element present (and hence enabling BTS-side power control), but at the same time has low risk of breaking something that actually might interpret aabbcc as actual parameters. https://gerrit.osmocom.org/#/c/14417/2/bts/BTS_Tests.ttcn at 2028 PS2, Line 2028: I would avoid the 'rsl' variable here. As RSL.send() can take the send template directly, it also means you save the valueof(). Sure, it's just stylistic, not important... https://gerrit.osmocom.org/#/c/14417/2/bts/BTS_Tests.ttcn at 2062 PS2, Line 2062: : var RSL_IE_MS_Power ms_power; : ms_power := valueof(ts_RSL_IE_MS_Power(pwr_var)); : var RSL_IE pwr; : pwr := valueof(t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ms_power})); again here I'd typically try to avoid the local variables, as they force you to do valueof() all the time, which sort of makes templates less nice to use. The alternative if you want the local variables would be to define them as template variables, so 'var template RSL_IE_MS_Power ms_power := ts_RSL_IE_MS_Power(pwr_var);' would do the trick, maybe even var template (value) ... https://gerrit.osmocom.org/#/c/14417/2/bts/BTS_Tests.ttcn at 2165 PS2, Line 2165: if((band == "GSM450") if if were a function, one wouldn't have spaces before the parenthesis :P https://gerrit.osmocom.org/#/c/14417/2/bts/BTS_Tests.ttcn at 2166 PS2, Line 2166: or (band == "GSM480") I would typically have used a select/case construct here, not having to repeat "band ==" in every line. The nice part about the select/case in TTCN3 is that every "case" is a template match. So you can define a charstring template matching all those bands that equal in their treatment and then have a single line. case (t_my_bands) { ... } But once again, just a stylistic comment, no absolute need to change the code. https://gerrit.osmocom.org/#/c/14417/2/bts/BTS_Tests.ttcn at 2264 PS2, Line 2264: unrelated whitespace -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57489ba22542d859ced767e856634f9060c060f0 Gerrit-Change-Number: 14417 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 11 Jun 2019 14:53: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 Tue Jun 11 14:53:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Jun 2019 14:53:46 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: SGSN_Tests: f_detach_mo(): fail when receiving any unhandled layer 3 ... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13989 ) Change subject: SGSN_Tests: f_detach_mo(): fail when receiving any unhandled layer 3 message for normal detach ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13989 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I957994376583959758417dccf419a55c43a0c61b Gerrit-Change-Number: 13989 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 11 Jun 2019 14:53:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 14:53:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Jun 2019 14:53:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: SGSN_Tests: f_detach_mo(): fail when receiving any unhandled layer 3 ... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13989 ) Change subject: SGSN_Tests: f_detach_mo(): fail when receiving any unhandled layer 3 message for normal detach ...................................................................... SGSN_Tests: f_detach_mo(): fail when receiving any unhandled layer 3 message for normal detach Merge the case with the fail when doing a power-off detach. Change-Id: I957994376583959758417dccf419a55c43a0c61b --- M sgsn/SGSN_Tests.ttcn 1 file changed, 8 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 1f63dfa..03c9d05 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -924,10 +924,6 @@ mtc.stop; /* TODO: check if any PDP contexts are deactivated on network side? */ } - [power_off] BSSGP[bssgp_index].receive(tr_BD_L3_MT(?)) -> value bd { - setverdict(fail, "Unexpected Layer 3 package received in power-off DETACH"); - mtc.stop; - } [power_off] T.timeout { setverdict(pass); } @@ -936,6 +932,14 @@ setverdict(pass); /* TODO: check if any PDP contexts are deactivated on network side? */ } + [] BSSGP[bssgp_index].receive(tr_BD_L3_MT(?)) -> value bd { + if (power_off) { + setverdict(fail, "Unexpected Layer 3 package received in power-off DETACH"); + } else { + setverdict(fail, "Unexpected Layer 3 package received in normal DETACH"); + } + mtc.stop; + } [] BSSGP[bssgp_index].receive { repeat; } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13989 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I957994376583959758417dccf419a55c43a0c61b Gerrit-Change-Number: 13989 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus 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 11 14:55:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Jun 2019 14:55:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add f_vty_subscr_show_nomatch() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 ) Change subject: hlr: add f_vty_subscr_show_nomatch() ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/14401/2/hlr/HLR_Tests.ttcn File hlr/HLR_Tests.ttcn: https://gerrit.osmocom.org/#/c/14401/2/hlr/HLR_Tests.ttcn at 308 PS2, Line 308: setverdict(fail, "Non-matching VTY response: ", ret, ", should *not* have matched: ", exp_ret); It's actually "Matching VTY response" here? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I176d8fd2ee74e1eb7ac797f931cd6005d398740f Gerrit-Change-Number: 14401 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 Jun 2019 14:55: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 11 14:56:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Jun 2019 14:56:31 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add Check IMEI tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 ) Change subject: hlr: add Check IMEI tests ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97c8462f0817149feadd0c4865e3df6c2af92a80 Gerrit-Change-Number: 14402 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 Jun 2019 14:56:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 14:57:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 11 Jun 2019 14:57:35 +0000 Subject: Change in ...osmo-remsim[master]: osmo-remsim-client: add systemd service script template and etc/defau... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/14267 ) Change subject: osmo-remsim-client: add systemd service script template and etc/default config ...................................................................... Patch Set 1: assigning to pespin, whom I believe to know more systemd voodoo -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/14267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I243f3d8e090d49ca3a1d0a8cf568750b76273c03 Gerrit-Change-Number: 14267 Gerrit-PatchSet: 1 Gerrit-Owner: roh Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: roh Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 11 Jun 2019 14:57:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 16:25:47 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 11 Jun 2019 16:25:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Introduce test TC_ctrl_location In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14414 ) Change subject: bscnat: Introduce test TC_ctrl_location ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If28aba011a1903788cacbc10c0b62954925d4b1f Gerrit-Change-Number: 14414 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 11 Jun 2019 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 Tue Jun 11 16:46:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 16:46:47 +0000 Subject: Change in ...osmo-remsim[master]: osmo-remsim-client: add systemd service script template and etc/defau... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/14267 ) Change subject: osmo-remsim-client: add systemd service script template and etc/default config ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14267/1/contrib/systemd/osmo-remsim-client_.service File contrib/systemd/osmo-remsim-client_.service: https://gerrit.osmocom.org/#/c/14267/1/contrib/systemd/osmo-remsim-client_.service at 8 PS1, Line 8: 2-1.1 > yes - but this is a template to be copied n (number of modems) times and modified to fit the specifi [?] So if I understand correctly, you need to change several parameters per process instance launched and not only the "2-1.1" part, right? What about using: EnvironmentFile=/etc/default/osmo-remsim-client-%i And then have /etc/default/osmo-remsim-client-{0..N} files, each defining env variables with different values? For instance, /etc/default/osmo-remsim-client-0: REMSIM_H="2-1.1" REMSIM_C="0" and then in this sytemd template: EnvironmentFile=/etc/default/osmo-remsim-client-%i ExecStart=/usr/bin/osmo-remsim-client-st2 $CLIENT_OPTS -I 0 -H $REMSIM_H -c $REMSIM_C -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/14267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I243f3d8e090d49ca3a1d0a8cf568750b76273c03 Gerrit-Change-Number: 14267 Gerrit-PatchSet: 1 Gerrit-Owner: roh Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: roh Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 11 Jun 2019 16:46:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: roh 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 11 17:28:54 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 11 Jun 2019 17:28:54 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: add some dynamic power control tests In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14417 to look at the new patch set (#3). Change subject: BTS: add some dynamic power control tests ...................................................................... BTS: add some dynamic power control tests Change-Id: I57489ba22542d859ced767e856634f9060c060f0 --- M bts/BTS_Tests.ttcn M library/RSL_Types.ttcn 2 files changed, 380 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/17/14417/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57489ba22542d859ced767e856634f9060c060f0 Gerrit-Change-Number: 14417 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen 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 11 18:04:37 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 11 Jun 2019 18:04:37 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: more lapdm tests Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14419 Change subject: bts: more lapdm tests ...................................................................... bts: more lapdm tests Change-Id: I0db71de5f600022935f47573aa919990de4bfec0 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 267 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/19/14419/1 diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index edbd37b..69ca24c 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -548,12 +548,13 @@ } } /* all of the above */ -private altstep as_ignore_background(boolean want_dcch := true) runs on ConnHdlr { +private altstep as_ignore_background(boolean want_dcch := true, boolean ignore_rsl_errors := false) runs on ConnHdlr { [want_dcch] as_lapdm_acch(); [not want_dcch] as_lapdm_dcch(); [] as_lapdm_idle(); [] as_rsl_meas_rep(); - [] as_rsl_fail_err(); + [not ignore_rsl_errors] as_rsl_fail_err(); + [ignore_rsl_errors] RSL.receive(tr_RSL_ERROR_IND(g_chan_nr, ?, ?)) { repeat;} } /* Test the operation of Layer 2 sequence numbering. @@ -641,7 +642,7 @@ fp_common_init(); /* some common altstep for meas res and other background noise */ - d := activate(as_ignore_background()); + d := activate(as_ignore_background(ignore_rsl_errors := true)); RSL.clear; LAPDM.clear; @@ -720,6 +721,266 @@ f_testmatrix_each_chan(pars, refers(f_TC_iframe_timer_recovery)); } +/* 25.2.6.1 ns sequence error +sends wrong N(S), expects REJ, sends wrong N(S) with P=1, expects REJ with F=1 */ +private function f_TC_ns_seq_error(charstring id) runs on ConnHdlr { + const integer sapi := 0; + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(sapi)); + var default d; + timer T := 3.0; + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background(ignore_rsl_errors := true)); + RSL.clear; + LAPDM.clear; + + var octetstring l3_mo := f_rnd_octstring(12); + var octetstring l3_mt := f_rnd_octstring(12); + + /* 1) The BTS is brought into the multiple frame established state */ + + /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); + /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ + LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); + + /* 2) The MS sends an L3 Request to the BTS */ + l3_mo := f_rnd_octstring(18); + /* SAPI = 0, C = 1, P = 0, M = 0, 0 ? L ? N201, N(S) = 0, N(R) = 0. * */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=false, + nr:=0, ns:=0, l3:=l3_mo))); + RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, l3_mo)); + /* 3) The BTS shall respond with a RR frame though this may be incorporated with + the L3 Response I frame. */ + RSL.send(ts_RSL_DATA_REQ(g_chan_nr, link_id, l3_mt)); + alt { + /* SAPI = 0, R = 1, F = 0, M = 0, L = 0, N(R) = 1. */ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=false, nr:=1))) { + repeat; + } + /* SAPI = 0, C = 0, P = 0, M = 0, 0 ? L ? N201, N(R) = 1, N(S) = 0 */ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=false, + nr:=1, ns:=0, l3:=l3_mt))); + } + + /* 4) The MS shall then send an I frame containing Identity Request with incorrect N(S) + but correctly acknowledging the MS's I frame; P bit set to zero. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=false, + nr:=1, ns:=0, l3:=l3_mo))); + + /* no rsl data ind due to wrong ns */ + + /* The BTS shall send a REJ frame. */ + timer T1 := 2.0; + T1.start; + alt{ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_REJ(sapi, c_r:=cr_MT_RSP, p:=false, nr:=1))); + [] T1.timeout{ setverdict(fail, "Missing first REJ")} + } + + f_sleep(2.0); // T200 + + /* The MS shall, after T200, send another I frame with incorrect N(S), P bit set to 1 this time. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=true, + nr:=1, ns:=0, l3:=l3_mo))); + + /* The BTS shall respond with a REJ, F bit set to 1. */ + T1.start; + alt{ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_REJ(sapi, c_r:=cr_MT_RSP, p:=true, nr:=1))); + [] T1.timeout{ setverdict(fail, "Missing second REJ")} + } + + deactivate(d); + fp_common_fini(); + setverdict(pass); +} + +testcase TC_ns_seq_error() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_ns_seq_error)); +} + +/* 25.2.6.2 nr sequence error */ +private function f_TC_nr_seq_error(charstring id) runs on ConnHdlr { + const integer sapi := 0; + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(sapi)); + var default d; + var integer n201 := 20; + if (link_id.c == SACCH) { + n201 := 18; + } + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background(ignore_rsl_errors := true)); + RSL.clear; + LAPDM.clear; + + var octetstring l3_mo := f_rnd_octstring(12); + var octetstring l3_mt := f_rnd_octstring(12); + + /* 1) The BTS is brought into the multiple frame established state */ + + /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); + /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ + LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); + + /* 2) The MS shall send an I frame containing an information field of length N201 and an + incorrect receive sequence number. */ + l3_mo := f_rnd_octstring(n201); + /* SAPI = 0, C = 1, P = 0, M = 0, L = N201, N(S) = 0, N(R) = 1. * */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=false, + nr:=1, ns:=0, l3:=l3_mo))); + + /* The BTS may: a) send a DISC frame within N200?T200; */ + /* DISC SAPI = 0, C = 0, P = 1, M = 0, L = 0. */ + timer T1 := 2.0; + T1.start; + alt{ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_DISC(sapi, c_r:=cr_MT_CMD, p:=true))); + [] T1.timeout{ setverdict(fail, "Missing DISC from BTS")} + } + + /* a) the MS shall respond with a UA frame. + SAPI = 0, R = 0, F = 1, M = 0, L = 0. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_UA(sapi, c_r:=cr_MO_CMD, f:=true, l3:=l3_mo))); + + deactivate(d); + fp_common_fini(); + setverdict(pass); +} + +testcase TC_nr_seq_error() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_nr_seq_error)); +} + +private function f_TC_rec_invalid_frame_txrx(integer sapi, LapdmFrame x) runs on ConnHdlr { + LAPDM.send(t_PH_DATA(0, false, x)); + f_sleep(2.0); // T200 + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=true, nr:=0))); + LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=true , nr := 0))); +} + +/* 25.2.7 Test on receipt of invalid frames +sends a bunch of different invalid frames, expects the BTS to ignore all of them */ +private function f_TC_rec_invalid_frame(charstring id) runs on ConnHdlr { + const integer sapi := 0; + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(sapi)); + var default d; + timer T := 3.0; + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background(ignore_rsl_errors := true)); + RSL.clear; + LAPDM.clear; + + var octetstring l3_mo := f_rnd_octstring(12); + var octetstring l3_mt := f_rnd_octstring(12); + + /* 1) The BTS is brought into the multiple frame established state */ + + /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); + /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ + LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); + + + /* 1: One RR frame: SAPI = 0, R = 0, F = 0, M = 0, L > 0, N(R) = 1. + RR frame with the Length indicator greater than zero and a faulty N(R); */ + var LapdmFrame x:= valueof(ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=false, nr:=1)); + x.ab.payload := f_rnd_octstring(5); + f_TC_rec_invalid_frame_txrx(0, x); + /* 3: One REJ frame: SAPI = 0, R = 0, F = 0, M = 0, L = 0, N(R) = 1, EA = 0. + EJ frame with the EA bit set to zero and a faulty N(R); */ + x:= valueof(ts_LAPDm_REJ(sapi, c_r:=cr_MO_CMD, p:=false, nr:=1)); + x.ab.addr.ea := false; + f_TC_rec_invalid_frame_txrx(0, x); + /* 4: One SABM frame: SAPI = 0, C = 1, P = 1, M = 0, L = 0, EL = 0. + SABM frame with the EL bit set to zero; */ + l3_mo := ''O; + x:= valueof(ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo)); + x.ab.el := 0; + f_TC_rec_invalid_frame_txrx(0, x); + /* 5: One DM frame: SAPI = 0, R = 0, F = 1, M = 0, L > 0. + DM frame with the Length indicator greater than zero;*/ + x:= valueof(ts_LAPDm_DM(sapi, c_r:=cr_MO_CMD, f:=true)); + x.ab.payload := f_rnd_octstring(5); + f_TC_rec_invalid_frame_txrx(0, x); + /* 6: One DISC frame: SAPI = 0, C = 1, P = 1, M = 1, L = 0. + DISC frame with the M bit set to 1; */ + x:= valueof(ts_LAPDm_DISC(sapi, c_r:=cr_MO_CMD, p:=true)); + x.ab.m := true; + f_TC_rec_invalid_frame_txrx(0, x); + /* 7: One UA frame: SAPI = 0, R = 0, F = 0, M = 0, L = 0, EA = 0. + UA frame with the EA bit set to zero*/ + x:= valueof(ts_LAPDm_UA(sapi, c_r:=cr_MO_CMD, f:=false, l3:=''O)); + x.ab.addr.ea := false; + f_TC_rec_invalid_frame_txrx(0, x); + /* 8: One I frame: SAPI = 0, C = 1, P = 0, M = 0, L > N201, N(R) = 0, N(S) = 6. + I frame with the Length indicator greater than N201;*/ + x:= valueof(ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=true, nr := 0, ns := 6, l3 := f_rnd_octstring(25))) + f_TC_rec_invalid_frame_txrx(0, x); + /* 9: One I frame: SAPI = 0, C = 1, P = 0, M = 1, L < N201, N(R) = 0, N(S) = 7. + I frame with the M bit set to 1 and the Length indicator less than N201;*/ + x:= valueof(ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=true, nr := 0, ns := 7, l3 := f_rnd_octstring(5))) + x.ab.m := true; + f_TC_rec_invalid_frame_txrx(0, x); + /* 10: One RR frame: SAPI = 0, C = 1, P = 1, M = 0, L = 0, N(R) = 0. */ + x:= valueof(ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=true, nr:=0)); + f_TC_rec_invalid_frame_txrx(0, x); + + /* command frames with correct Address and Length indicator field and a non-implemented control field */ + /* 12: One command frame with Control Field = xxx1 1101. */ + x:= valueof(ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=false, nr:=1)); + x.ab.ctrl.other := bit2int('00011101'B); + f_TC_rec_invalid_frame_txrx(0, x); + /* 13: One command frame with Control field = xxx1 1011. */ + x:= valueof(ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=false, nr:=1)); + x.ab.ctrl.other := bit2int('00011011'B); + f_TC_rec_invalid_frame_txrx(0, x); + /* 14: One command frame with Control field = xxx1 0111. */ + x:= valueof(ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=false, nr:=1)); + x.ab.ctrl.other := bit2int('00010001'B); + f_TC_rec_invalid_frame_txrx(0, x); + /* 15: One command frame with Control field = 01x1 1111. */ + x:= valueof(ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=false, nr:=1)); + x.ab.ctrl.other := bit2int('01011111'B); + f_TC_rec_invalid_frame_txrx(0, x); + /* 16: One command frame with Control field = 1xx1 1111. */ + x:= valueof(ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=false, nr:=1)); + x.ab.ctrl.other := bit2int('10011111'B); + f_TC_rec_invalid_frame_txrx(0, x); + /* 17: One command frame with Control field = 0011 0011. */ + x:= valueof(ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=false, nr:=1)); + x.ab.ctrl.other := bit2int('00110011'B); + f_TC_rec_invalid_frame_txrx(0, x); + /* 18: One command frame with Control field = 1xx1 0011. */ + x:= valueof(ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=false, nr:=1)); + x.ab.ctrl.other := bit2int('10010011'B); + f_TC_rec_invalid_frame_txrx(0, x); + + deactivate(d); + fp_common_fini(); + setverdict(pass); +} + +testcase TC_rec_invalid_frame() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + pars.t_guard := 60.0; + f_testmatrix_each_chan(pars, refers(f_TC_rec_invalid_frame)); +} + type record LapdmDlConfig { integer n201, integer t200 @@ -1115,6 +1376,9 @@ execute(TC_establish_ign_first_sabm()); execute(TC_iframe_seq_and_ack()); execute(TC_iframe_timer_recovery()); + execute(TC_ns_seq_error()); + execute(TC_nr_seq_error()); + execute(TC_rec_invalid_frame()); execute(TC_segm_concat_dcch()); execute(TC_segm_concat_sacch()); execute(TC_t200_n200()); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0db71de5f600022935f47573aa919990de4bfec0 Gerrit-Change-Number: 14419 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 Tue Jun 11 18:06:09 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 11 Jun 2019 18:06:09 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: more lapdm tests In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14419 to look at the new patch set (#2). Change subject: bts: more lapdm tests ...................................................................... bts: more lapdm tests Change-Id: I0db71de5f600022935f47573aa919990de4bfec0 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 266 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/19/14419/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0db71de5f600022935f47573aa919990de4bfec0 Gerrit-Change-Number: 14419 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 11 18:36:21 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 11 Jun 2019 18:36:21 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/L1CTL_PortType.ttcn: clarify and unify timeout messages Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14420 Change subject: library/L1CTL_PortType.ttcn: clarify and unify timeout messages ...................................................................... library/L1CTL_PortType.ttcn: clarify and unify timeout messages It's way more cleaner when you see: Timeout waiting for L1CTL_RACH_CONF instead of: Timeout in RACH. Change-Id: I25e8230c2e4b29b2583bf8954d0dedaa18e5d6ae --- M library/L1CTL_PortType.ttcn 1 file changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/20/14420/1 diff --git a/library/L1CTL_PortType.ttcn b/library/L1CTL_PortType.ttcn index 7af680c..2423715 100644 --- a/library/L1CTL_PortType.ttcn +++ b/library/L1CTL_PortType.ttcn @@ -59,7 +59,7 @@ } [] pt.receive { repeat; }; [] T.timeout { - setverdict(fail, "Timeout in FBSB") + setverdict(fail, "Timeout waiting for L1CTL_FBSB_CONF"); mtc.stop; }; } @@ -74,7 +74,7 @@ [] pt.receive(tr_L1CTL_CCCH_MODE_CONF) { } [] pt.receive { repeat; } [] T.timeout { - setverdict(fail, "Timeout in CCH_MODE"); + setverdict(fail, "Timeout waiting for L1CTL_CCCH_MODE_CONF"); mtc.stop; } } @@ -93,7 +93,7 @@ [] pt.receive(tr_L1CTL_RACH_CONF) -> value rc { fn := rc.dl_info.frame_nr }; [] pt.receive { repeat; }; [] T.timeout { - setverdict(fail, "Timeout in RACH"); + setverdict(fail, "Timeout waiting for L1CTL_RACH_CONF"); mtc.stop; } } @@ -114,7 +114,7 @@ [] pt.receive(tr_L1CTL_RACH_CONF) -> value rc { fn := rc.dl_info.frame_nr }; [] pt.receive { repeat; }; [] T.timeout { - setverdict(fail, "Timeout in extended RACH"); + setverdict(fail, "Timeout waiting for (extended) L1CTL_RACH_CONF"); mtc.stop; } } @@ -168,7 +168,7 @@ }; [] pt.receive { repeat }; [] T.timeout { - setverdict(fail, "Timeout waiting for IMM ASS"); + setverdict(fail, "Timeout waiting for TBF IMM ASS"); mtc.stop; } } @@ -184,7 +184,7 @@ [] pt.receive(tr_L1CTL_TBF_CFG_CONF(is_uplink)) {} [] pt.receive { repeat }; [] T.timeout { - setverdict(fail, "Timeout waiting for TBF-CFG.conf"); + setverdict(fail, "Timeout waiting for L1CTL_TBF_CFG_CONF"); mtc.stop; }; } @@ -213,7 +213,7 @@ [] pt.receive(tr_L1CTL_MsgType(L1CTL_RESET_CONF)) { } [] pt.receive { repeat; } [] T.timeout { - setverdict(fail, "Timeout waiting for RESET.conf"); + setverdict(fail, "Timeout waiting for L1CTL_RESET_CONF"); mtc.stop; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I25e8230c2e4b29b2583bf8954d0dedaa18e5d6ae Gerrit-Change-Number: 14420 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 11 19:06:04 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 19:06:04 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Get rid of huge indentation block Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14421 Change subject: vty: command.c: Get rid of huge indentation block ...................................................................... vty: command.c: Get rid of huge indentation block Huge conditional block inside foor loop is negated in this patch together with a "continue" keyword. Change-Id: I9715734ed276f002fdc8c3b9742531ad36b2ef9e --- M src/vty/command.c 1 file changed, 91 insertions(+), 88 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/21/14421/1 diff --git a/src/vty/command.c b/src/vty/command.c index 87f2abc..6380487 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -1516,97 +1516,100 @@ descvec = vector_slot(cmd_element->strvec, index); - for (j = 0; j < vector_active(descvec); j++) - if ((desc = vector_slot(descvec, j))) { - enum match_type ret; - const char *str = desc->cmd; + for (j = 0; j < vector_active(descvec); j++) { + desc = vector_slot(descvec, j); + if (!desc) + continue; - if (CMD_OPTION(str)) { - if (!cmd_deopt_ctx) - cmd_deopt_ctx = - talloc_named_const(tall_vty_cmd_ctx, 0, - __func__); - str = cmd_deopt(cmd_deopt_ctx, str); - if (str == NULL) - continue; - } + enum match_type ret; + const char *str = desc->cmd; - switch (type) { - case exact_match: - if (!(CMD_VARIABLE (str)) - && strcmp(command, str) == 0) - match++; - break; - case partly_match: - if (!(CMD_VARIABLE (str)) - && strncmp(command, str, strlen (command)) == 0) - { - if (matched - && strcmp(matched, - str) != 0) { - ret = 1; /* There is ambiguous match. */ - goto free_and_return; - } else - matched = str; - match++; - } - break; - case range_match: - if (cmd_range_match - (str, command)) { - if (matched - && strcmp(matched, - str) != 0) { - ret = 1; - goto free_and_return; - } else - matched = str; - match++; - } - break; -#ifdef HAVE_IPV6 - case ipv6_match: - if (CMD_IPV6(str)) - match++; - break; - case ipv6_prefix_match: - if ((ret = - cmd_ipv6_prefix_match - (command)) != no_match) { - if (ret == partly_match) { - ret = 2; /* There is incomplete match. */ - goto free_and_return; - } - - match++; - } - break; -#endif /* HAVE_IPV6 */ - case ipv4_match: - if (CMD_IPV4(str)) - match++; - break; - case ipv4_prefix_match: - if ((ret = - cmd_ipv4_prefix_match - (command)) != no_match) { - if (ret == partly_match) { - ret = 2; /* There is incomplete match. */ - goto free_and_return; - } - - match++; - } - break; - case extend_match: - if (CMD_VARIABLE (str)) - match++; - break; - case no_match: - default: - break; - } + if (CMD_OPTION(str)) { + if (!cmd_deopt_ctx) + cmd_deopt_ctx = + talloc_named_const(tall_vty_cmd_ctx, 0, + __func__); + str = cmd_deopt(cmd_deopt_ctx, str); + if (str == NULL) + continue; } + + switch (type) { + case exact_match: + if (!(CMD_VARIABLE (str)) + && strcmp(command, str) == 0) + match++; + break; + case partly_match: + if (!(CMD_VARIABLE (str)) + && strncmp(command, str, strlen (command)) == 0) + { + if (matched + && strcmp(matched, + str) != 0) { + ret = 1; /* There is ambiguous match. */ + goto free_and_return; + } else + matched = str; + match++; + } + break; + case range_match: + if (cmd_range_match + (str, command)) { + if (matched + && strcmp(matched, + str) != 0) { + ret = 1; + goto free_and_return; + } else + matched = str; + match++; + } + break; +#ifdef HAVE_IPV6 + case ipv6_match: + if (CMD_IPV6(str)) + match++; + break; + case ipv6_prefix_match: + if ((ret = + cmd_ipv6_prefix_match + (command)) != no_match) { + if (ret == partly_match) { + ret = 2; /* There is incomplete match. */ + goto free_and_return; + } + + match++; + } + break; +#endif /* HAVE_IPV6 */ + case ipv4_match: + if (CMD_IPV4(str)) + match++; + break; + case ipv4_prefix_match: + if ((ret = + cmd_ipv4_prefix_match + (command)) != no_match) { + if (ret == partly_match) { + ret = 2; /* There is incomplete match. */ + goto free_and_return; + } + + match++; + } + break; + case extend_match: + if (CMD_VARIABLE (str)) + match++; + break; + case no_match: + default: + break; + } + } if (!match) vector_slot(v, i) = NULL; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9715734ed276f002fdc8c3b9742531ad36b2ef9e Gerrit-Change-Number: 14421 Gerrit-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 11 19:21:30 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 19:21:30 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Fix is_cmd_ambiguous() returning always 0 Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14422 Change subject: vty: command.c: Fix is_cmd_ambiguous() returning always 0 ...................................................................... vty: command.c: Fix is_cmd_ambiguous() returning always 0 inner block defined variable "enum match_type ret" was being masking outter block variable "int ret = 0". The ret variable was being given non zero values only inside the inner block, so that change was done on the inner variable and not the outer one, which is returned. Change-Id: Iec87d7db49a096d07e38ff8a060b923a52bfd6ba --- M src/vty/command.c 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/14422/1 diff --git a/src/vty/command.c b/src/vty/command.c index 6380487..e9690bb 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -1521,7 +1521,7 @@ if (!desc) continue; - enum match_type ret; + enum match_type mtype; const char *str = desc->cmd; if (CMD_OPTION(str)) { @@ -1573,10 +1573,10 @@ match++; break; case ipv6_prefix_match: - if ((ret = + if ((mtype = cmd_ipv6_prefix_match (command)) != no_match) { - if (ret == partly_match) { + if (mtype == partly_match) { ret = 2; /* There is incomplete match. */ goto free_and_return; } @@ -1590,10 +1590,10 @@ match++; break; case ipv4_prefix_match: - if ((ret = + if ((mtype = cmd_ipv4_prefix_match (command)) != no_match) { - if (ret == partly_match) { + if (mtype == partly_match) { ret = 2; /* There is incomplete match. */ goto free_and_return; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iec87d7db49a096d07e38ff8a060b923a52bfd6ba Gerrit-Change-Number: 14422 Gerrit-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 11 19:50:20 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 11 Jun 2019 19:50:20 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Fix is_cmd_ambiguous() returning always 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/+/14422 to look at the new patch set (#2). Change subject: vty: command.c: Fix is_cmd_ambiguous() returning always 0 ...................................................................... vty: command.c: Fix is_cmd_ambiguous() returning always 0 inner block defined variable "enum match_type ret" was being masking outter block variable "int ret = 0". The ret variable was being given non zero values only inside the inner block, so that change was done on the inner variable and not the outer one, which is returned. Fixes: 5314c513f23688462d7f7937e5ae5e0d5cd4548e Change-Id: Iec87d7db49a096d07e38ff8a060b923a52bfd6ba --- M src/vty/command.c M tests/tdef/tdef_vty_test_config_root.vty M tests/vty/vty_transcript_test.vty 3 files changed, 14 insertions(+), 43 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/14422/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iec87d7db49a096d07e38ff8a060b923a52bfd6ba Gerrit-Change-Number: 14422 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Jun 12 03:01:24 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 12 Jun 2019 03:01:24 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d006b1b9cf7a_38fd4665f4151314@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 648s] | $ ./config.status Doxyfile.core [ 648s] | [ 648s] | on armbuild25 [ 648s] | [ 648s] | config.status:1200: creating Doxyfile.core [ 648s] [ 648s] # -*- compilation -*- [ 648s] 31. testsuite.at:192: testing vty ... [ 648s] ./testsuite.at:196: $abs_top_builddir/tests/vty/vty_test [ 648s] stderr: [ 648s] /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/31/test-source: line 26: 28560 Segmentation fault $abs_top_builddir/tests/vty/vty_test [ 648s] --- expout 2019-06-12 03:01:09.815000000 +0000 [ 648s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/31/stdout 2019-06-12 03:01:09.825000000 +0000 [ 648s] @@ -1,308 +0,0 @@ [ 648s] -Going to test vty_cmd_string_from_valstr() [ 648s] -Tested with %s-strings, resulting cmd = '[prefix%s%s%s%s%s][foo%s%s%s%s%s][sep%s%s%s%s%s][bar%s%s%s%s%s][end%s%s%s%s%s]' [ 648s] -Going to test VTY node tree structure [ 648s] -Going to execute 'enable' [ 648s] -Returned: 0, Current node: 3 '%s# ' [ 648s] -Going to execute 'configure terminal' [ 648s] -Returned: 0, Current node: 4 '%s(config)# ' [ 648s] -Going to execute 'exit' [ 648s] -Returned: 0, Current node: 3 '%s# ' [ 650s] -Going [ 608.108963] sysrq: SysRq : Power Off [ 650s] [ 608.110267] reboot: Power down [ 650s] ### VM INTERACTION END ### [ 650s] [ 650s] armbuild25 failed "build libosmocore_1.1.0.50.186f.dsc" at Wed Jun 12 03:01:17 UTC 2019. [ 650s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Jun 12 06:33:30 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Jun 2019 06:33:30 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Get rid of huge indentation block In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14421 ) Change subject: vty: command.c: Get rid of huge indentation block ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9715734ed276f002fdc8c3b9742531ad36b2ef9e Gerrit-Change-Number: 14421 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 12 Jun 2019 06:33:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 06:37:31 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Jun 2019 06:37:31 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Fix is_cmd_ambiguous() returning always 0 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14422 ) Change subject: vty: command.c: Fix is_cmd_ambiguous() returning always 0 ...................................................................... Patch Set 2: Code-Review+2 (1 comment) https://gerrit.osmocom.org/#/c/14422/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14422/2//COMMIT_MSG at 9 PS2, Line 9: masking : outter block variable WOW, I didn't know it's possible in C... Another way to shoot in the foot. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iec87d7db49a096d07e38ff8a060b923a52bfd6ba Gerrit-Change-Number: 14422 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 12 Jun 2019 06: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 Wed Jun 12 06:44:14 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 Jun 2019 06:44:14 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add f_vty_subscr_show_nomatch() In-Reply-To: References: Message-ID: Hello fixeria, pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 to look at the new patch set (#3). Change subject: hlr: add f_vty_subscr_show_nomatch() ...................................................................... hlr: add f_vty_subscr_show_nomatch() Allow to check if a certain pattern does not match the "show subscriber" output. This will be used by upcoming tests for the check IMEI GSUP message type, to check if the IMEI was not stored, depending on the OsmoHLR configuration. Change-Id: I176d8fd2ee74e1eb7ac797f931cd6005d398740f --- M hlr/HLR_Tests.ttcn 1 file changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/01/14401/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I176d8fd2ee74e1eb7ac797f931cd6005d398740f Gerrit-Change-Number: 14401 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 06:45:54 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 Jun 2019 06:45:54 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add f_vty_subscr_show_nomatch() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 ) Change subject: hlr: add f_vty_subscr_show_nomatch() ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/14401/2/hlr/HLR_Tests.ttcn File hlr/HLR_Tests.ttcn: https://gerrit.osmocom.org/#/c/14401/2/hlr/HLR_Tests.ttcn at 308 PS2, Line 308: setverdict(fail, "Non-matching VTY response: ", ret, ", should *not* have matched: ", exp_ret); > It's actually "Matching VTY response" here? Right. :) Changed to "Matching VTY response:". -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I176d8fd2ee74e1eb7ac797f931cd6005d398740f Gerrit-Change-Number: 14401 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 12 Jun 2019 06:45:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 07:46:37 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 Jun 2019 07:46:37 +0000 Subject: Change in ...osmo-hlr[master]: hlr.c: abort LU without MSISDN Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14423 Change subject: hlr.c: abort LU without MSISDN ...................................................................... hlr.c: abort LU without MSISDN Respond with a "GPRS services and non GRPS services not allowed" error if a subscriber does not have a MSISDN in the location update. Related TTCN3 test is in [1]. [1] Change-Id: Id544fa906ad442c2bbbccff437c18d04ddccde2e Related: OS#2542 Change-Id: If1b2f3c9ddfba55bd02510f2dfd481bca2602e3a --- M src/hlr.c 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/23/14423/1 diff --git a/src/hlr.c b/src/hlr.c index 90cbac4..d1deae3 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -389,6 +389,13 @@ return 0; } + /* Subscriber does not have a MSISDN (e.g. if generated with + * "subscr-create-on-demand no-msisdn cs+ps" option) */ + if (!luop->subscr.msisdn[0]) { + lu_op_tx_error(luop, GMM_CAUSE_GPRS_OTHER_NOTALLOWED); + return 0; + } + /* TODO: Set subscriber tracing = deactive in VLR/SGSN */ #if 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: If1b2f3c9ddfba55bd02510f2dfd481bca2602e3a Gerrit-Change-Number: 14423 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 12 07:46:49 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 Jun 2019 07:46:49 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add create-subscriber-on-demand tests Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 Change subject: hlr: add create-subscriber-on-demand tests ...................................................................... hlr: add create-subscriber-on-demand tests Test all possible code paths where a subscriber on demand can be created: * Check IMEI early * Location Update * Send Auth Info I have noticed that the HLR does not yet abort a location update if a subscriber was created without a MSISDN. This patch assumes, that the HLR returns a "GPRS services and non GRPS services not allowed" error in that case, and a suitable patch for osmo-hlr.git is in [1]. [1] Change-Id: If1b2f3c9ddfba55bd02510f2dfd481bca2602e3a Related: OS#2542 Change-Id: Id544fa906ad442c2bbbccff437c18d04ddccde2e --- M hlr/HLR_Tests.ttcn M hlr/osmo-hlr.cfg 2 files changed, 133 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/24/14424/1 diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn index 4c158fd..d4f861c 100644 --- a/hlr/HLR_Tests.ttcn +++ b/hlr/HLR_Tests.ttcn @@ -407,7 +407,8 @@ } function f_perform_UL(hexstring imsi, template hexstring msisdn, - template (omit) integer exp_err_cause := omit) + template (omit) integer exp_err_cause := omit, + boolean isd_match_msisdn := true) runs on HLR_ConnHdlr return GSUP_PDU { var GSUP_PDU ret; timer T := 3.0; @@ -440,6 +441,11 @@ isd_done := true; repeat; } + [not exp_fail and not isd_done and not isd_match_msisdn] GSUP.receive(tr_GSUP_ISD_REQ(imsi, ?)) -> value ret { + GSUP.send(ts_GSUP_ISD_RES(imsi)); + isd_done := true; + repeat; + } [not exp_fail and isd_done] GSUP.receive(tr_GSUP_UL_RES(imsi)) -> value ret { setverdict(pass); } @@ -1196,6 +1202,118 @@ vc_conn.done; } +/* Test create-subscriber-on-demand during Check IMEI (OsmoMSC would be set to "check-imei-rqd early") */ +private function f_TC_subscr_create_on_demand_check_imei_early() runs on HLR_ConnHdlr { + var GSUP_PDU res; /* save various return values to prevent ttcn3 compiler warnings */ + var charstring imsi_pattern := "*IMSI: " & hex2str(g_pars.sub.imsi) & "*"; + + /* Random MSISDN and CS+PS NAM (UL must pass) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 cs+ps"); + f_perform_CHECK_IMEI(g_pars.sub.imsi, '12345678901234'H, result := OSMO_GSUP_IMEI_RESULT_ACK); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + res := f_perform_UL(g_pars.sub.imsi, g_pars.sub.msisdn, isd_match_msisdn := false); + f_vty_subscr_delete(VTY, g_pars.sub); + + /* Random MSISDN and no NAM (UL must fail) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 none"); + f_perform_CHECK_IMEI(g_pars.sub.imsi, '12345678901234'H, result := OSMO_GSUP_IMEI_RESULT_ACK); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + res := f_perform_UL(g_pars.sub.imsi, g_pars.sub.msisdn, 7 /* GPRS services not allowed */); + f_vty_subscr_delete(VTY, g_pars.sub); + + /* No MSISDN and no NAM (UL must fail) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand no-msisdn none"); + f_perform_CHECK_IMEI(g_pars.sub.imsi, '12345678901234'H, result := OSMO_GSUP_IMEI_RESULT_ACK); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + res := f_perform_UL(g_pars.sub.imsi, g_pars.sub.msisdn, 7 /* GPRS services not allowed */); + f_vty_subscr_delete(VTY, g_pars.sub); + + /* No MSISDN and CS+PS NAM (UL must fail) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand no-msisdn cs+ps"); + f_perform_CHECK_IMEI(g_pars.sub.imsi, '12345678901234'H, result := OSMO_GSUP_IMEI_RESULT_ACK); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + res := f_perform_UL(g_pars.sub.imsi, g_pars.sub.msisdn, 8 /* GPRS services + non GPRS services not allowed */); + f_vty_subscr_delete(VTY, g_pars.sub); + + setverdict(pass); +} +testcase TC_subscr_create_on_demand_check_imei_early() runs on test_CT { + var hexstring imsi := f_rnd_imsi('26242'H); + var HLR_ConnHdlrPars pars := valueof(t_Pars(imsi)); + var HLR_ConnHdlr vc_conn; + + f_init(false); + vc_conn := f_start_handler(refers(f_TC_gsup_check_imei_unknown_imsi), pars); + vc_conn.done; +} + +/* Test create-subscriber-on-demand during LU (Location Update) */ +private function f_TC_subscr_create_on_demand_ul() runs on HLR_ConnHdlr { + var GSUP_PDU res; + var charstring imsi_pattern := "*IMSI: " & hex2str(g_pars.sub.imsi) & "*"; + + /* Create with random 3 digit MSISDN and CS+PS NAM (LU must pass) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 cs+ps"); + res := f_perform_UL(g_pars.sub.imsi, g_pars.sub.msisdn, isd_match_msisdn := false); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + f_vty_subscr_delete(VTY, g_pars.sub); + + /* Create without CS or PS NAM (LU must fail) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 none"); + res := f_perform_UL(g_pars.sub.imsi, g_pars.sub.msisdn, 7 /* GPRS services not allowed */); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + f_vty_subscr_delete(VTY, g_pars.sub); + + /* Create without CS or PS NAM and without MSISDN (LU must fail) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand no-msisdn none"); + res := f_perform_UL(g_pars.sub.imsi, g_pars.sub.msisdn, 7 /* GPRS services not allowed */); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + f_vty_subscr_delete(VTY, g_pars.sub); + + /* Create with CS+PS NAM and without MSISDN (LU must fail) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand no-msisdn cs+ps"); + res := f_perform_UL(g_pars.sub.imsi, g_pars.sub.msisdn, 8 /* GPRS services + non GPRS services not allowed */); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + f_vty_subscr_delete(VTY, g_pars.sub); + + setverdict(pass); +} +testcase TC_subscr_create_on_demand_ul() runs on test_CT { + var hexstring imsi := f_rnd_imsi('26242'H); + var HLR_ConnHdlrPars pars := valueof(t_Pars(imsi)); + var HLR_ConnHdlr vc_conn; + + f_init(false); + vc_conn := f_start_handler(refers(f_TC_subscr_create_on_demand_ul), pars); + vc_conn.done; +} + +/* Test create-subscriber-on-demand during SAI (SendAuthInfo) */ +private function f_TC_subscr_create_on_demand_sai() runs on HLR_ConnHdlr { + var GSUP_PDU res; + var charstring imsi_pattern := "*IMSI: " & hex2str(g_pars.sub.imsi) & "*"; + + f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 cs+ps"); + + /* HLR creates the subscriber on demand. Then the IMSI is known, but there is no auth data, so the HLR returns + * the "slightly inaccurate cause 'IMSI Unknown' via GSUP". The MS is able to do a LU afterwards. */ + res := f_perform_SAI(g_pars.sub.imsi, 2 /* IMSI Unknown */ ); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); /* verify that it was created before the LU */ + res := f_perform_UL(g_pars.sub.imsi, g_pars.sub.msisdn, isd_match_msisdn := false); + + f_vty_subscr_delete(VTY, g_pars.sub); + setverdict(pass); +} +testcase TC_subscr_create_on_demand_sai() runs on test_CT { + var hexstring imsi := f_rnd_imsi('26242'H); + var HLR_ConnHdlrPars pars := valueof(t_Pars(imsi)); + var HLR_ConnHdlr vc_conn; + + f_init(false); + vc_conn := f_start_handler(refers(f_TC_subscr_create_on_demand_sai), pars); + vc_conn.done; +} + /* TODO: * UL with ISD error * UL with ISD timeout @@ -1236,6 +1354,9 @@ execute( TC_gsup_check_imei() ); execute( TC_gsup_check_imei_invalid_len() ); execute( TC_gsup_check_imei_unknown_imsi() ); + execute( TC_subscr_create_on_demand_check_imei_early() ); + execute( TC_subscr_create_on_demand_ul() ); + execute( TC_subscr_create_on_demand_sai() ); }; }; diff --git a/hlr/osmo-hlr.cfg b/hlr/osmo-hlr.cfg index a17881e..71859c9 100644 --- a/hlr/osmo-hlr.cfg +++ b/hlr/osmo-hlr.cfg @@ -21,3 +21,14 @@ ussd route prefix *#100 internal own-msisdn ussd route prefix *#101 internal own-imsi ussd route prefix *100 external foobar + +log gsmtap 127.0.0.1 + logging filter all 1 + logging color 1 + logging print level 1 + logging print category 1 + logging print category-hex 0 + logging print file basename last + logging print extended-timestamp 1 + logging level set-all debug + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id544fa906ad442c2bbbccff437c18d04ddccde2e Gerrit-Change-Number: 14424 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 12 08:01:34 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 Jun 2019 08:01:34 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add create-subscriber-on-demand tests In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 ) Change subject: hlr: add create-subscriber-on-demand tests ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id544fa906ad442c2bbbccff437c18d04ddccde2e Gerrit-Change-Number: 14424 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 12 Jun 2019 08:01:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 08:07:42 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Jun 2019 08:07:42 +0000 Subject: Change in ...osmo-hlr[master]: hlr.c: abort LU without MSISDN In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14423 ) Change subject: hlr.c: abort LU without MSISDN ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: If1b2f3c9ddfba55bd02510f2dfd481bca2602e3a Gerrit-Change-Number: 14423 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 12 Jun 2019 08:07: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 12 08:17:22 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 Jun 2019 08:17:22 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Fix is_cmd_ambiguous() returning always 0 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14422 ) Change subject: vty: command.c: Fix is_cmd_ambiguous() returning always 0 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iec87d7db49a096d07e38ff8a060b923a52bfd6ba Gerrit-Change-Number: 14422 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 Jun 2019 08:17: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 12 08:20:33 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 Jun 2019 08:20:33 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Get rid of huge indentation block In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14421 ) Change subject: vty: command.c: Get rid of huge indentation block ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/#/c/14421/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14421/1//COMMIT_MSG at 9 PS1, Line 9: foor for -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9715734ed276f002fdc8c3b9742531ad36b2ef9e Gerrit-Change-Number: 14421 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 Jun 2019 08:20: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 Wed Jun 12 08:21:28 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Jun 2019 08:21:28 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add create-subscriber-on-demand tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 ) Change subject: hlr: add create-subscriber-on-demand tests ...................................................................... Patch Set 2: (4 comments) https://gerrit.osmocom.org/#/c/14424/2/hlr/HLR_Tests.ttcn File hlr/HLR_Tests.ttcn: https://gerrit.osmocom.org/#/c/14424/2/hlr/HLR_Tests.ttcn at 444 PS2, Line 444: isd_match_msisdn This parameter looks redundant to me. You could just pass '?' as msisdn to f_perform_UL(), since it's defined as template. Am I missing something? https://gerrit.osmocom.org/#/c/14424/2/hlr/HLR_Tests.ttcn at 1206 PS2, Line 1206: f_TC_subscr_create_on_demand_check_imei_early As far as I can see, you test both 'cs+ps' and 'none' modes. Would be also great to cover both 'cs' and 'ps' separately. https://gerrit.osmocom.org/#/c/14424/2/hlr/HLR_Tests.ttcn at 1227 PS2, Line 1227: f_vty_subscr_show It would be also good to make sure that subscriber has no MSISDN assigned. Just an idea. https://gerrit.osmocom.org/#/c/14424/2/hlr/HLR_Tests.ttcn at 1234 PS2, Line 1234: f_vty_subscr_show Same here. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id544fa906ad442c2bbbccff437c18d04ddccde2e Gerrit-Change-Number: 14424 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 12 Jun 2019 08:21: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 Wed Jun 12 08:24:53 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 Jun 2019 08:24:53 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/L1CTL_PortType.ttcn: clarify and unify timeout messages In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14420 ) Change subject: library/L1CTL_PortType.ttcn: clarify and unify timeout messages ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I25e8230c2e4b29b2583bf8954d0dedaa18e5d6ae Gerrit-Change-Number: 14420 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 Jun 2019 08:24:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 08:51:17 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Jun 2019 08:51:17 +0000 Subject: Change in ...libosmocore[master]: core/utils: drop meaningless const from return value of osmo_luhn() Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14425 Change subject: core/utils: drop meaningless const from return value of osmo_luhn() ...................................................................... core/utils: drop meaningless const from return value of osmo_luhn() Change-Id: I085da06f31a0a6862ae2ba041fafc134cc240f7e --- M include/osmocom/core/utils.h M src/utils.c 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/25/14425/1 diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h index f27359c..f429ba6 100644 --- a/include/osmocom/core/utils.h +++ b/include/osmocom/core/utils.h @@ -155,7 +155,7 @@ uint32_t osmo_isqrt32(uint32_t x); -const char osmo_luhn(const char* in, int in_len); +char osmo_luhn(const char* in, int in_len); /*! State for OSMO_STRBUF_APPEND() and OSMO_STRBUF_PRINTF(). See there for examples. */ struct osmo_strbuf { diff --git a/src/utils.c b/src/utils.c index c38f530..7b7178c 100644 --- a/src/utils.c +++ b/src/utils.c @@ -993,7 +993,7 @@ * \param[in] in_len Count of digits to use for the input (14 for IMEI). * \returns checksum char (e.g. '3'); negative on error */ -const char osmo_luhn(const char* in, int in_len) +char osmo_luhn(const char* in, int in_len) { int i, sum = 0; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I085da06f31a0a6862ae2ba041fafc134cc240f7e Gerrit-Change-Number: 14425 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 12 08:51:17 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Jun 2019 08:51:17 +0000 Subject: Change in ...libosmocore[master]: protocol/gsm_04_08.h: do not check if unsigned is positive Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14426 Change subject: protocol/gsm_04_08.h: do not check if unsigned is positive ...................................................................... protocol/gsm_04_08.h: do not check if unsigned is positive Change-Id: I6b486b52a3733d5fd5e8ba18acbc9374e2e8bd7e --- M include/osmocom/gsm/protocol/gsm_04_08.h 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/26/14426/1 diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h b/include/osmocom/gsm/protocol/gsm_04_08.h index 16910c3..2be6ed3 100644 --- a/include/osmocom/gsm/protocol/gsm_04_08.h +++ b/include/osmocom/gsm/protocol/gsm_04_08.h @@ -719,7 +719,7 @@ */ static inline void gsm48_barr_acc(struct gsm48_rach_control *rach_control, unsigned int acc) { - OSMO_ASSERT(acc >= 0 && acc <= 15); + OSMO_ASSERT(acc <= 15); if (acc >= 8) rach_control->t2 |= (1 << (acc - 8)); else @@ -733,7 +733,7 @@ */ static inline void gsm48_allow_acc(struct gsm48_rach_control *rach_control, unsigned int acc) { - OSMO_ASSERT(acc >= 0 && acc <= 15); + OSMO_ASSERT(acc <= 15); if (acc >= 8) rach_control->t2 &= ~(1 << (acc - 8)); else @@ -748,7 +748,7 @@ */ static inline bool gsm48_acc_is_barred(struct gsm48_rach_control *rach_control, unsigned int acc) { - OSMO_ASSERT(acc >= 0 && acc <= 15); + OSMO_ASSERT(acc <= 15); if (acc >= 8) return (rach_control->t2 & (1 << (acc - 8))) != 0; return (rach_control->t3 & (1 << (acc))) != 0; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6b486b52a3733d5fd5e8ba18acbc9374e2e8bd7e Gerrit-Change-Number: 14426 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 12 09:21:31 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 Jun 2019 09:21:31 +0000 Subject: Change in ...libosmocore[master]: core/utils: drop meaningless const from return value of osmo_luhn() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14425 ) Change subject: core/utils: drop meaningless const from return value of osmo_luhn() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I085da06f31a0a6862ae2ba041fafc134cc240f7e Gerrit-Change-Number: 14425 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 Jun 2019 09:21:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 09:38:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 Jun 2019 09:38:27 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Get rid of huge indentation block In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14421 ) Change subject: vty: command.c: Get rid of huge indentation block ...................................................................... vty: command.c: Get rid of huge indentation block Huge conditional block inside foor loop is negated in this patch together with a "continue" keyword. Change-Id: I9715734ed276f002fdc8c3b9742531ad36b2ef9e --- M src/vty/command.c 1 file changed, 91 insertions(+), 88 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/src/vty/command.c b/src/vty/command.c index 87f2abc..6380487 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -1516,97 +1516,100 @@ descvec = vector_slot(cmd_element->strvec, index); - for (j = 0; j < vector_active(descvec); j++) - if ((desc = vector_slot(descvec, j))) { - enum match_type ret; - const char *str = desc->cmd; + for (j = 0; j < vector_active(descvec); j++) { + desc = vector_slot(descvec, j); + if (!desc) + continue; - if (CMD_OPTION(str)) { - if (!cmd_deopt_ctx) - cmd_deopt_ctx = - talloc_named_const(tall_vty_cmd_ctx, 0, - __func__); - str = cmd_deopt(cmd_deopt_ctx, str); - if (str == NULL) - continue; - } + enum match_type ret; + const char *str = desc->cmd; - switch (type) { - case exact_match: - if (!(CMD_VARIABLE (str)) - && strcmp(command, str) == 0) - match++; - break; - case partly_match: - if (!(CMD_VARIABLE (str)) - && strncmp(command, str, strlen (command)) == 0) - { - if (matched - && strcmp(matched, - str) != 0) { - ret = 1; /* There is ambiguous match. */ - goto free_and_return; - } else - matched = str; - match++; - } - break; - case range_match: - if (cmd_range_match - (str, command)) { - if (matched - && strcmp(matched, - str) != 0) { - ret = 1; - goto free_and_return; - } else - matched = str; - match++; - } - break; -#ifdef HAVE_IPV6 - case ipv6_match: - if (CMD_IPV6(str)) - match++; - break; - case ipv6_prefix_match: - if ((ret = - cmd_ipv6_prefix_match - (command)) != no_match) { - if (ret == partly_match) { - ret = 2; /* There is incomplete match. */ - goto free_and_return; - } - - match++; - } - break; -#endif /* HAVE_IPV6 */ - case ipv4_match: - if (CMD_IPV4(str)) - match++; - break; - case ipv4_prefix_match: - if ((ret = - cmd_ipv4_prefix_match - (command)) != no_match) { - if (ret == partly_match) { - ret = 2; /* There is incomplete match. */ - goto free_and_return; - } - - match++; - } - break; - case extend_match: - if (CMD_VARIABLE (str)) - match++; - break; - case no_match: - default: - break; - } + if (CMD_OPTION(str)) { + if (!cmd_deopt_ctx) + cmd_deopt_ctx = + talloc_named_const(tall_vty_cmd_ctx, 0, + __func__); + str = cmd_deopt(cmd_deopt_ctx, str); + if (str == NULL) + continue; } + + switch (type) { + case exact_match: + if (!(CMD_VARIABLE (str)) + && strcmp(command, str) == 0) + match++; + break; + case partly_match: + if (!(CMD_VARIABLE (str)) + && strncmp(command, str, strlen (command)) == 0) + { + if (matched + && strcmp(matched, + str) != 0) { + ret = 1; /* There is ambiguous match. */ + goto free_and_return; + } else + matched = str; + match++; + } + break; + case range_match: + if (cmd_range_match + (str, command)) { + if (matched + && strcmp(matched, + str) != 0) { + ret = 1; + goto free_and_return; + } else + matched = str; + match++; + } + break; +#ifdef HAVE_IPV6 + case ipv6_match: + if (CMD_IPV6(str)) + match++; + break; + case ipv6_prefix_match: + if ((ret = + cmd_ipv6_prefix_match + (command)) != no_match) { + if (ret == partly_match) { + ret = 2; /* There is incomplete match. */ + goto free_and_return; + } + + match++; + } + break; +#endif /* HAVE_IPV6 */ + case ipv4_match: + if (CMD_IPV4(str)) + match++; + break; + case ipv4_prefix_match: + if ((ret = + cmd_ipv4_prefix_match + (command)) != no_match) { + if (ret == partly_match) { + ret = 2; /* There is incomplete match. */ + goto free_and_return; + } + + match++; + } + break; + case extend_match: + if (CMD_VARIABLE (str)) + match++; + break; + case no_match: + default: + break; + } + } if (!match) vector_slot(v, i) = NULL; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9715734ed276f002fdc8c3b9742531ad36b2ef9e Gerrit-Change-Number: 14421 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 09:38:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 Jun 2019 09:38:28 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Fix is_cmd_ambiguous() returning always 0 In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14422 ) Change subject: vty: command.c: Fix is_cmd_ambiguous() returning always 0 ...................................................................... vty: command.c: Fix is_cmd_ambiguous() returning always 0 inner block defined variable "enum match_type ret" was being masking outter block variable "int ret = 0". The ret variable was being given non zero values only inside the inner block, so that change was done on the inner variable and not the outer one, which is returned. Fixes: 5314c513f23688462d7f7937e5ae5e0d5cd4548e Change-Id: Iec87d7db49a096d07e38ff8a060b923a52bfd6ba --- M src/vty/command.c M tests/tdef/tdef_vty_test_config_root.vty M tests/vty/vty_transcript_test.vty 3 files changed, 14 insertions(+), 43 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved osmith: Looks good to me, approved diff --git a/src/vty/command.c b/src/vty/command.c index 6380487..e9690bb 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -1521,7 +1521,7 @@ if (!desc) continue; - enum match_type ret; + enum match_type mtype; const char *str = desc->cmd; if (CMD_OPTION(str)) { @@ -1573,10 +1573,10 @@ match++; break; case ipv6_prefix_match: - if ((ret = + if ((mtype = cmd_ipv6_prefix_match (command)) != no_match) { - if (ret == partly_match) { + if (mtype == partly_match) { ret = 2; /* There is incomplete match. */ goto free_and_return; } @@ -1590,10 +1590,10 @@ match++; break; case ipv4_prefix_match: - if ((ret = + if ((mtype = cmd_ipv4_prefix_match (command)) != no_match) { - if (ret == partly_match) { + if (mtype == partly_match) { ret = 2; /* There is incomplete match. */ goto free_and_return; } diff --git a/tests/tdef/tdef_vty_test_config_root.vty b/tests/tdef/tdef_vty_test_config_root.vty index e7c96ca..8613ff3 100644 --- a/tests/tdef/tdef_vty_test_config_root.vty +++ b/tests/tdef/tdef_vty_test_config_root.vty @@ -115,32 +115,13 @@ % Invalid T timer argument (should be 'T1234' or 'X1234'): 'T-123' tdef_vty_test(config)# do show timer t -tea: T1 = 50 s Water Boiling Timeout (default: 50 s) -tea: T2 = 300 s Tea brewing (default: 300 s) -tea: T3 = 5 m Let tea cool down before drinking (default: 5 m) -tea: T4 = 20 m Forgot to drink tea while it's warm (default: 20 m) -test: T1 = 100 s Testing a hundred seconds (default: 100 s) -test: T2 = 100 ms Testing a hundred milliseconds (default: 100 ms) -test: T3 = 100 m Testing a hundred minutes (default: 100 m) -test: T4 = 100 Testing a hundred potatoes (default: 100) -test: T2147483647 = 4294967295 m Very large (default: 4294967295 m) -test: X23 = 239471 s Negative T number (default: 239471 s) +% Ambiguous command. tdef_vty_test(config)# do show timer te -tea: T1 = 50 s Water Boiling Timeout (default: 50 s) -tea: T2 = 300 s Tea brewing (default: 300 s) -tea: T3 = 5 m Let tea cool down before drinking (default: 5 m) -tea: T4 = 20 m Forgot to drink tea while it's warm (default: 20 m) -test: T1 = 100 s Testing a hundred seconds (default: 100 s) -test: T2 = 100 ms Testing a hundred milliseconds (default: 100 ms) -test: T3 = 100 m Testing a hundred minutes (default: 100 m) -test: T4 = 100 Testing a hundred potatoes (default: 100) -test: T2147483647 = 4294967295 m Very large (default: 4294967295 m) -test: X23 = 239471 s Negative T number (default: 239471 s) +% Ambiguous command. tdef_vty_test(config)# do show timer te T2 -tea: T2 = 300 s Tea brewing (default: 300 s) -test: T2 = 100 ms Testing a hundred milliseconds (default: 100 ms) +% Ambiguous command. tdef_vty_test(config)# timer tea 3 30 @@ -174,20 +155,10 @@ tea: T4 = 20 m Forgot to drink tea while it's warm (default: 20 m) tdef_vty_test(config)# timer t -tea: T1 = 50 s Water Boiling Timeout (default: 50 s) -tea: T2 = 300 s Tea brewing (default: 300 s) -tea: T3 = 32 m Let tea cool down before drinking (default: 5 m) -tea: T4 = 20 m Forgot to drink tea while it's warm (default: 20 m) -test: T1 = 100 s Testing a hundred seconds (default: 100 s) -test: T2 = 100 ms Testing a hundred milliseconds (default: 100 ms) -test: T3 = 100 m Testing a hundred minutes (default: 100 m) -test: T4 = 100 Testing a hundred potatoes (default: 100) -test: T2147483647 = 4294967295 m Very large (default: 4294967295 m) -test: X23 = 239471 s Negative T number (default: 239471 s) +% Ambiguous command. tdef_vty_test(config)# timer te T2 -tea: T2 = 300 s Tea brewing (default: 300 s) -test: T2 = 100 ms Testing a hundred milliseconds (default: 100 ms) +% Ambiguous command. tdef_vty_test(config)# timer test T2 100 @@ -195,7 +166,7 @@ % Error: no timers found tdef_vty_test(config)# timer te T2 100 -% Error: no timers found +% Ambiguous command. tdef_vty_test(config)# do show timer software diff --git a/tests/vty/vty_transcript_test.vty b/tests/vty/vty_transcript_test.vty index 27dacdc..5ed3c1d 100644 --- a/tests/vty/vty_transcript_test.vty +++ b/tests/vty/vty_transcript_test.vty @@ -19,7 +19,7 @@ ok argc=1 o vty_transcript_test> multi0 t -ok argc=1 t +% Ambiguous command. vty_transcript_test> multi0 th ok argc=1 th @@ -42,7 +42,7 @@ ok argc=1 o vty_transcript_test> multi1 t -ok argc=1 t +% Ambiguous command. vty_transcript_test> multi1 th ok argc=1 th @@ -74,4 +74,4 @@ ok argc=1 on vty_transcript_test> multi2 t -ok argc=1 t +% Ambiguous command. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iec87d7db49a096d07e38ff8a060b923a52bfd6ba Gerrit-Change-Number: 14422 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 09:39:48 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 Jun 2019 09:39:48 +0000 Subject: Change in ...libosmocore[master]: protocol/gsm_04_08.h: do not check if unsigned is positive In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14426 ) Change subject: protocol/gsm_04_08.h: do not check if unsigned is positive ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6b486b52a3733d5fd5e8ba18acbc9374e2e8bd7e Gerrit-Change-Number: 14426 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 12 Jun 2019 09: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 Wed Jun 12 09:40:50 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 Jun 2019 09:40:50 +0000 Subject: Change in ...libosmocore[master]: core/utils: drop meaningless const from return value of osmo_luhn() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14425 ) Change subject: core/utils: drop meaningless const from return value of osmo_luhn() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I085da06f31a0a6862ae2ba041fafc134cc240f7e Gerrit-Change-Number: 14425 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 12 Jun 2019 09:40: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 12 10:30:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 Jun 2019 10:30:34 +0000 Subject: Change in ...libosmocore[master]: cosmetic: vty: command.c: Use upper case for enum match_type value names Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14427 Change subject: cosmetic: vty: command.c: Use upper case for enum match_type value names ...................................................................... cosmetic: vty: command.c: Use upper case for enum match_type value names Makes code easier to follow because enum values no longer look like variables. Change-Id: Ib6e9592c5962d047869a280c10f9b557fae6f435 --- M src/vty/command.c 1 file changed, 101 insertions(+), 101 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/27/14427/1 diff --git a/src/vty/command.c b/src/vty/command.c index e9690bb..104053f 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -869,17 +869,17 @@ /* Completion match types. */ enum match_type { - no_match = 0, - any_match, - extend_match, - ipv4_prefix_match, - ipv4_match, - ipv6_prefix_match, - ipv6_match, - range_match, - vararg_match, - partly_match, - exact_match, + NO_MATCH = 0, + ANY_MATCH, + EXTEND_MATCH, + IPV4_PREFIX_MATCH, + IPV4_MATCH, + IPV6_PREFIX_MATCH, + IPV6_MATCH, + RANGE_MATCH, + VARARG_MATCH, + PARTLY_MATCH, + EXACT_MATCH, }; static enum match_type cmd_ipv4_match(const char *str) @@ -889,7 +889,7 @@ char buf[4]; if (str == NULL) - return partly_match; + return PARTLY_MATCH; for (;;) { memset(buf, 0, sizeof(buf)); @@ -897,29 +897,29 @@ while (*str != '\0') { if (*str == '.') { if (dots >= 3) - return no_match; + return NO_MATCH; if (*(str + 1) == '.') - return no_match; + return NO_MATCH; if (*(str + 1) == '\0') - return partly_match; + return PARTLY_MATCH; dots++; break; } if (!isdigit((int)*str)) - return no_match; + return NO_MATCH; str++; } if (str - sp > 3) - return no_match; + return NO_MATCH; strncpy(buf, sp, str - sp); if (atoi(buf) > 255) - return no_match; + return NO_MATCH; nums++; @@ -930,9 +930,9 @@ } if (nums < 4) - return partly_match; + return PARTLY_MATCH; - return exact_match; + return EXACT_MATCH; } static enum match_type cmd_ipv4_prefix_match(const char *str) @@ -942,7 +942,7 @@ char buf[4]; if (str == NULL) - return partly_match; + return PARTLY_MATCH; for (;;) { memset(buf, 0, sizeof(buf)); @@ -950,44 +950,44 @@ while (*str != '\0' && *str != '/') { if (*str == '.') { if (dots == 3) - return no_match; + return NO_MATCH; if (*(str + 1) == '.' || *(str + 1) == '/') - return no_match; + return NO_MATCH; if (*(str + 1) == '\0') - return partly_match; + return PARTLY_MATCH; dots++; break; } if (!isdigit((int)*str)) - return no_match; + return NO_MATCH; str++; } if (str - sp > 3) - return no_match; + return NO_MATCH; strncpy(buf, sp, str - sp); if (atoi(buf) > 255) - return no_match; + return NO_MATCH; if (dots == 3) { if (*str == '/') { if (*(str + 1) == '\0') - return partly_match; + return PARTLY_MATCH; str++; break; } else if (*str == '\0') - return partly_match; + return PARTLY_MATCH; } if (*str == '\0') - return partly_match; + return PARTLY_MATCH; str++; } @@ -995,15 +995,15 @@ sp = str; while (*str != '\0') { if (!isdigit((int)*str)) - return no_match; + return NO_MATCH; str++; } if (atoi(sp) > 32) - return no_match; + return NO_MATCH; - return exact_match; + return EXACT_MATCH; } #define IPV6_ADDR_STR "0123456789abcdefABCDEF:.%" @@ -1027,10 +1027,10 @@ int ret; if (str == NULL) - return partly_match; + return PARTLY_MATCH; if (strspn(str, IPV6_ADDR_STR) != strlen(str)) - return no_match; + return NO_MATCH; /* use inet_pton that has a better support, * for example inet_pton can support the automatic addresses: @@ -1039,14 +1039,14 @@ ret = inet_pton(AF_INET6, str, &sin6_dummy.sin6_addr); if (ret == 1) - return exact_match; + return EXACT_MATCH; while (*str != '\0') { switch (state) { case STATE_START: if (*str == ':') { if (*(str + 1) != ':' && *(str + 1) != '\0') - return no_match; + return NO_MATCH; colons--; state = STATE_COLON; } else { @@ -1066,10 +1066,10 @@ break; case STATE_DOUBLE: if (double_colon) - return no_match; + return NO_MATCH; if (*(str + 1) == ':') - return no_match; + return NO_MATCH; else { if (*(str + 1) != '\0') colons++; @@ -1083,7 +1083,7 @@ case STATE_ADDR: if (*(str + 1) == ':' || *(str + 1) == '\0') { if (str - sp > 3) - return no_match; + return NO_MATCH; nums++; state = STATE_COLON; @@ -1099,20 +1099,20 @@ } if (nums > 8) - return no_match; + return NO_MATCH; if (colons > 7) - return no_match; + return NO_MATCH; str++; } #if 0 if (nums < 11) - return partly_match; + return PARTLY_MATCH; #endif /* 0 */ - return exact_match; + return EXACT_MATCH; } static enum match_type cmd_ipv6_prefix_match(const char *str) @@ -1124,17 +1124,17 @@ char *endptr = NULL; if (str == NULL) - return partly_match; + return PARTLY_MATCH; if (strspn(str, IPV6_PREFIX_STR) != strlen(str)) - return no_match; + return NO_MATCH; while (*str != '\0' && state != STATE_MASK) { switch (state) { case STATE_START: if (*str == ':') { if (*(str + 1) != ':' && *(str + 1) != '\0') - return no_match; + return NO_MATCH; colons--; state = STATE_COLON; } else { @@ -1146,7 +1146,7 @@ case STATE_COLON: colons++; if (*(str + 1) == '/') - return no_match; + return NO_MATCH; else if (*(str + 1) == ':') state = STATE_DOUBLE; else { @@ -1156,10 +1156,10 @@ break; case STATE_DOUBLE: if (double_colon) - return no_match; + return NO_MATCH; if (*(str + 1) == ':') - return no_match; + return NO_MATCH; else { if (*(str + 1) != '\0' && *(str + 1) != '/') colons++; @@ -1178,11 +1178,11 @@ if (*(str + 1) == ':' || *(str + 1) == '.' || *(str + 1) == '\0' || *(str + 1) == '/') { if (str - sp > 3) - return no_match; + return NO_MATCH; for (; sp <= str; sp++) if (*sp == '/') - return no_match; + return NO_MATCH; nums++; @@ -1199,7 +1199,7 @@ break; case STATE_SLASH: if (*(str + 1) == '\0') - return partly_match; + return PARTLY_MATCH; state = STATE_MASK; break; @@ -1208,33 +1208,33 @@ } if (nums > 11) - return no_match; + return NO_MATCH; if (colons > 7) - return no_match; + return NO_MATCH; str++; } if (state < STATE_MASK) - return partly_match; + return PARTLY_MATCH; mask = strtol(str, &endptr, 10); if (*endptr != '\0') - return no_match; + return NO_MATCH; if (mask < 0 || mask > 128) - return no_match; + return NO_MATCH; /* I don't know why mask < 13 makes command match partly. Forgive me to make this comments. I Want to set static default route because of lack of function to originate default in ospf6d; sorry yasu if (mask < 13) - return partly_match; + return PARTLY_MATCH; */ - return exact_match; + return EXACT_MATCH; } #endif /* HAVE_IPV6 */ @@ -1349,7 +1349,7 @@ * as it we only discover it if a user tries to run it */ if (tmp == NULL) - return no_match; + return NO_MATCH; ret = cmd_match(tmp, command, min, false); @@ -1358,45 +1358,45 @@ return ret; } else if (CMD_VARARG(str)) - return vararg_match; + return VARARG_MATCH; else if (CMD_RANGE(str)) { if (cmd_range_match(str, command)) - return range_match; + return RANGE_MATCH; } #ifdef HAVE_IPV6 else if (CMD_IPV6(str)) { if (cmd_ipv6_match(command) >= min) - return ipv6_match; + return IPV6_MATCH; } else if (CMD_IPV6_PREFIX(str)) { if (cmd_ipv6_prefix_match(command) >= min) - return ipv6_prefix_match; + return IPV6_PREFIX_MATCH; } #endif /* HAVE_IPV6 */ else if (CMD_IPV4(str)) { if (cmd_ipv4_match(command) >= min) - return ipv4_match; + return IPV4_MATCH; } else if (CMD_IPV4_PREFIX(str)) { if (cmd_ipv4_prefix_match(command) >= min) - return ipv4_prefix_match; + return IPV4_PREFIX_MATCH; } else if (CMD_VARIABLE(str)) - return extend_match; + return EXTEND_MATCH; else if (strncmp(command, str, strlen(command)) == 0) { if (strcmp(command, str) == 0) - return exact_match; - else if (partly_match >= min) - return partly_match; + return EXACT_MATCH; + else if (PARTLY_MATCH >= min) + return PARTLY_MATCH; } - return no_match; + return NO_MATCH; } /* Filter vector at the specified index and by the given command string, to @@ -1412,7 +1412,7 @@ vector descvec; struct desc *desc; - match_type = no_match; + match_type = NO_MATCH; /* If command and cmd_element string does not match set NULL to vector */ for (i = 0; i < vector_active(v); i++) @@ -1432,7 +1432,7 @@ ret = cmd_match (desc->cmd, command, level, true); - if (ret != no_match) + if (ret != NO_MATCH) matched++; if (match_type < ret) @@ -1443,8 +1443,8 @@ } } - if (match_type == no_match) - return no_match; + if (match_type == NO_MATCH) + return NO_MATCH; /* 2nd pass: We now know the 'strongest' match type for the index, so we * go again and filter out commands whose argument (at this index) is @@ -1454,7 +1454,7 @@ * foo bar BLAH * * and the command string is 'foo bar 10', then we will get here with with - * 'range_match' being the strongest match. However, if 'BLAH' came + * 'RANGE_MATCH' being the strongest match. However, if 'BLAH' came * earlier, it won't have been filtered out (as a CMD_VARIABLE allows "10"). * * If we don't do a 2nd pass and filter it out, the higher-layers will @@ -1475,7 +1475,7 @@ if ((desc = vector_slot(descvec, j))) { enum match_type ret; - ret = cmd_match(desc->cmd, command, any_match, true); + ret = cmd_match(desc->cmd, command, ANY_MATCH, true); if (ret >= match_type) matched++; @@ -1535,12 +1535,12 @@ } switch (type) { - case exact_match: + case EXACT_MATCH: if (!(CMD_VARIABLE (str)) && strcmp(command, str) == 0) match++; break; - case partly_match: + case PARTLY_MATCH: if (!(CMD_VARIABLE (str)) && strncmp(command, str, strlen (command)) == 0) { @@ -1554,7 +1554,7 @@ match++; } break; - case range_match: + case RANGE_MATCH: if (cmd_range_match (str, command)) { if (matched @@ -1568,15 +1568,15 @@ } break; #ifdef HAVE_IPV6 - case ipv6_match: + case IPV6_MATCH: if (CMD_IPV6(str)) match++; break; - case ipv6_prefix_match: + case IPV6_PREFIX_MATCH: if ((mtype = cmd_ipv6_prefix_match - (command)) != no_match) { - if (mtype == partly_match) { + (command)) != NO_MATCH) { + if (mtype == PARTLY_MATCH) { ret = 2; /* There is incomplete match. */ goto free_and_return; } @@ -1585,15 +1585,15 @@ } break; #endif /* HAVE_IPV6 */ - case ipv4_match: + case IPV4_MATCH: if (CMD_IPV4(str)) match++; break; - case ipv4_prefix_match: + case IPV4_PREFIX_MATCH: if ((mtype = cmd_ipv4_prefix_match - (command)) != no_match) { - if (mtype == partly_match) { + (command)) != NO_MATCH) { + if (mtype == PARTLY_MATCH) { ret = 2; /* There is incomplete match. */ goto free_and_return; } @@ -1601,11 +1601,11 @@ match++; } break; - case extend_match: + case EXTEND_MATCH: if (CMD_VARIABLE (str)) match++; break; - case no_match: + case NO_MATCH: default: break; } @@ -1771,9 +1771,9 @@ if (!command) continue; - match = cmd_filter(command, cmd_vector, i, any_match); + match = cmd_filter(command, cmd_vector, i, ANY_MATCH); - if (match == vararg_match) { + if (match == VARARG_MATCH) { struct cmd_element *cmd_element; vector descvec; unsigned int j, k; @@ -1826,7 +1826,7 @@ /* Make sure that cmd_vector is filtered based on current word */ command = vector_slot(vline, index); if (command) - cmd_filter(command, cmd_vector, index, any_match); + cmd_filter(command, cmd_vector, index, ANY_MATCH); /* Make description vector. */ for (i = 0; i < vector_active(cmd_vector); i++) { @@ -1974,7 +1974,7 @@ /* First try completion match, if there is exactly match return 1 */ match = - cmd_filter(command, cmd_vector, i, any_match); + cmd_filter(command, cmd_vector, i, ANY_MATCH); /* If there is exact match then filter ambiguous match else check ambiguousness. */ @@ -2234,9 +2234,9 @@ int ret; match = cmd_filter(command, cmd_vector, index, - any_match); + ANY_MATCH); - if (match == vararg_match) + if (match == VARARG_MATCH) break; ret = @@ -2259,7 +2259,7 @@ for (i = 0; i < vector_active(cmd_vector); i++) { if ((cmd_element = vector_slot(cmd_vector, i))) { - if (match == vararg_match + if (match == VARARG_MATCH || index >= cmd_element->cmdsize) { matched_element = cmd_element; #if 0 @@ -2383,10 +2383,10 @@ int ret; match = cmd_filter(vector_slot(vline, index), - cmd_vector, index, exact_match); + cmd_vector, index, EXACT_MATCH); /* If command meets '.VARARG' then finish matching. */ - if (match == vararg_match) + if (match == VARARG_MATCH) break; ret = @@ -2409,7 +2409,7 @@ if (vector_slot(cmd_vector, i) != NULL) { cmd_element = vector_slot(cmd_vector, i); - if (match == vararg_match + if (match == VARARG_MATCH || index >= cmd_element->cmdsize) { matched_element = cmd_element; matched_count++; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib6e9592c5962d047869a280c10f9b557fae6f435 Gerrit-Change-Number: 14427 Gerrit-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 12 10:42:38 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 Jun 2019 10:42:38 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add create-subscriber-on-demand tests In-Reply-To: References: Message-ID: Hello fixeria, pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 to look at the new patch set (#3). Change subject: hlr: add create-subscriber-on-demand tests ...................................................................... hlr: add create-subscriber-on-demand tests Test all possible code paths where a subscriber on demand can be created: * Check IMEI early * Location Update * Send Auth Info I have noticed that the HLR does not yet abort a location update if a subscriber was created without a MSISDN. This patch assumes, that the HLR returns a "GPRS services and non GRPS services not allowed" error in that case, and a suitable patch for osmo-hlr.git is in [1]. [1] Change-Id: If1b2f3c9ddfba55bd02510f2dfd481bca2602e3a Related: OS#2542 Change-Id: Id544fa906ad442c2bbbccff437c18d04ddccde2e --- M hlr/HLR_Tests.ttcn 1 file changed, 173 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/24/14424/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id544fa906ad442c2bbbccff437c18d04ddccde2e Gerrit-Change-Number: 14424 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 10:43:08 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 Jun 2019 10:43:08 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add create-subscriber-on-demand tests In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 ) Change subject: hlr: add create-subscriber-on-demand tests ...................................................................... Patch Set 3: (4 comments) https://gerrit.osmocom.org/#/c/14424/2/hlr/HLR_Tests.ttcn File hlr/HLR_Tests.ttcn: https://gerrit.osmocom.org/#/c/14424/2/hlr/HLR_Tests.ttcn at 444 PS2, Line 444: isd_match_msisdn > This parameter looks redundant to me. [?] I'm still getting used to the TTCN3 syntax. You are correct, this part of the patch isn't needed at all, one can neatly pass '?' instead :) https://gerrit.osmocom.org/#/c/14424/2/hlr/HLR_Tests.ttcn at 1206 PS2, Line 1206: f_TC_subscr_create_on_demand_check_imei_early > As far as I can see, you test both 'cs+ps' and 'none' modes. [?] Done https://gerrit.osmocom.org/#/c/14424/2/hlr/HLR_Tests.ttcn at 1227 PS2, Line 1227: f_vty_subscr_show > It would be also good to make sure that subscriber has no MSISDN assigned. Just an idea. Done https://gerrit.osmocom.org/#/c/14424/2/hlr/HLR_Tests.ttcn at 1234 PS2, Line 1234: f_vty_subscr_show > Same here. Done -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id544fa906ad442c2bbbccff437c18d04ddccde2e Gerrit-Change-Number: 14424 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 12 Jun 2019 10:43:08 +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 12 11:07:38 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 Jun 2019 11:07:38 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Get rid of huge indentation block Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14428 Change subject: vty: command.c: Get rid of huge indentation block ...................................................................... vty: command.c: Get rid of huge indentation block Huge conditional block inside for loop is negated in this patch together with a "continue" keyword, similar to what was already done recently in 4742526645d6137dd90ef369f0415afdb91736dc. Change-Id: I803c4ed38e9ab09bf929528c75a60e6f65da3928 --- M src/vty/command.c 1 file changed, 101 insertions(+), 98 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/28/14428/1 diff --git a/src/vty/command.c b/src/vty/command.c index 104053f..4189c7c 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -1510,109 +1510,112 @@ * or ambiguities to cause a noticeable memory footprint from keeping all allocations. */ void *cmd_deopt_ctx = NULL; - for (i = 0; i < vector_active(v); i++) - if ((cmd_element = vector_slot(v, i)) != NULL) { - int match = 0; + for (i = 0; i < vector_active(v); i++) { + cmd_element = vector_slot(v, i); + if (!cmd_element) + continue; - descvec = vector_slot(cmd_element->strvec, index); + int match = 0; - for (j = 0; j < vector_active(descvec); j++) { - desc = vector_slot(descvec, j); - if (!desc) + descvec = vector_slot(cmd_element->strvec, index); + + for (j = 0; j < vector_active(descvec); j++) { + desc = vector_slot(descvec, j); + if (!desc) + continue; + + enum match_type mtype; + const char *str = desc->cmd; + + if (CMD_OPTION(str)) { + if (!cmd_deopt_ctx) + cmd_deopt_ctx = + talloc_named_const(tall_vty_cmd_ctx, 0, + __func__); + str = cmd_deopt(cmd_deopt_ctx, str); + if (str == NULL) continue; - - enum match_type mtype; - const char *str = desc->cmd; - - if (CMD_OPTION(str)) { - if (!cmd_deopt_ctx) - cmd_deopt_ctx = - talloc_named_const(tall_vty_cmd_ctx, 0, - __func__); - str = cmd_deopt(cmd_deopt_ctx, str); - if (str == NULL) - continue; - } - - switch (type) { - case EXACT_MATCH: - if (!(CMD_VARIABLE (str)) - && strcmp(command, str) == 0) - match++; - break; - case PARTLY_MATCH: - if (!(CMD_VARIABLE (str)) - && strncmp(command, str, strlen (command)) == 0) - { - if (matched - && strcmp(matched, - str) != 0) { - ret = 1; /* There is ambiguous match. */ - goto free_and_return; - } else - matched = str; - match++; - } - break; - case RANGE_MATCH: - if (cmd_range_match - (str, command)) { - if (matched - && strcmp(matched, - str) != 0) { - ret = 1; - goto free_and_return; - } else - matched = str; - match++; - } - break; -#ifdef HAVE_IPV6 - case IPV6_MATCH: - if (CMD_IPV6(str)) - match++; - break; - case IPV6_PREFIX_MATCH: - if ((mtype = - cmd_ipv6_prefix_match - (command)) != NO_MATCH) { - if (mtype == PARTLY_MATCH) { - ret = 2; /* There is incomplete match. */ - goto free_and_return; - } - - match++; - } - break; -#endif /* HAVE_IPV6 */ - case IPV4_MATCH: - if (CMD_IPV4(str)) - match++; - break; - case IPV4_PREFIX_MATCH: - if ((mtype = - cmd_ipv4_prefix_match - (command)) != NO_MATCH) { - if (mtype == PARTLY_MATCH) { - ret = 2; /* There is incomplete match. */ - goto free_and_return; - } - - match++; - } - break; - case EXTEND_MATCH: - if (CMD_VARIABLE (str)) - match++; - break; - case NO_MATCH: - default: - break; - } } - if (!match) - vector_slot(v, i) = NULL; + + switch (type) { + case EXACT_MATCH: + if (!(CMD_VARIABLE (str)) + && strcmp(command, str) == 0) + match++; + break; + case PARTLY_MATCH: + if (!(CMD_VARIABLE (str)) + && strncmp(command, str, strlen (command)) == 0) + { + if (matched + && strcmp(matched, + str) != 0) { + ret = 1; /* There is ambiguous match. */ + goto free_and_return; + } else + matched = str; + match++; + } + break; + case RANGE_MATCH: + if (cmd_range_match + (str, command)) { + if (matched + && strcmp(matched, + str) != 0) { + ret = 1; + goto free_and_return; + } else + matched = str; + match++; + } + break; +#ifdef HAVE_IPV6 + case IPV6_MATCH: + if (CMD_IPV6(str)) + match++; + break; + case IPV6_PREFIX_MATCH: + if ((mtype = + cmd_ipv6_prefix_match + (command)) != NO_MATCH) { + if (mtype == PARTLY_MATCH) { + ret = 2; /* There is incomplete match. */ + goto free_and_return; + } + + match++; + } + break; +#endif /* HAVE_IPV6 */ + case IPV4_MATCH: + if (CMD_IPV4(str)) + match++; + break; + case IPV4_PREFIX_MATCH: + if ((mtype = + cmd_ipv4_prefix_match + (command)) != NO_MATCH) { + if (mtype == PARTLY_MATCH) { + ret = 2; /* There is incomplete match. */ + goto free_and_return; + } + + match++; + } + break; + case EXTEND_MATCH: + if (CMD_VARIABLE (str)) + match++; + break; + case NO_MATCH: + default: + break; + } } + if (!match) + vector_slot(v, i) = NULL; + } free_and_return: if (cmd_deopt_ctx) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I803c4ed38e9ab09bf929528c75a60e6f65da3928 Gerrit-Change-Number: 14428 Gerrit-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 12 11:29:07 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Jun 2019 11:29:07 +0000 Subject: Change in ...libosmocore[master]: core/utils: drop meaningless const from return value of osmo_luhn() In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14425 ) Change subject: core/utils: drop meaningless const from return value of osmo_luhn() ...................................................................... core/utils: drop meaningless const from return value of osmo_luhn() Change-Id: I085da06f31a0a6862ae2ba041fafc134cc240f7e --- M include/osmocom/core/utils.h M src/utils.c 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h index f27359c..f429ba6 100644 --- a/include/osmocom/core/utils.h +++ b/include/osmocom/core/utils.h @@ -155,7 +155,7 @@ uint32_t osmo_isqrt32(uint32_t x); -const char osmo_luhn(const char* in, int in_len); +char osmo_luhn(const char* in, int in_len); /*! State for OSMO_STRBUF_APPEND() and OSMO_STRBUF_PRINTF(). See there for examples. */ struct osmo_strbuf { diff --git a/src/utils.c b/src/utils.c index c38f530..7b7178c 100644 --- a/src/utils.c +++ b/src/utils.c @@ -993,7 +993,7 @@ * \param[in] in_len Count of digits to use for the input (14 for IMEI). * \returns checksum char (e.g. '3'); negative on error */ -const char osmo_luhn(const char* in, int in_len) +char osmo_luhn(const char* in, int in_len) { int i, sum = 0; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I085da06f31a0a6862ae2ba041fafc134cc240f7e Gerrit-Change-Number: 14425 Gerrit-PatchSet: 2 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 Wed Jun 12 11:29:08 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Jun 2019 11:29:08 +0000 Subject: Change in ...libosmocore[master]: protocol/gsm_04_08.h: do not check if unsigned is positive In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14426 ) Change subject: protocol/gsm_04_08.h: do not check if unsigned is positive ...................................................................... protocol/gsm_04_08.h: do not check if unsigned is positive Change-Id: I6b486b52a3733d5fd5e8ba18acbc9374e2e8bd7e --- M include/osmocom/gsm/protocol/gsm_04_08.h 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h b/include/osmocom/gsm/protocol/gsm_04_08.h index 16910c3..2be6ed3 100644 --- a/include/osmocom/gsm/protocol/gsm_04_08.h +++ b/include/osmocom/gsm/protocol/gsm_04_08.h @@ -719,7 +719,7 @@ */ static inline void gsm48_barr_acc(struct gsm48_rach_control *rach_control, unsigned int acc) { - OSMO_ASSERT(acc >= 0 && acc <= 15); + OSMO_ASSERT(acc <= 15); if (acc >= 8) rach_control->t2 |= (1 << (acc - 8)); else @@ -733,7 +733,7 @@ */ static inline void gsm48_allow_acc(struct gsm48_rach_control *rach_control, unsigned int acc) { - OSMO_ASSERT(acc >= 0 && acc <= 15); + OSMO_ASSERT(acc <= 15); if (acc >= 8) rach_control->t2 &= ~(1 << (acc - 8)); else @@ -748,7 +748,7 @@ */ static inline bool gsm48_acc_is_barred(struct gsm48_rach_control *rach_control, unsigned int acc) { - OSMO_ASSERT(acc >= 0 && acc <= 15); + OSMO_ASSERT(acc <= 15); if (acc >= 8) return (rach_control->t2 & (1 << (acc - 8))) != 0; return (rach_control->t3 & (1 << (acc))) != 0; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6b486b52a3733d5fd5e8ba18acbc9374e2e8bd7e Gerrit-Change-Number: 14426 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 Wed Jun 12 12:01:59 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 Jun 2019 12:01:59 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Get rid of huge indentation block In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14428 ) Change subject: vty: command.c: Get rid of huge indentation block ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I803c4ed38e9ab09bf929528c75a60e6f65da3928 Gerrit-Change-Number: 14428 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 Jun 2019 12:01:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 12:06:12 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 Jun 2019 12:06:12 +0000 Subject: Change in ...libosmocore[master]: cosmetic: vty: command.c: Use upper case for enum match_type value names In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14427 ) Change subject: cosmetic: vty: command.c: Use upper case for enum match_type value names ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib6e9592c5962d047869a280c10f9b557fae6f435 Gerrit-Change-Number: 14427 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 Jun 2019 12:06: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 12 12:13:48 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 Jun 2019 12:13:48 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Add function to run actions on test per BSC component In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14413 ) Change subject: bscnat: Add function to run actions on test per BSC component ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97e743c79e5e9e7613ab91a1aa9ce2377a237fd5 Gerrit-Change-Number: 14413 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 12 Jun 2019 12:13:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 12:18:07 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 Jun 2019 12:18:07 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Fix trailing whitespace In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14408 ) Change subject: bsc: Fix trailing whitespace ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97c6cc290d6cc23611ac38e7e370b5b0b88cca1d Gerrit-Change-Number: 14408 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 Jun 2019 12:18: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 12 12:22:40 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 Jun 2019 12:22:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14418 ) Change subject: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7 Gerrit-Change-Number: 14418 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 Jun 2019 12:22: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 12 12:32:25 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 12 Jun 2019 12:32:25 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Refactor MSC side code to allow different actions per test In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14412 ) Change subject: bscnat: Refactor MSC side code to allow different actions per test ...................................................................... Patch Set 3: Code-Review+1 (4 comments) https://gerrit.osmocom.org/#/c/14412/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14412/3//COMMIT_MSG at 9 PS3, Line 9: acctions actions https://gerrit.osmocom.org/#/c/14412/3//COMMIT_MSG at 12 PS3, Line 12: laready already https://gerrit.osmocom.org/#/c/14412/3/bsc-nat/MSC_ConnectionHandler.ttcn File bsc-nat/MSC_ConnectionHandler.ttcn: https://gerrit.osmocom.org/#/c/14412/3/bsc-nat/MSC_ConnectionHandler.ttcn at 83 PS3, Line 83: arrivces (arrives) https://gerrit.osmocom.org/#/c/14412/3/bsc-nat/MSC_ConnectionHandler.ttcn at 121 PS3, Line 121: arrivces arrives -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic429420d0d95b6aacb6e5c44031b49c942ed544d Gerrit-Change-Number: 14412 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 Jun 2019 12:32: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 12 13:06:29 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Jun 2019 13:06:29 +0000 Subject: Change in ...libosmocore[master]: cosmetic: vty: command.c: Use upper case for enum match_type value names In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14427 ) Change subject: cosmetic: vty: command.c: Use upper case for enum match_type value names ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib6e9592c5962d047869a280c10f9b557fae6f435 Gerrit-Change-Number: 14427 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 Jun 2019 13:06:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 13:06:53 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Jun 2019 13:06:53 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Get rid of huge indentation block In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14428 ) Change subject: vty: command.c: Get rid of huge indentation block ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I803c4ed38e9ab09bf929528c75a60e6f65da3928 Gerrit-Change-Number: 14428 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 12 Jun 2019 13:06: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 12 14:23:51 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 Jun 2019 14:23:51 +0000 Subject: Change in ...libosmocore[master]: logging: Use reentrant ctime_r instead of ctime Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14429 Change subject: logging: Use reentrant ctime_r instead of ctime ...................................................................... logging: Use reentrant ctime_r instead of ctime It was noticed that multithreaded processes like osmo-trx can crash upon using ctime(). Related: OS#4055 Change-Id: I19ebf29a2f1fc855bb7d56766b338c7c3432dfd1 --- M src/logging.c 1 file changed, 7 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/29/14429/1 diff --git a/src/logging.c b/src/logging.c index 73a9c52..b8960f9 100644 --- a/src/logging.c +++ b/src/logging.c @@ -359,12 +359,15 @@ OSMO_SNPRINTF_RET(ret, rem, offset, len); #endif } else if (target->print_timestamp) { - char *timestr; + /* man ctime: user-supplied buffer should have room for at least 26 bytes */ + char ctime_buf[26]; time_t tm; tm = time(NULL); - timestr = ctime(&tm); - timestr[strlen(timestr)-1] = '\0'; - ret = snprintf(buf + offset, rem, "%s ", timestr); + if (!ctime_r(&tm, ctime_buf)) + goto err; + /* Remove new line char atthe end added by ctime */ + ctime_buf[strlen(ctime_buf)-1] = '\0'; + ret = snprintf(buf + offset, rem, "%s ", ctime_buf); if (ret < 0) goto err; OSMO_SNPRINTF_RET(ret, rem, offset, len); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I19ebf29a2f1fc855bb7d56766b338c7c3432dfd1 Gerrit-Change-Number: 14429 Gerrit-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 12 14:25:12 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 Jun 2019 14:25:12 +0000 Subject: Change in ...libosmocore[master]: cosmetic: vty: command.c: Use upper case for enum match_type value names In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14427 ) Change subject: cosmetic: vty: command.c: Use upper case for enum match_type value names ...................................................................... cosmetic: vty: command.c: Use upper case for enum match_type value names Makes code easier to follow because enum values no longer look like variables. Change-Id: Ib6e9592c5962d047869a280c10f9b557fae6f435 --- M src/vty/command.c 1 file changed, 101 insertions(+), 101 deletions(-) Approvals: fixeria: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/vty/command.c b/src/vty/command.c index e9690bb..104053f 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -869,17 +869,17 @@ /* Completion match types. */ enum match_type { - no_match = 0, - any_match, - extend_match, - ipv4_prefix_match, - ipv4_match, - ipv6_prefix_match, - ipv6_match, - range_match, - vararg_match, - partly_match, - exact_match, + NO_MATCH = 0, + ANY_MATCH, + EXTEND_MATCH, + IPV4_PREFIX_MATCH, + IPV4_MATCH, + IPV6_PREFIX_MATCH, + IPV6_MATCH, + RANGE_MATCH, + VARARG_MATCH, + PARTLY_MATCH, + EXACT_MATCH, }; static enum match_type cmd_ipv4_match(const char *str) @@ -889,7 +889,7 @@ char buf[4]; if (str == NULL) - return partly_match; + return PARTLY_MATCH; for (;;) { memset(buf, 0, sizeof(buf)); @@ -897,29 +897,29 @@ while (*str != '\0') { if (*str == '.') { if (dots >= 3) - return no_match; + return NO_MATCH; if (*(str + 1) == '.') - return no_match; + return NO_MATCH; if (*(str + 1) == '\0') - return partly_match; + return PARTLY_MATCH; dots++; break; } if (!isdigit((int)*str)) - return no_match; + return NO_MATCH; str++; } if (str - sp > 3) - return no_match; + return NO_MATCH; strncpy(buf, sp, str - sp); if (atoi(buf) > 255) - return no_match; + return NO_MATCH; nums++; @@ -930,9 +930,9 @@ } if (nums < 4) - return partly_match; + return PARTLY_MATCH; - return exact_match; + return EXACT_MATCH; } static enum match_type cmd_ipv4_prefix_match(const char *str) @@ -942,7 +942,7 @@ char buf[4]; if (str == NULL) - return partly_match; + return PARTLY_MATCH; for (;;) { memset(buf, 0, sizeof(buf)); @@ -950,44 +950,44 @@ while (*str != '\0' && *str != '/') { if (*str == '.') { if (dots == 3) - return no_match; + return NO_MATCH; if (*(str + 1) == '.' || *(str + 1) == '/') - return no_match; + return NO_MATCH; if (*(str + 1) == '\0') - return partly_match; + return PARTLY_MATCH; dots++; break; } if (!isdigit((int)*str)) - return no_match; + return NO_MATCH; str++; } if (str - sp > 3) - return no_match; + return NO_MATCH; strncpy(buf, sp, str - sp); if (atoi(buf) > 255) - return no_match; + return NO_MATCH; if (dots == 3) { if (*str == '/') { if (*(str + 1) == '\0') - return partly_match; + return PARTLY_MATCH; str++; break; } else if (*str == '\0') - return partly_match; + return PARTLY_MATCH; } if (*str == '\0') - return partly_match; + return PARTLY_MATCH; str++; } @@ -995,15 +995,15 @@ sp = str; while (*str != '\0') { if (!isdigit((int)*str)) - return no_match; + return NO_MATCH; str++; } if (atoi(sp) > 32) - return no_match; + return NO_MATCH; - return exact_match; + return EXACT_MATCH; } #define IPV6_ADDR_STR "0123456789abcdefABCDEF:.%" @@ -1027,10 +1027,10 @@ int ret; if (str == NULL) - return partly_match; + return PARTLY_MATCH; if (strspn(str, IPV6_ADDR_STR) != strlen(str)) - return no_match; + return NO_MATCH; /* use inet_pton that has a better support, * for example inet_pton can support the automatic addresses: @@ -1039,14 +1039,14 @@ ret = inet_pton(AF_INET6, str, &sin6_dummy.sin6_addr); if (ret == 1) - return exact_match; + return EXACT_MATCH; while (*str != '\0') { switch (state) { case STATE_START: if (*str == ':') { if (*(str + 1) != ':' && *(str + 1) != '\0') - return no_match; + return NO_MATCH; colons--; state = STATE_COLON; } else { @@ -1066,10 +1066,10 @@ break; case STATE_DOUBLE: if (double_colon) - return no_match; + return NO_MATCH; if (*(str + 1) == ':') - return no_match; + return NO_MATCH; else { if (*(str + 1) != '\0') colons++; @@ -1083,7 +1083,7 @@ case STATE_ADDR: if (*(str + 1) == ':' || *(str + 1) == '\0') { if (str - sp > 3) - return no_match; + return NO_MATCH; nums++; state = STATE_COLON; @@ -1099,20 +1099,20 @@ } if (nums > 8) - return no_match; + return NO_MATCH; if (colons > 7) - return no_match; + return NO_MATCH; str++; } #if 0 if (nums < 11) - return partly_match; + return PARTLY_MATCH; #endif /* 0 */ - return exact_match; + return EXACT_MATCH; } static enum match_type cmd_ipv6_prefix_match(const char *str) @@ -1124,17 +1124,17 @@ char *endptr = NULL; if (str == NULL) - return partly_match; + return PARTLY_MATCH; if (strspn(str, IPV6_PREFIX_STR) != strlen(str)) - return no_match; + return NO_MATCH; while (*str != '\0' && state != STATE_MASK) { switch (state) { case STATE_START: if (*str == ':') { if (*(str + 1) != ':' && *(str + 1) != '\0') - return no_match; + return NO_MATCH; colons--; state = STATE_COLON; } else { @@ -1146,7 +1146,7 @@ case STATE_COLON: colons++; if (*(str + 1) == '/') - return no_match; + return NO_MATCH; else if (*(str + 1) == ':') state = STATE_DOUBLE; else { @@ -1156,10 +1156,10 @@ break; case STATE_DOUBLE: if (double_colon) - return no_match; + return NO_MATCH; if (*(str + 1) == ':') - return no_match; + return NO_MATCH; else { if (*(str + 1) != '\0' && *(str + 1) != '/') colons++; @@ -1178,11 +1178,11 @@ if (*(str + 1) == ':' || *(str + 1) == '.' || *(str + 1) == '\0' || *(str + 1) == '/') { if (str - sp > 3) - return no_match; + return NO_MATCH; for (; sp <= str; sp++) if (*sp == '/') - return no_match; + return NO_MATCH; nums++; @@ -1199,7 +1199,7 @@ break; case STATE_SLASH: if (*(str + 1) == '\0') - return partly_match; + return PARTLY_MATCH; state = STATE_MASK; break; @@ -1208,33 +1208,33 @@ } if (nums > 11) - return no_match; + return NO_MATCH; if (colons > 7) - return no_match; + return NO_MATCH; str++; } if (state < STATE_MASK) - return partly_match; + return PARTLY_MATCH; mask = strtol(str, &endptr, 10); if (*endptr != '\0') - return no_match; + return NO_MATCH; if (mask < 0 || mask > 128) - return no_match; + return NO_MATCH; /* I don't know why mask < 13 makes command match partly. Forgive me to make this comments. I Want to set static default route because of lack of function to originate default in ospf6d; sorry yasu if (mask < 13) - return partly_match; + return PARTLY_MATCH; */ - return exact_match; + return EXACT_MATCH; } #endif /* HAVE_IPV6 */ @@ -1349,7 +1349,7 @@ * as it we only discover it if a user tries to run it */ if (tmp == NULL) - return no_match; + return NO_MATCH; ret = cmd_match(tmp, command, min, false); @@ -1358,45 +1358,45 @@ return ret; } else if (CMD_VARARG(str)) - return vararg_match; + return VARARG_MATCH; else if (CMD_RANGE(str)) { if (cmd_range_match(str, command)) - return range_match; + return RANGE_MATCH; } #ifdef HAVE_IPV6 else if (CMD_IPV6(str)) { if (cmd_ipv6_match(command) >= min) - return ipv6_match; + return IPV6_MATCH; } else if (CMD_IPV6_PREFIX(str)) { if (cmd_ipv6_prefix_match(command) >= min) - return ipv6_prefix_match; + return IPV6_PREFIX_MATCH; } #endif /* HAVE_IPV6 */ else if (CMD_IPV4(str)) { if (cmd_ipv4_match(command) >= min) - return ipv4_match; + return IPV4_MATCH; } else if (CMD_IPV4_PREFIX(str)) { if (cmd_ipv4_prefix_match(command) >= min) - return ipv4_prefix_match; + return IPV4_PREFIX_MATCH; } else if (CMD_VARIABLE(str)) - return extend_match; + return EXTEND_MATCH; else if (strncmp(command, str, strlen(command)) == 0) { if (strcmp(command, str) == 0) - return exact_match; - else if (partly_match >= min) - return partly_match; + return EXACT_MATCH; + else if (PARTLY_MATCH >= min) + return PARTLY_MATCH; } - return no_match; + return NO_MATCH; } /* Filter vector at the specified index and by the given command string, to @@ -1412,7 +1412,7 @@ vector descvec; struct desc *desc; - match_type = no_match; + match_type = NO_MATCH; /* If command and cmd_element string does not match set NULL to vector */ for (i = 0; i < vector_active(v); i++) @@ -1432,7 +1432,7 @@ ret = cmd_match (desc->cmd, command, level, true); - if (ret != no_match) + if (ret != NO_MATCH) matched++; if (match_type < ret) @@ -1443,8 +1443,8 @@ } } - if (match_type == no_match) - return no_match; + if (match_type == NO_MATCH) + return NO_MATCH; /* 2nd pass: We now know the 'strongest' match type for the index, so we * go again and filter out commands whose argument (at this index) is @@ -1454,7 +1454,7 @@ * foo bar BLAH * * and the command string is 'foo bar 10', then we will get here with with - * 'range_match' being the strongest match. However, if 'BLAH' came + * 'RANGE_MATCH' being the strongest match. However, if 'BLAH' came * earlier, it won't have been filtered out (as a CMD_VARIABLE allows "10"). * * If we don't do a 2nd pass and filter it out, the higher-layers will @@ -1475,7 +1475,7 @@ if ((desc = vector_slot(descvec, j))) { enum match_type ret; - ret = cmd_match(desc->cmd, command, any_match, true); + ret = cmd_match(desc->cmd, command, ANY_MATCH, true); if (ret >= match_type) matched++; @@ -1535,12 +1535,12 @@ } switch (type) { - case exact_match: + case EXACT_MATCH: if (!(CMD_VARIABLE (str)) && strcmp(command, str) == 0) match++; break; - case partly_match: + case PARTLY_MATCH: if (!(CMD_VARIABLE (str)) && strncmp(command, str, strlen (command)) == 0) { @@ -1554,7 +1554,7 @@ match++; } break; - case range_match: + case RANGE_MATCH: if (cmd_range_match (str, command)) { if (matched @@ -1568,15 +1568,15 @@ } break; #ifdef HAVE_IPV6 - case ipv6_match: + case IPV6_MATCH: if (CMD_IPV6(str)) match++; break; - case ipv6_prefix_match: + case IPV6_PREFIX_MATCH: if ((mtype = cmd_ipv6_prefix_match - (command)) != no_match) { - if (mtype == partly_match) { + (command)) != NO_MATCH) { + if (mtype == PARTLY_MATCH) { ret = 2; /* There is incomplete match. */ goto free_and_return; } @@ -1585,15 +1585,15 @@ } break; #endif /* HAVE_IPV6 */ - case ipv4_match: + case IPV4_MATCH: if (CMD_IPV4(str)) match++; break; - case ipv4_prefix_match: + case IPV4_PREFIX_MATCH: if ((mtype = cmd_ipv4_prefix_match - (command)) != no_match) { - if (mtype == partly_match) { + (command)) != NO_MATCH) { + if (mtype == PARTLY_MATCH) { ret = 2; /* There is incomplete match. */ goto free_and_return; } @@ -1601,11 +1601,11 @@ match++; } break; - case extend_match: + case EXTEND_MATCH: if (CMD_VARIABLE (str)) match++; break; - case no_match: + case NO_MATCH: default: break; } @@ -1771,9 +1771,9 @@ if (!command) continue; - match = cmd_filter(command, cmd_vector, i, any_match); + match = cmd_filter(command, cmd_vector, i, ANY_MATCH); - if (match == vararg_match) { + if (match == VARARG_MATCH) { struct cmd_element *cmd_element; vector descvec; unsigned int j, k; @@ -1826,7 +1826,7 @@ /* Make sure that cmd_vector is filtered based on current word */ command = vector_slot(vline, index); if (command) - cmd_filter(command, cmd_vector, index, any_match); + cmd_filter(command, cmd_vector, index, ANY_MATCH); /* Make description vector. */ for (i = 0; i < vector_active(cmd_vector); i++) { @@ -1974,7 +1974,7 @@ /* First try completion match, if there is exactly match return 1 */ match = - cmd_filter(command, cmd_vector, i, any_match); + cmd_filter(command, cmd_vector, i, ANY_MATCH); /* If there is exact match then filter ambiguous match else check ambiguousness. */ @@ -2234,9 +2234,9 @@ int ret; match = cmd_filter(command, cmd_vector, index, - any_match); + ANY_MATCH); - if (match == vararg_match) + if (match == VARARG_MATCH) break; ret = @@ -2259,7 +2259,7 @@ for (i = 0; i < vector_active(cmd_vector); i++) { if ((cmd_element = vector_slot(cmd_vector, i))) { - if (match == vararg_match + if (match == VARARG_MATCH || index >= cmd_element->cmdsize) { matched_element = cmd_element; #if 0 @@ -2383,10 +2383,10 @@ int ret; match = cmd_filter(vector_slot(vline, index), - cmd_vector, index, exact_match); + cmd_vector, index, EXACT_MATCH); /* If command meets '.VARARG' then finish matching. */ - if (match == vararg_match) + if (match == VARARG_MATCH) break; ret = @@ -2409,7 +2409,7 @@ if (vector_slot(cmd_vector, i) != NULL) { cmd_element = vector_slot(cmd_vector, i); - if (match == vararg_match + if (match == VARARG_MATCH || index >= cmd_element->cmdsize) { matched_element = cmd_element; matched_count++; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib6e9592c5962d047869a280c10f9b557fae6f435 Gerrit-Change-Number: 14427 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 14:25:12 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 Jun 2019 14:25:12 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Get rid of huge indentation block In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14428 ) Change subject: vty: command.c: Get rid of huge indentation block ...................................................................... vty: command.c: Get rid of huge indentation block Huge conditional block inside for loop is negated in this patch together with a "continue" keyword, similar to what was already done recently in 4742526645d6137dd90ef369f0415afdb91736dc. Change-Id: I803c4ed38e9ab09bf929528c75a60e6f65da3928 --- M src/vty/command.c 1 file changed, 101 insertions(+), 98 deletions(-) Approvals: fixeria: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/vty/command.c b/src/vty/command.c index 104053f..4189c7c 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -1510,109 +1510,112 @@ * or ambiguities to cause a noticeable memory footprint from keeping all allocations. */ void *cmd_deopt_ctx = NULL; - for (i = 0; i < vector_active(v); i++) - if ((cmd_element = vector_slot(v, i)) != NULL) { - int match = 0; + for (i = 0; i < vector_active(v); i++) { + cmd_element = vector_slot(v, i); + if (!cmd_element) + continue; - descvec = vector_slot(cmd_element->strvec, index); + int match = 0; - for (j = 0; j < vector_active(descvec); j++) { - desc = vector_slot(descvec, j); - if (!desc) + descvec = vector_slot(cmd_element->strvec, index); + + for (j = 0; j < vector_active(descvec); j++) { + desc = vector_slot(descvec, j); + if (!desc) + continue; + + enum match_type mtype; + const char *str = desc->cmd; + + if (CMD_OPTION(str)) { + if (!cmd_deopt_ctx) + cmd_deopt_ctx = + talloc_named_const(tall_vty_cmd_ctx, 0, + __func__); + str = cmd_deopt(cmd_deopt_ctx, str); + if (str == NULL) continue; - - enum match_type mtype; - const char *str = desc->cmd; - - if (CMD_OPTION(str)) { - if (!cmd_deopt_ctx) - cmd_deopt_ctx = - talloc_named_const(tall_vty_cmd_ctx, 0, - __func__); - str = cmd_deopt(cmd_deopt_ctx, str); - if (str == NULL) - continue; - } - - switch (type) { - case EXACT_MATCH: - if (!(CMD_VARIABLE (str)) - && strcmp(command, str) == 0) - match++; - break; - case PARTLY_MATCH: - if (!(CMD_VARIABLE (str)) - && strncmp(command, str, strlen (command)) == 0) - { - if (matched - && strcmp(matched, - str) != 0) { - ret = 1; /* There is ambiguous match. */ - goto free_and_return; - } else - matched = str; - match++; - } - break; - case RANGE_MATCH: - if (cmd_range_match - (str, command)) { - if (matched - && strcmp(matched, - str) != 0) { - ret = 1; - goto free_and_return; - } else - matched = str; - match++; - } - break; -#ifdef HAVE_IPV6 - case IPV6_MATCH: - if (CMD_IPV6(str)) - match++; - break; - case IPV6_PREFIX_MATCH: - if ((mtype = - cmd_ipv6_prefix_match - (command)) != NO_MATCH) { - if (mtype == PARTLY_MATCH) { - ret = 2; /* There is incomplete match. */ - goto free_and_return; - } - - match++; - } - break; -#endif /* HAVE_IPV6 */ - case IPV4_MATCH: - if (CMD_IPV4(str)) - match++; - break; - case IPV4_PREFIX_MATCH: - if ((mtype = - cmd_ipv4_prefix_match - (command)) != NO_MATCH) { - if (mtype == PARTLY_MATCH) { - ret = 2; /* There is incomplete match. */ - goto free_and_return; - } - - match++; - } - break; - case EXTEND_MATCH: - if (CMD_VARIABLE (str)) - match++; - break; - case NO_MATCH: - default: - break; - } } - if (!match) - vector_slot(v, i) = NULL; + + switch (type) { + case EXACT_MATCH: + if (!(CMD_VARIABLE (str)) + && strcmp(command, str) == 0) + match++; + break; + case PARTLY_MATCH: + if (!(CMD_VARIABLE (str)) + && strncmp(command, str, strlen (command)) == 0) + { + if (matched + && strcmp(matched, + str) != 0) { + ret = 1; /* There is ambiguous match. */ + goto free_and_return; + } else + matched = str; + match++; + } + break; + case RANGE_MATCH: + if (cmd_range_match + (str, command)) { + if (matched + && strcmp(matched, + str) != 0) { + ret = 1; + goto free_and_return; + } else + matched = str; + match++; + } + break; +#ifdef HAVE_IPV6 + case IPV6_MATCH: + if (CMD_IPV6(str)) + match++; + break; + case IPV6_PREFIX_MATCH: + if ((mtype = + cmd_ipv6_prefix_match + (command)) != NO_MATCH) { + if (mtype == PARTLY_MATCH) { + ret = 2; /* There is incomplete match. */ + goto free_and_return; + } + + match++; + } + break; +#endif /* HAVE_IPV6 */ + case IPV4_MATCH: + if (CMD_IPV4(str)) + match++; + break; + case IPV4_PREFIX_MATCH: + if ((mtype = + cmd_ipv4_prefix_match + (command)) != NO_MATCH) { + if (mtype == PARTLY_MATCH) { + ret = 2; /* There is incomplete match. */ + goto free_and_return; + } + + match++; + } + break; + case EXTEND_MATCH: + if (CMD_VARIABLE (str)) + match++; + break; + case NO_MATCH: + default: + break; + } } + if (!match) + vector_slot(v, i) = NULL; + } free_and_return: if (cmd_deopt_ctx) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I803c4ed38e9ab09bf929528c75a60e6f65da3928 Gerrit-Change-Number: 14428 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 16:41:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 Jun 2019 16:41:02 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Get rid of big indentation block Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14430 Change subject: vty: command.c: Get rid of big indentation block ...................................................................... vty: command.c: Get rid of big indentation block This block will become bigger in forthcoming commits. Change-Id: Ibc1494014b1e77ce10950f7268a44d2d2091a6f2 --- M src/vty/command.c 1 file changed, 26 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/30/14430/1 diff --git a/src/vty/command.c b/src/vty/command.c index 4189c7c..54dbfe1 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2294,23 +2294,24 @@ argc = 0; for (i = 0; i < vector_active(vline); i++) { - if (varflag) + if (varflag) { argv[argc++] = vector_slot(vline, i); - else { - vector descvec = - vector_slot(matched_element->strvec, i); + continue; + } - if (vector_active(descvec) == 1) { - struct desc *desc = vector_slot(descvec, 0); + vector descvec = vector_slot(matched_element->strvec, i); - if (CMD_VARARG(desc->cmd)) - varflag = 1; + if (vector_active(descvec) == 1) { + struct desc *desc = vector_slot(descvec, 0); - if (varflag || CMD_VARIABLE(desc->cmd) - || CMD_OPTION(desc->cmd)) - argv[argc++] = vector_slot(vline, i); - } else + if (CMD_VARARG(desc->cmd)) + varflag = 1; + + if (varflag || CMD_VARIABLE(desc->cmd) + || CMD_OPTION(desc->cmd)) argv[argc++] = vector_slot(vline, i); + } else { + argv[argc++] = vector_slot(vline, i); } if (argc >= CMD_ARGC_MAX) @@ -2439,23 +2440,24 @@ argc = 0; for (i = 0; i < vector_active(vline); i++) { - if (varflag) + if (varflag) { argv[argc++] = vector_slot(vline, i); - else { - vector descvec = - vector_slot(matched_element->strvec, i); + continue; + } - if (vector_active(descvec) == 1) { - struct desc *desc = vector_slot(descvec, 0); + vector descvec =vector_slot(matched_element->strvec, i); - if (CMD_VARARG(desc->cmd)) - varflag = 1; + if (vector_active(descvec) == 1) { + struct desc *desc = vector_slot(descvec, 0); - if (varflag || CMD_VARIABLE(desc->cmd) - || CMD_OPTION(desc->cmd)) - argv[argc++] = vector_slot(vline, i); - } else + if (CMD_VARARG(desc->cmd)) + varflag = 1; + + if (varflag || CMD_VARIABLE(desc->cmd) + || CMD_OPTION(desc->cmd)) argv[argc++] = vector_slot(vline, i); + } else { + argv[argc++] = vector_slot(vline, i); } if (argc >= CMD_ARGC_MAX) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibc1494014b1e77ce10950f7268a44d2d2091a6f2 Gerrit-Change-Number: 14430 Gerrit-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 12 16:41:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 Jun 2019 16:41:02 +0000 Subject: Change in ...libosmocore[master]: vty: tests: Verify incomplete optional parameters are passed to vty f... Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14431 Change subject: vty: tests: Verify incomplete optional parameters are passed to vty funcs ...................................................................... vty: tests: Verify incomplete optional parameters are passed to vty funcs The test shows that in the case were "single0 on" is executed, VTY function should return complete "single0 one" but it doesn't. Related: OS#4045 Change-Id: Ib5b9dc07e2b280dc95011b3926afb1d490cadd81 --- M tests/vty/vty_transcript_test.c M tests/vty/vty_transcript_test.vty 2 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/31/14431/1 diff --git a/tests/vty/vty_transcript_test.c b/tests/vty/vty_transcript_test.c index 7ffe713..6651097 100644 --- a/tests/vty/vty_transcript_test.c +++ b/tests/vty/vty_transcript_test.c @@ -154,6 +154,14 @@ .num_cat = ARRAY_SIZE(default_categories), }; +DEFUN(single0, single0_cmd, + "single0 [one]", + "single0 test command\n" "1\n") +{ + vty_out(vty, "ok argc=%d%s%s%s", argc, argc ? " " : "", argc ? argv[0] : "", VTY_NEWLINE); + return CMD_SUCCESS; +} + DEFUN(multi0, multi0_cmd, "multi0 (one|two|three)", "multi0 test command\n" "1\n2\n3\n") @@ -180,6 +188,7 @@ static void init_vty_cmds() { + install_element_ve(&single0_cmd); install_element_ve(&multi0_cmd); install_element_ve(&multi1_cmd); install_element_ve(&multi2_cmd); diff --git a/tests/vty/vty_transcript_test.vty b/tests/vty/vty_transcript_test.vty index 5ed3c1d..1557744 100644 --- a/tests/vty/vty_transcript_test.vty +++ b/tests/vty/vty_transcript_test.vty @@ -75,3 +75,12 @@ vty_transcript_test> multi2 t % Ambiguous command. + +vty_transcript_test> single0 one +ok argc=1 one + +vty_transcript_test> single0 on +ok argc=1 on + +vty_transcript_test> single0 +ok argc=0 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib5b9dc07e2b280dc95011b3926afb1d490cadd81 Gerrit-Change-Number: 14431 Gerrit-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 12 16:50:58 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 Jun 2019 16:50:58 +0000 Subject: Change in ...libosmocore[master]: logging: Check return error from time() call Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14432 Change subject: logging: Check return error from time() call ...................................................................... logging: Check return error from time() call Related: OS#4055 Change-Id: Ief155a76169426a677256e09d3e91751c4e2529f --- M src/logging.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/32/14432/1 diff --git a/src/logging.c b/src/logging.c index b8960f9..f8dfd5a 100644 --- a/src/logging.c +++ b/src/logging.c @@ -362,7 +362,8 @@ /* man ctime: user-supplied buffer should have room for at least 26 bytes */ char ctime_buf[26]; time_t tm; - tm = time(NULL); + if ((tm = time(NULL)) == (time_t) -1) + goto err; if (!ctime_r(&tm, ctime_buf)) goto err; /* Remove new line char atthe end added by ctime */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief155a76169426a677256e09d3e91751c4e2529f Gerrit-Change-Number: 14432 Gerrit-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 12 17:17:16 2019 From: gerrit-no-reply at lists.osmocom.org (roh) Date: Wed, 12 Jun 2019 17:17:16 +0000 Subject: Change in ...osmo-remsim[master]: osmo-remsim-client: add systemd service script template and etc/defau... In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-remsim/+/14267 to look at the new patch set (#2). Change subject: osmo-remsim-client: add systemd service script template and etc/default configs ...................................................................... osmo-remsim-client: add systemd service script template and etc/default configs Change-Id: I243f3d8e090d49ca3a1d0a8cf568750b76273c03 --- A contrib/etc_default/osmo-remsim-client A contrib/etc_default/osmo-remsim-client-0 A contrib/etc_default/osmo-remsim-client-1 A contrib/etc_default/osmo-remsim-client-2 A contrib/etc_default/osmo-remsim-client-3 A contrib/systemd/osmo-remsim-client at .service 6 files changed, 42 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/67/14267/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/14267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I243f3d8e090d49ca3a1d0a8cf568750b76273c03 Gerrit-Change-Number: 14267 Gerrit-PatchSet: 2 Gerrit-Owner: roh Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: roh 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 12 18:04:03 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Jun 2019 18:04:03 +0000 Subject: Change in ...libosmocore[master]: logging: Use reentrant ctime_r instead of ctime In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14429 ) Change subject: logging: Use reentrant ctime_r instead of ctime ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/14429/2/src/logging.c File src/logging.c: https://gerrit.osmocom.org/#/c/14429/2/src/logging.c at 370 PS2, Line 370: snprintf Hmm, I think I see a possible optimization: /* man ctime: we need at least 26 bytes */ if (rem < 26) goto err; /* Get human-readable representation of time */ if (!ctime_r(&tm, buf + offset)) goto err; /* Get rid of useless '\n' */ ret = strlen(buf + offset) - 1; if (ret <= 0) goto err; OSMO_SNPRINTF_RET(ret, rem, offset, len); So we can avoid calling snprintf() and overriding '\n' manually. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I19ebf29a2f1fc855bb7d56766b338c7c3432dfd1 Gerrit-Change-Number: 14429 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 12 Jun 2019 18:04:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 18:06:43 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Jun 2019 18:06:43 +0000 Subject: Change in ...libosmocore[master]: logging: Check return error from time() call In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14432 ) Change subject: logging: Check return error from time() call ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief155a76169426a677256e09d3e91751c4e2529f Gerrit-Change-Number: 14432 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 12 Jun 2019 18:06:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 18:08:14 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 12 Jun 2019 18:08:14 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: add some dynamic power control tests In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14417 to look at the new patch set (#4). Change subject: BTS: add some dynamic power control tests ...................................................................... BTS: add some dynamic power control tests Change-Id: I57489ba22542d859ced767e856634f9060c060f0 --- M bts/BTS_Tests.ttcn M library/RSL_Types.ttcn 2 files changed, 380 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/17/14417/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57489ba22542d859ced767e856634f9060c060f0 Gerrit-Change-Number: 14417 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen 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 Wed Jun 12 18:13:30 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Jun 2019 18:13:30 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Get rid of big indentation block In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14430 ) Change subject: vty: command.c: Get rid of big indentation block ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/#/c/14430/1/src/vty/command.c File src/vty/command.c: https://gerrit.osmocom.org/#/c/14430/1/src/vty/command.c at 2317 PS1, Line 2317: if (argc >= CMD_ARGC_MAX) This condition would become unreachable after this change if varflag != 0. https://gerrit.osmocom.org/#/c/14430/1/src/vty/command.c at 2463 PS1, Line 2463: if (argc >= CMD_ARGC_MAX) Same here. We can probably move it to the beginning of the loop. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibc1494014b1e77ce10950f7268a44d2d2091a6f2 Gerrit-Change-Number: 14430 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 12 Jun 2019 18:13:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 18:14:29 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 12 Jun 2019 18:14:29 +0000 Subject: Change in ...libosmocore[master]: vty: tests: Verify incomplete optional parameters are passed to vty f... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14431 ) Change subject: vty: tests: Verify incomplete optional parameters are passed to vty funcs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib5b9dc07e2b280dc95011b3926afb1d490cadd81 Gerrit-Change-Number: 14431 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 12 Jun 2019 18:14: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 12 20:15:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Jun 2019 20:15:10 +0000 Subject: Change in ...libosmocore[master]: vty: tests: Verify incomplete optional parameters are passed to vty f... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14431 ) Change subject: vty: tests: Verify incomplete optional parameters are passed to vty funcs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib5b9dc07e2b280dc95011b3926afb1d490cadd81 Gerrit-Change-Number: 14431 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Jun 2019 20:15:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 20:16:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Jun 2019 20:16:41 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: add some dynamic power control tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14417 ) Change subject: BTS: add some dynamic power control tests ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57489ba22542d859ced767e856634f9060c060f0 Gerrit-Change-Number: 14417 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 12 Jun 2019 20:16:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 12 20:16:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Jun 2019 20:16:44 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: add some dynamic power control tests In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14417 ) Change subject: BTS: add some dynamic power control tests ...................................................................... BTS: add some dynamic power control tests Change-Id: I57489ba22542d859ced767e856634f9060c060f0 --- M bts/BTS_Tests.ttcn M library/RSL_Types.ttcn 2 files changed, 380 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 3244b48..2d2ae0b 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -193,7 +193,8 @@ float t_guard, ConnL1Pars l1_pars, TestSpecUnion spec optional, - RSL_IE_EncryptionInfo encr optional + RSL_IE_EncryptionInfo encr optional, + BtsBand bts0_band optional } /* Test-specific parameters */ @@ -594,7 +595,8 @@ ms_actual_ta := mp_ms_actual_ta_exp }, spec := omit, - encr := omit + encr := omit, + bts0_band := omit } /*********************************************************************** @@ -1890,6 +1892,352 @@ f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); } +/* 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 */ +function f_TC_rsl_ms_pwr_dyn_ass_updown(charstring id) runs on ConnHdlr { + var uint5_t pwr_var := 7; + var L1ctlDlMessage l1_dl; + + f_trxc_fake_rssi(rxlev2dbm(10)); + f_l1_tune(L1CTL); + RSL.clear; + + var RSL_IE_List addl_ies; + var template (value) RSL_IE_MS_Power_Parameters pp := (ts_RSL_IE_MS_Power_Parameters(''O)); + + addl_ies := { + valueof(t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ts_RSL_IE_MS_Power(pwr_var)})), + valueof(t_RSL_IE(RSL_IE_MS_POWER_PARAM, RSL_IE_Body:{ms_power_params := pp})) + }; + + /* establish with power parameters */ + f_est_dchan(more_ies := addl_ies); + + /* set a high value to ensure L1 power control level increases */ + f_trxc_fake_rssi(rxlev2dbm(20)); + + timer T2 := 6.0; + T2.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { + if( not(oct2int(l1_dl.payload.data_ind.payload[0]) > (pwr_var+6))){ + repeat; + } + T2.stop; + } + [] L1CTL.receive { repeat; } + [] T2.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Power Level in L1 header has not increased sufficiently"); + } + } + + /* set a low value to ensure L1 power control level decreases */ + f_trxc_fake_rssi(rxlev2dbm(0)); + + timer T4 := 6.0; + T4.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { + if( not(oct2int(l1_dl.payload.data_ind.payload[0]) <= (pwr_var))){ + repeat; + } + T4.stop; + setverdict(pass, "Power level in L1 decreased/increased as expected"); + } + [] L1CTL.receive { repeat; } + [] T4.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Power Level in L1 header has not decreased sufficiently"); + } + } + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + +} + +/* check that we do not exceed the max power */ +function f_TC_rsl_ms_pwr_dyn_max(charstring id) runs on ConnHdlr { + var uint5_t pwr_var := 7; + var L1ctlDlMessage l1_dl; + + /* set a low value to ensure power increases */ + f_trxc_fake_rssi(rxlev2dbm(10)); + f_l1_tune(L1CTL); + RSL.clear; + + var RSL_IE_List addl_ies; + var template (value) RSL_IE_MS_Power_Parameters pp := (ts_RSL_IE_MS_Power_Parameters(''O)); + + addl_ies := { + valueof(t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ts_RSL_IE_MS_Power(pwr_var)})), + valueof(t_RSL_IE(RSL_IE_MS_POWER_PARAM, RSL_IE_Body:{ms_power_params := pp})) + }; + + /* establish with power parameters */ + f_est_dchan(more_ies := addl_ies); + + timer T1 := 10.0; + T1.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { repeat; } + [] L1CTL.receive { repeat; } + [] T1.timeout { + if( oct2int(l1_dl.payload.data_ind.payload[0]) != pwr_var){ + setverdict(fail, "Power level in L1 header should not have changed"); + } + } + } + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + +} + +/* see if we reach the band max power */ +function f_TC_rsl_ms_pwr_dyn_up(charstring id) runs on ConnHdlr { + var L1ctlDlMessage l1_dl; + var uint5_t pwr_var := 15; + var uint5_t pwr_max_var := f_get_max_power_from_band(); + + /* set a low value to ensure power increases */ + f_trxc_fake_rssi(rxlev2dbm(10)); + f_l1_tune(L1CTL); + RSL.clear; + + var template (value) RSL_IE_MS_Power ms_power := ts_RSL_IE_MS_Power(pwr_var); + var template (value) RSL_IE pwr := t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ms_power}); + + /* establish with fixed power level */ + f_est_dchan(more_ies :={valueof(pwr)}); + + /* check our initial power level */ + f_wait_for_l1_power_level(pwr_var); + + /* update power param to enable power loop + 48.058 The maximum power to be used is indicated in the BS and MS Power elements respectively. */ + RSL.send(ts_RSL_MS_PWR_CTRL_with_pp(g_chan_nr, pwr_max_var)); + + /* wait, then check that our power level was reduced */ + timer T1 := 10.0; + T1.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { repeat; } + [] L1CTL.receive { repeat; } + [] T1.timeout { + var int8_t rcv := oct2int(l1_dl.payload.data_ind.payload[0]); + if( f_power_level_is_highest_dbm(rcv) ){ + setverdict(pass, "Power level in L1 header reduced as expected"); + } else { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("Power Level in L1 header did not reach the expected value, e:",pwr_max_var," r:",rcv)); + } + } + } + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + +} + +/* see if we reach the band min power */ +function f_TC_rsl_ms_pwr_dyn_down(charstring id) runs on ConnHdlr { + var L1ctlDlMessage l1_dl; + + /* set a high value to ensure power decreases */ + f_trxc_fake_rssi(rxlev2dbm(50)); + f_l1_tune(L1CTL); + RSL.clear; + + var uint5_t pwr_var := 5; + var uint5_t pwr_target_val := 15; + + var template (value) RSL_IE_MS_Power ms_power := ts_RSL_IE_MS_Power(pwr_var); + var template (value) RSL_IE pwr := t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ms_power}); + + /* establish with fixed power level */ + f_est_dchan(more_ies :={valueof(pwr)}); + + /* check our initial power level */ + f_wait_for_l1_power_level(pwr_var); + + /* update power param to enable power loop + as per spec the supplied ms power IE should set the max allowed power...*/ + RSL.send(ts_RSL_MS_PWR_CTRL_with_pp(g_chan_nr, pwr_var)); + + /* wait, then check that our power level was increased */ + timer T1 := 10.0; + T1.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { repeat; } + [] L1CTL.receive { repeat; } + [] T1.timeout { + if( f_power_level_is_lowest_dbm(oct2int(l1_dl.payload.data_ind.payload[0])) ){ + setverdict(pass, "Power level in L1 header increased to lowest power value"); + } else { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Power level in L1 header NOT increased to lowest power value"); + } + } + } + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + +} + +function f_wait_for_l1_power_level(integer level) runs on ConnHdlr { + var L1ctlDlMessage l1_dl; + timer T0 := 10.0; + T0.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { + if (not (l1_dl.payload.data_ind.payload[0] == int2oct(level, 1))) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Power level in L1 header != signaled (RSL) power level."); + } + } + [] L1CTL.receive { repeat; } + [] T0.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "Timeout waiting for initial power level"); + } + } + T0.stop; +} + +private function f_power_level_is_lowest_dbm(integer level) runs on ConnHdlr return boolean { + var IntegerRecord min_dbm_level; + var IntegerRecord max_dbm_level; + var IntegerRecord x := f_power_from_band(g_pars.bts0_band, min_dbm_level, max_dbm_level); + + for (var integer i := 0; i < sizeof(min_dbm_level); i := i+1) { + if (min_dbm_level[i] == level) { + return true; + } + } + return false; +} + +private function f_power_level_is_highest_dbm(integer level) runs on ConnHdlr return boolean { + var IntegerRecord min_dbm_level; + var IntegerRecord max_dbm_level; + var IntegerRecord x := f_power_from_band(g_pars.bts0_band, min_dbm_level, max_dbm_level); + + for (var integer i := 0; i < sizeof(max_dbm_level); i := i+1) { + if (max_dbm_level[i] == level) { + return true; + } + } + return false; +} + +private function f_get_max_power_from_band() runs on ConnHdlr return integer { + var IntegerRecord min_dbm_level; + var IntegerRecord max_dbm_level; + var IntegerRecord x := f_power_from_band(g_pars.bts0_band, min_dbm_level, max_dbm_level); + return max_dbm_level[0]; +} + +type charstring BtsBand ("GSM450","GSM480","GSM750","GSM810","GSM850","GSM900","DCS1800","PCS1900"); +template charstring BtsBand_allGSM:= pattern "GSM???"; +private function f_power_from_band(in BtsBand band, out IntegerRecord min_dbm_level, out IntegerRecord max_dbm_level) return IntegerRecord { + // 45.005 4.1.1 + var IntegerRecord gsm_power :={31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, + 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, + 2, 1, 0}; + var IntegerRecord dcs_power :={28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, + 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 31, 30, 29}; + var IntegerRecord pcs_power :={15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 31, 30}; + var IntegerRecord rv; + + select(band){ + case (BtsBand_allGSM){ + rv := gsm_power; + min_dbm_level := {31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19} ; + max_dbm_level := {2, 1, 0}; + } + case("DCS1800"){ + rv := dcs_power; + min_dbm_level := {28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15}; + max_dbm_level := {0, 29}; // let's cheat here, assume MS_TXPWR_MAX_CCH might be being broadcast, so maybe no 29,30,31 + } + case("PCS1900"){ + rv := pcs_power; + min_dbm_level := {15}; + max_dbm_level := {30}; + } + } + + return rv; +} + +private function f_vty_get_bts0_band() runs on test_CT return BtsBand { + return f_vty_transceive_match_regex(BTSVTY, "show bts 0", "BTS 0 is of \w+ type in band (\w+),*", 0); +} + +testcase TC_rsl_ms_pwr_dyn_ass_updown() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(); + f_vty_config(BTSVTY, "phy 0", "osmotrx ms-power-loop -100"); + for (var integer tn := 1; tn <= 1; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + pars.bts0_band := f_vty_get_bts0_band(); + vc_conn := f_start_handler(refers(f_TC_rsl_ms_pwr_dyn_ass_updown), pars, trxc_comp := true); + vc_conn.done; + } + f_vty_config(BTSVTY, "phy 0", "no osmotrx ms-power-loop"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + +testcase TC_rsl_ms_pwr_dyn_up() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(); + f_vty_config(BTSVTY, "phy 0", "osmotrx ms-power-loop -10"); + for (var integer tn := 1; tn <= 1; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + pars.bts0_band := f_vty_get_bts0_band(); + vc_conn := f_start_handler(refers(f_TC_rsl_ms_pwr_dyn_up), pars, trxc_comp := true); + vc_conn.done; + } + f_vty_config(BTSVTY, "phy 0", "no osmotrx ms-power-loop"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + +testcase TC_rsl_ms_pwr_dyn_max() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(); + f_vty_config(BTSVTY, "phy 0", "osmotrx ms-power-loop -10"); + for (var integer tn := 1; tn <= 1; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + pars.bts0_band := f_vty_get_bts0_band(); + vc_conn := f_start_handler(refers(f_TC_rsl_ms_pwr_dyn_max), pars, trxc_comp := true); + vc_conn.done; + } + f_vty_config(BTSVTY, "phy 0", "no osmotrx ms-power-loop"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + +testcase TC_rsl_ms_pwr_dyn_down() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(); + f_vty_config(BTSVTY, "phy 0", "osmotrx ms-power-loop -100"); + for (var integer tn := 1; tn <= 1; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + pars.bts0_band := f_vty_get_bts0_band(); + vc_conn := f_start_handler(refers(f_TC_rsl_ms_pwr_dyn_down), pars, trxc_comp := true); + vc_conn.done; + } + f_vty_config(BTSVTY, "phy 0", "no osmotrx ms-power-loop"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + testcase TC_meas_res_sign_tchf() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; @@ -5550,6 +5898,10 @@ execute( TC_meas_res_sign_sdcch8() ); execute( TC_meas_res_sign_tchh_toa256() ); execute( TC_rsl_ms_pwr_ctrl() ); + execute( TC_rsl_ms_pwr_dyn_up() ); + execute( TC_rsl_ms_pwr_dyn_down() ); + execute( TC_rsl_ms_pwr_dyn_ass_updown() ); + execute( TC_rsl_ms_pwr_dyn_max() ); execute( TC_rsl_chan_initial_ms_pwr() ); execute( TC_rsl_chan_initial_ta() ); execute( TC_rsl_modify_encr() ); diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 456d6d2..e8bb67f 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -626,6 +626,18 @@ msg := msg } + /* 9.3.31 */ + type record RSL_IE_MS_Power_Parameters { + uint8_t len, + octetstring params + } with { + variant (len) "LENGTHTO(params)"; + }; + template (value) RSL_IE_MS_Power_Parameters ts_RSL_IE_MS_Power_Parameters(octetstring params) := { + len := 0, /* overwritten */ + params := params + } + /* 9.3.40 */ type enumerated RSL_ChanNeeded { RSL_CHANNEED_ANY ('00'B), @@ -765,6 +777,7 @@ uint8_t handover_ref, RSL_IE_BS_Power bs_power, RSL_IE_MS_Power ms_power, + RSL_IE_MS_Power_Parameters ms_power_params, uint8_t timing_adv, RSL_IE_MultirateCtrl multirate_ctrl, uint8_t msg_id, @@ -819,6 +832,7 @@ handover_ref, iei = RSL_IE_HANDO_REF; bs_power, iei = RSL_IE_BS_POWER; ms_power, iei = RSL_IE_MS_POWER; + ms_power_params, iei = RSL_IE_MS_POWER_PARAM; timing_adv, iei = RSL_IE_TIMING_ADVANCE; multirate_ctrl, iei = RSL_IE_MR_CONTROL; msg_id, iei = RSL_IE_MSG_ID; @@ -1442,6 +1456,18 @@ } } + template (value) RSL_Message ts_RSL_MS_PWR_CTRL_with_pp(template (value) RslChannelNr chan_nr, + integer pwr_level) := { + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_MS_POWER_CONTROL, + ies := { + t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}), + t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ts_RSL_IE_MS_Power(pwr_level)}), + t_RSL_IE(RSL_IE_MS_POWER_PARAM, RSL_IE_Body:{ms_power_params := + ts_RSL_IE_MS_Power_Parameters(''O)}) + } + } + /* 8.4.19 BTS -> BSC */ template (value) RSL_Message ts_RSL_RF_CHAN_REL_ACK(template (value) RslChannelNr chan_nr) := ts_RSL_MsgDiscType(ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57489ba22542d859ced767e856634f9060c060f0 Gerrit-Change-Number: 14417 Gerrit-PatchSet: 5 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 12 20:17:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 12 Jun 2019 20:17:09 +0000 Subject: Change in ...osmo-remsim[master]: osmo-remsim-client: add systemd service script template and etc/defau... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/14267 ) Change subject: osmo-remsim-client: add systemd service script template and etc/default configs ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/14267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I243f3d8e090d49ca3a1d0a8cf568750b76273c03 Gerrit-Change-Number: 14267 Gerrit-PatchSet: 2 Gerrit-Owner: roh Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roh Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 12 Jun 2019 20: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 12 22:00:31 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 12 Jun 2019 22:00:31 +0000 Subject: Change in ...osmo-remsim[master]: osmo-remsim-client: add systemd service script template and etc/defau... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/14267 ) Change subject: osmo-remsim-client: add systemd service script template and etc/default configs ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/14267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I243f3d8e090d49ca3a1d0a8cf568750b76273c03 Gerrit-Change-Number: 14267 Gerrit-PatchSet: 2 Gerrit-Owner: roh Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: roh Gerrit-Comment-Date: Wed, 12 Jun 2019 22: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 Thu Jun 13 01:21:51 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Jun 2019 01:21:51 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add create-subscriber-on-demand tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 ) Change subject: hlr: add create-subscriber-on-demand tests ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id544fa906ad442c2bbbccff437c18d04ddccde2e Gerrit-Change-Number: 14424 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 01:21: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 13 01:34:55 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Jun 2019 01:34:55 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add Check IMEI tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 ) Change subject: hlr: add Check IMEI tests ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97c8462f0817149feadd0c4865e3df6c2af92a80 Gerrit-Change-Number: 14402 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 01: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 Thu Jun 13 01:35:28 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Jun 2019 01:35:28 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add f_vty_subscr_show_nomatch() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 ) Change subject: hlr: add f_vty_subscr_show_nomatch() ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I176d8fd2ee74e1eb7ac797f931cd6005d398740f Gerrit-Change-Number: 14401 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 01:35:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Jun 13 02:43:11 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Jun 2019 02:43:11 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d01b849567e7_38fd4665f4520121@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 677s] | | # include [ 677s] | | #endif [ 677s] | | #ifdef HAVE_UNISTD_H [ 677s] | | # include [ 677s] | | #endif [ 677s] | | int [ 677s] | | main () [ 677s] | | { [ 677s] | | if (sizeof ((size_t))) [ 677s] | | return 0; [ 677s] | | ; [ 677s] | | return 0; [ 677s] | | } [ 677s] | configure:12583: result: yes [ 677s] | configure:12596: checking for working alloca.h [ 677s] | configure:12613: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 677s] | configure:12613: $? = 0 [ 677s] | configure:12621: result: yes [ 677s] | configure:12629: checking for alloca [ 677s] | configure:12666: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 677s] | configure:12666: $? = 0 [ 677s] | configure:12674: result: yes [ 677s] | configure:12780: checking for library containing dlopen [ 679s] | config[ 650.665418] sysrq: SysRq : Power Off [ 679s] [ 650.676884] reboot: Power down [ 679s] ### VM INTERACTION END ### [ 679s] [ 679s] armbuild01 failed "build libosmocore_1.1.0.56.274a.dsc" at Thu Jun 13 02:42:59 UTC 2019. [ 679s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Jun 13 03:15:11 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Jun 2019 03:15:11 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d01bfc6c9589_38fd4665f45208c8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Testing/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 182s] | configure: exit 0 [ 182s] [ 182s] # -*- compilation -*- [ 182s] 4. testsuite.at:23: testing db ... [ 182s] ./testsuite.at:28: $abs_top_builddir/tests/db/db_test [ 182s] --- expout 2019-06-13 03:14:54.140000000 +0000 [ 182s] +++ /usr/src/packages/BUILD/openbsc/tests/testsuite.dir/at-groups/4/stdout 2019-06-13 03:14:54.540000000 +0000 [ 182s] @@ -1,4 +1,6 @@ [ 182s] Testing subscriber database code. [ 182s] DB: Database initialized. [ 182s] +no tables in statement ! [ 182s] +no tables in statement ! [ 182s] DB: Database prepared. [ 182s] Done [ 182s] 4. testsuite.at:23: 4. db (testsuite.at:23): FAILED (testsuite.at:28) [ 182s] make[1]: *** [debian/rules:30: override_dh_auto_test] Error 1 [ 182s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 182s] make: *** [debian/rules:13: build] Error 2 [ 182s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 182s] [ 182s] lamb15 failed "build openbsc_1.2.0.dsc" at Thu Jun 13 03:14:55 UTC 2019. [ 182s] [ 182s] ### VM INTERACTION START ### [ 186s] [ 170.688295] sysrq: SysRq : Power Off [ 186s] [ 170.702293] reboot: Power down [ 186s] ### VM INTERACTION END ### [ 186s] [ 186s] lamb15 failed "build openbsc_1.2.0.dsc" at Thu Jun 13 03:15:00 UTC 2019. [ 186s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Jun 13 03:49:10 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Jun 2019 03:49:10 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d01c7bd506a3_38fd4665f4524356@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 113s] #define PACKAGE "osmo-sysmon" [ 113s] #define VERSION "0.1.0" [ 113s] #define STDC_HEADERS 1 [ 113s] #define HAVE_SYS_TYPES_H 1 [ 113s] #define HAVE_SYS_STAT_H 1 [ 113s] #define HAVE_STDLIB_H 1 [ 113s] #define HAVE_STRING_H 1 [ 113s] #define HAVE_MEMORY_H 1 [ 113s] #define HAVE_STRINGS_H 1 [ 113s] #define HAVE_INTTYPES_H 1 [ 113s] #define HAVE_STDINT_H 1 [ 113s] #define HAVE_UNISTD_H 1 [ 113s] #define HAVE_DLFCN_H 1 [ 113s] #define LT_OBJDIR ".libs/" [ 113s] [ 113s] configure: exit 1 [ 113s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 113s] make: *** [debian/rules:45: build] Error 2 [ 113s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 113s] [ 113s] lamb11 failed "build osmo-sysmon_0.1.0.dsc" at Thu Jun 13 03:49:00 UTC 2019. [ 113s] [ 113s] ### VM INTERACTION START ### [ 116s] [ 101.789160] sysrq: SysRq : Power Off [ 116s] [ 101.794230] reboot: Power down [ 116s] ### VM INTERACTION END ### [ 116s] [ 116s] lamb11 failed "build osmo-sysmon_0.1.0.dsc" at Thu Jun 13 03:49:03 UTC 2019. [ 116s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Jun 13 03:55:10 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 13 Jun 2019 03:55:10 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d01c9274d17a_38fd4665f452486e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Unstable/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 177s] | configure: exit 0 [ 177s] [ 177s] # -*- compilation -*- [ 177s] 4. testsuite.at:23: testing db ... [ 177s] ./testsuite.at:28: $abs_top_builddir/tests/db/db_test [ 177s] --- expout 2019-06-13 03:55:00.500000000 +0000 [ 177s] +++ /usr/src/packages/BUILD/openbsc/tests/testsuite.dir/at-groups/4/stdout 2019-06-13 03:55:00.700000000 +0000 [ 177s] @@ -1,4 +1,6 @@ [ 177s] Testing subscriber database code. [ 177s] DB: Database initialized. [ 177s] +no tables in statement ! [ 177s] +no tables in statement ! [ 177s] DB: Database prepared. [ 177s] Done [ 177s] 4. testsuite.at:23: 4. db (testsuite.at:23): FAILED (testsuite.at:28) [ 177s] make[1]: *** [debian/rules:30: override_dh_auto_test] Error 1 [ 177s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 177s] make: *** [debian/rules:13: build] Error 2 [ 177s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 177s] [ 177s] lamb18 failed "build openbsc_1.2.0.dsc" at Thu Jun 13 03:55:01 UTC 2019. [ 177s] [ 177s] ### VM INTERACTION START ### [ 180s] [ 166.527340] sysrq: SysRq : Power Off [ 180s] [ 166.533571] reboot: Power down [ 180s] ### VM INTERACTION END ### [ 180s] [ 180s] lamb18 failed "build openbsc_1.2.0.dsc" at Thu Jun 13 03:55:05 UTC 2019. [ 180s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Jun 13 09:12:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:12:58 +0000 Subject: Change in ...docker-playground[master]: jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/14433 Change subject: jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms ...................................................................... jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms When fixing the permissions at the end of a test run, it really doesn't matter if we're running a current debian-stretch-build image, or if we are using an ancient one. All we need is a 'chmod' binary. Change-Id: Ib008ee72f40aeefb307c0ba74a57b70daae9d07b Related: OS#4060 --- M jenkins-common.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/33/14433/1 diff --git a/jenkins-common.sh b/jenkins-common.sh index a703a05..9031ca8 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -40,7 +40,7 @@ } fix_perms() { - docker_images_require debian-stretch-build + NO_DOCKER_IMAGE_BUILD=1 docker_images_require debian-stretch-build echo Fixing permissions docker run --rm \ -v $VOL_BASE_DIR:/data \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib008ee72f40aeefb307c0ba74a57b70daae9d07b Gerrit-Change-Number: 14433 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 13 09:16:19 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 13 Jun 2019 09:16:19 +0000 Subject: Change in ...docker-playground[master]: jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14433 ) Change subject: jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/14433/1/jenkins-common.sh File jenkins-common.sh: https://gerrit.osmocom.org/#/c/14433/1/jenkins-common.sh at 43 PS1, Line 43: NO_DOCKER_IMAGE_BUILD=1 docker_images_require debian-stretch-build I would change this to the following, so it would build the image if it does not exist, but not try to update the image if does exist: if ! docker_image_exists "debian-stretch-build"; then docker_images_require "debian-stretch-build" fi With your version, it would exit with an error here if it did not exists. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib008ee72f40aeefb307c0ba74a57b70daae9d07b Gerrit-Change-Number: 14433 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 13 Jun 2019 09:16: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 Thu Jun 13 09:34:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:34:17 +0000 Subject: Change in ...docker-playground[master]: jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14433 ) Change subject: jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14433/1/jenkins-common.sh File jenkins-common.sh: https://gerrit.osmocom.org/#/c/14433/1/jenkins-common.sh at 43 PS1, Line 43: NO_DOCKER_IMAGE_BUILD=1 docker_images_require debian-stretch-build > I would change this to the following, so it would build the image if it does not exist, but not try [?] please feel free to take this over , test it locally and re-submit. thanks! -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib008ee72f40aeefb307c0ba74a57b70daae9d07b Gerrit-Change-Number: 14433 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Assignee: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 13 Jun 2019 09:34:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 09:35:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:35:04 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add f_vty_subscr_show_nomatch() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 ) Change subject: hlr: add f_vty_subscr_show_nomatch() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I176d8fd2ee74e1eb7ac797f931cd6005d398740f Gerrit-Change-Number: 14401 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 09:35:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 09:35:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:35:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add f_vty_subscr_show_nomatch() In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 ) Change subject: hlr: add f_vty_subscr_show_nomatch() ...................................................................... hlr: add f_vty_subscr_show_nomatch() Allow to check if a certain pattern does not match the "show subscriber" output. This will be used by upcoming tests for the check IMEI GSUP message type, to check if the IMEI was not stored, depending on the OsmoHLR configuration. Change-Id: I176d8fd2ee74e1eb7ac797f931cd6005d398740f --- M hlr/HLR_Tests.ttcn 1 file changed, 13 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn index b6bd1ad..e58515b 100644 --- a/hlr/HLR_Tests.ttcn +++ b/hlr/HLR_Tests.ttcn @@ -302,6 +302,14 @@ } } +function f_vty_transceive_nomatch(TELNETasp_PT pt, charstring cmd, template charstring exp_ret) { + var charstring ret := f_vty_transceive_ret(pt, cmd); + if (match(ret, exp_ret)) { + setverdict(fail, "Matching VTY response: ", ret, ", should *not* have matched: ", exp_ret); + mtc.stop; + } +} + private template (value) charstring t_subscr_prefix(hexstring imsi) := "subscriber imsi " & hex2str(imsi) & " "; @@ -351,6 +359,11 @@ f_vty_transceive_match(VTY, prefix & "show", exp); } +/* perform 'show' on subscriber; result must not match with pattern 'exp' */ +function f_vty_subscr_show_nomatch(TELNETasp_PT VTY, HlrSubscriber sub, template charstring exp) { + var charstring prefix := valueof(t_subscr_prefix(sub.imsi)); + f_vty_transceive_nomatch(VTY, prefix & "show", exp); +} /*********************************************************************** * Helper functions for ConnHdlr -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I176d8fd2ee74e1eb7ac797f931cd6005d398740f Gerrit-Change-Number: 14401 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 09:35:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:35:16 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add Check IMEI tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 ) Change subject: hlr: add Check IMEI tests ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97c8462f0817149feadd0c4865e3df6c2af92a80 Gerrit-Change-Number: 14402 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 09:35: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 13 09:35:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:35:17 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add Check IMEI tests In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 ) Change subject: hlr: add Check IMEI tests ...................................................................... hlr: add Check IMEI tests Create tests for most code paths of rx_check_imei_req() in hlr.c (except for subscriber create on demand, this will be in an upcoming patch). Add missing message types to GSUP_Types.ttcn, and adjust the IMEI and IMEI_Result IEs for consistency with the existing IEs, and to make the tests compile. Related: OS#2541 Change-Id: I97c8462f0817149feadd0c4865e3df6c2af92a80 --- M hlr/HLR_Tests.ttcn M library/GSUP_Types.ttcn 2 files changed, 139 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn index e58515b..4c158fd 100644 --- a/hlr/HLR_Tests.ttcn +++ b/hlr/HLR_Tests.ttcn @@ -574,6 +574,47 @@ return ret; } +function f_perform_CHECK_IMEI(hexstring imsi, hexstring imei, + template (omit) integer exp_err_cause := omit, + template (omit) GSUP_IMEIResult result := omit) +runs on HLR_ConnHdlr { + var GSUP_PDU pdu; + timer T := 3.0; + var boolean exp_fail := false; + if (not istemplatekind(exp_err_cause, "omit")) { + exp_fail := true; + } + + GSUP.send(valueof(ts_GSUP_CHECK_IMEI_REQ(imsi, imei))); + T.start; + alt { + [exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_ERR(imsi, exp_err_cause)) -> value pdu { + setverdict(pass); + } + [exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_ERR(imsi, ?)) -> value pdu { + setverdict(fail, "Unexpected CHECK IMEI ERROR Cause: ", pdu); + } + [exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_RES(imsi, ?)) -> value pdu { + setverdict(fail, "Unexpected CHECK IMEI RES instead of ERR"); + } + [not exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_ERR(imsi, ?)) -> value pdu { + setverdict(fail, "Unexpected CHECK IMEI ERROR"); + } + [not exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_RES(imsi, result)) -> value pdu { + setverdict(pass); + } + [not exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_RES(imsi, ?)) -> value pdu { + setverdict(fail, "Unexpected CHECK IMEI RES"); + } + [] GSUP.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for CHECK IMEI response"); + mtc.stop; + } + } +} + + /*********************************************************************** @@ -1090,6 +1131,71 @@ * timeout cases */ + +/* Test Check IMEI */ +private function f_TC_gsup_check_imei() runs on HLR_ConnHdlr { + /* store-imei disabled */ + f_vty_config(VTY, "hlr", "no store-imei"); + f_perform_CHECK_IMEI(g_pars.sub.imsi, '12345678901234'H, result := OSMO_GSUP_IMEI_RESULT_ACK); + f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*IMEI: *12345678901234*"); + + /* store-imei enabled */ + f_vty_config(VTY, "hlr", "store-imei"); + f_perform_CHECK_IMEI(g_pars.sub.imsi, '12345678901234'H, result := OSMO_GSUP_IMEI_RESULT_ACK); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*IMEI: *12345678901234*"); +} +testcase TC_gsup_check_imei() runs on test_CT { + var HlrSubscriberList sl; + + f_init(false); + sl := f_gen_subs(); + f_start_handler_per_sub(refers(f_TC_gsup_check_imei), sl); + + setverdict(pass); +} + +/* Test Check IMEI with invalid IMEI length */ +private function f_TC_gsup_check_imei_invalid_len() runs on HLR_ConnHdlr { + /* IMEI too long */ + f_perform_CHECK_IMEI(g_pars.sub.imsi, '111456789012345F'H, 96 /* Invalid Mandatory Information */); + f_perform_CHECK_IMEI(g_pars.sub.imsi, '2224567890123456'H, 96 /* Invalid Mandatory Information */); + + /* IMEI too short */ + f_perform_CHECK_IMEI(g_pars.sub.imsi, '3334567890123F'H, 96 /* Invalid Mandatory Information */); + f_perform_CHECK_IMEI(g_pars.sub.imsi, '444456789012'H, 96 /* Invalid Mandatory Information */); + f_perform_CHECK_IMEI(g_pars.sub.imsi, ''H, 96 /* Invalid Mandatory Information */); +} +testcase TC_gsup_check_imei_invalid_len() runs on test_CT { + var HlrSubscriberList sl; + + f_init(false); + sl := f_gen_subs(); + f_start_handler_per_sub(refers(f_TC_gsup_check_imei_invalid_len), sl); + + setverdict(pass); +} + +/* Test Check IMEI with unknown IMSI */ +private function f_TC_gsup_check_imei_unknown_imsi() runs on HLR_ConnHdlr { + f_vty_config(VTY, "hlr", "no store-imei"); + f_perform_CHECK_IMEI(g_pars.sub.imsi, '22245678901234'H, 96 /* Invalid Mandatory Information */); + + /* Check again with store-imei set (different code path) */ + f_vty_config(VTY, "hlr", "store-imei"); + f_perform_CHECK_IMEI(g_pars.sub.imsi, '22245678901234'H, 96 /* Invalid Mandatory Information */); + + setverdict(pass); +} +testcase TC_gsup_check_imei_unknown_imsi() runs on test_CT { + var hexstring imsi := f_rnd_imsi('26242'H); + var HLR_ConnHdlrPars pars := valueof(t_Pars(imsi)); + var HLR_ConnHdlr vc_conn; + + f_init(false); + vc_conn := f_start_handler(refers(f_TC_gsup_check_imei_unknown_imsi), pars); + vc_conn.done; +} + /* TODO: * UL with ISD error * UL with ISD timeout @@ -1126,6 +1232,10 @@ /* "Structured" Supplementary Services */ execute( TC_mo_sss_reject() ); + + execute( TC_gsup_check_imei() ); + execute( TC_gsup_check_imei_invalid_len() ); + execute( TC_gsup_check_imei_unknown_imsi() ); }; }; diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn index 10cf1b8..8081347 100644 --- a/library/GSUP_Types.ttcn +++ b/library/GSUP_Types.ttcn @@ -419,6 +419,17 @@ ies := ies } +template (value) GSUP_IMEI ts_GSUP_IMEI(hexstring digits) := { + len := 0, /* overwritten */ + digits := digits +} + +template GSUP_IMEI tr_GSUP_IMEI(template hexstring digits) := { + len := ?, + digits := digits +} + + template (value) GSUP_PDU ts_GSUP_SAI_REQ(hexstring imsi) := ts_GSUP(OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST, { valueof(ts_GSUP_IE_IMSI(imsi)) }); @@ -523,6 +534,18 @@ tr_GSUP(OSMO_GSUP_MSGT_PURGE_MS_ERROR, { tr_GSUP_IE_IMSI(imsi), tr_GSUP_IE_Cause(cause) }); +template (value) GSUP_PDU ts_GSUP_CHECK_IMEI_REQ(hexstring imsi, hexstring imei) := + ts_GSUP(OSMO_GSUP_MSGT_CHECK_IMEI_REQUEST, { + valueof(ts_GSUP_IE_IMSI(imsi)), valueof(ts_GSUP_IE_IMEI(imei)) }); + +template GSUP_PDU tr_GSUP_CHECK_IMEI_RES(template hexstring imsi, template GSUP_IMEIResult result) := + tr_GSUP(OSMO_GSUP_MSGT_CHECK_IMEI_RESULT, { + tr_GSUP_IE_IMSI(imsi), tr_GSUP_IE_IMEI_Result(result) }); + +template GSUP_PDU tr_GSUP_CHECK_IMEI_ERR(template hexstring imsi, template integer cause) := + tr_GSUP(OSMO_GSUP_MSGT_CHECK_IMEI_ERROR, { + tr_GSUP_IE_IMSI(imsi), tr_GSUP_IE_Cause(cause) }); + template (value) GSUP_IE ts_GSUP_IE_CancelType(GSUP_CancelType ctype) := { tag := OSMO_GSUP_CANCEL_TYPE_IE, @@ -764,29 +787,29 @@ } } -template (value) GSUP_IE ts_GSUP_IE_IMEI_IE(GSUP_IMEI imei) := { +template (value) GSUP_IE ts_GSUP_IE_IMEI(hexstring imei) := { tag := OSMO_GSUP_IMEI_IE, len := 0, /* overwritten */ val := { - imei := imei + imei := ts_GSUP_IMEI(imei) } } -template GSUP_IE tr_GSUP_IE_IMEI_IE(template GSUP_IMEI imei) := { +template GSUP_IE tr_GSUP_IE_IMEI(template hexstring imei) := { tag := OSMO_GSUP_IMEI_IE, len := ?, val := { - imei := imei + imei := tr_GSUP_IMEI(imei) } } -template (value) GSUP_IE ts_GSUP_IE_IMEI_RESULT_IE(GSUP_IMEIResult result) := { +template (value) GSUP_IE ts_GSUP_IE_IMEI_Result(GSUP_IMEIResult result) := { tag := OSMO_GSUP_IMEI_RESULT_IE, len := 0, /* overwritten */ val := { imei_result := result } } -template GSUP_IE tr_GSUP_IE_IMEI_RESULT_IE(template GSUP_IMEIResult result) := { +template GSUP_IE tr_GSUP_IE_IMEI_Result(template GSUP_IMEIResult result) := { tag := OSMO_GSUP_IMEI_RESULT_IE, len := ?, val := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97c8462f0817149feadd0c4865e3df6c2af92a80 Gerrit-Change-Number: 14402 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 09:37:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:37:18 +0000 Subject: Change in ...osmo-remsim[master]: osmo-remsim-client: add systemd service script template and etc/defau... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-remsim/+/14267 ) Change subject: osmo-remsim-client: add systemd service script template and etc/default configs ...................................................................... osmo-remsim-client: add systemd service script template and etc/default configs Change-Id: I243f3d8e090d49ca3a1d0a8cf568750b76273c03 --- A contrib/etc_default/osmo-remsim-client A contrib/etc_default/osmo-remsim-client-0 A contrib/etc_default/osmo-remsim-client-1 A contrib/etc_default/osmo-remsim-client-2 A contrib/etc_default/osmo-remsim-client-3 A contrib/systemd/osmo-remsim-client at .service 6 files changed, 42 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/contrib/etc_default/osmo-remsim-client b/contrib/etc_default/osmo-remsim-client new file mode 100644 index 0000000..b1a2187 --- /dev/null +++ b/contrib/etc_default/osmo-remsim-client @@ -0,0 +1,4 @@ +# Default settings for osmo-remsim-client This file is sourced by systemd + +# Options to pass to osmo-remsim-client +GLOBAL_CLIENT_OPTS="-s 10.9.99.10 -V 1d50 -P 4004 -C 1" diff --git a/contrib/etc_default/osmo-remsim-client-0 b/contrib/etc_default/osmo-remsim-client-0 new file mode 100644 index 0000000..8b70721 --- /dev/null +++ b/contrib/etc_default/osmo-remsim-client-0 @@ -0,0 +1,6 @@ +# Default settings for osmo-remsim-client This file is sourced by systemd + +# Options to pass to osmo-remsim-client +REMSIM_I="0" +REMSIM_H="2-1.1" +REMSIM_c="0" diff --git a/contrib/etc_default/osmo-remsim-client-1 b/contrib/etc_default/osmo-remsim-client-1 new file mode 100644 index 0000000..519dcb4 --- /dev/null +++ b/contrib/etc_default/osmo-remsim-client-1 @@ -0,0 +1,6 @@ +# Default settings for osmo-remsim-client This file is sourced by systemd + +# Options to pass to osmo-remsim-client +REMSIM_I="1" +REMSIM_H="2-1.1" +REMSIM_c="0" diff --git a/contrib/etc_default/osmo-remsim-client-2 b/contrib/etc_default/osmo-remsim-client-2 new file mode 100644 index 0000000..3f66289 --- /dev/null +++ b/contrib/etc_default/osmo-remsim-client-2 @@ -0,0 +1,6 @@ +# Default settings for osmo-remsim-client This file is sourced by systemd + +# Options to pass to osmo-remsim-client +REMSIM_I="0" +REMSIM_H="2-1.4" +REMSIM_c="0" diff --git a/contrib/etc_default/osmo-remsim-client-3 b/contrib/etc_default/osmo-remsim-client-3 new file mode 100644 index 0000000..149af2b --- /dev/null +++ b/contrib/etc_default/osmo-remsim-client-3 @@ -0,0 +1,6 @@ +# Default settings for osmo-remsim-client This file is sourced by systemd + +# Options to pass to osmo-remsim-client +REMSIM_I="1" +REMSIM_H="2-1.4" +REMSIM_c="0" diff --git a/contrib/systemd/osmo-remsim-client at .service b/contrib/systemd/osmo-remsim-client at .service new file mode 100644 index 0000000..738ae4a --- /dev/null +++ b/contrib/systemd/osmo-remsim-client at .service @@ -0,0 +1,14 @@ +[Unit] +Description=Osmocom Remote SIM Client %i + +[Service] +Type=simple +Restart=always +EnvironmentFile=/etc/default/osmo-remsim-client +EnvironmentFile=/etc/default/osmo-remsim-client-%i +ExecStart=/usr/bin/osmo-remsim-client-st2 $GLOBAL_CLIENT_OPTS -I $REMSIM_I -H $REMSIM_H -c $REMSIM_c +RestartSec=2 + +[Install] +WantedBy=multi-user.target + -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/14267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I243f3d8e090d49ca3a1d0a8cf568750b76273c03 Gerrit-Change-Number: 14267 Gerrit-PatchSet: 3 Gerrit-Owner: roh Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: roh Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 09:38:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:38:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14408 ) Change subject: bsc: Fix trailing whitespace ...................................................................... bsc: Fix trailing whitespace Change-Id: I97c6cc290d6cc23611ac38e7e370b5b0b88cca1d --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M library/IPA_Emulation.ttcnpp M library/Osmocom_CTRL_Functions.ttcn 4 files changed, 6 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 518f9e1..c3275e1 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1263,7 +1263,7 @@ f_bssap_tx_ud(ts_BSSMAP_Paging(imsi, cid_list, tmsi, bssmap_chneed)); -/* FIXME: Disabled due to bugs in both GSM_RR_Types and MobileL3_CommonIE_Types IMSI encoder +/* FIXME: Disabled due to bugs in both GSM_RR_Types and MobileL3_CommonIE_Types IMSI encoder if (isvalue(tmsi)) { mi := valueof(t_Osmo_MI_TMSI(oct2int(valueof(tmsi)))); } else { @@ -3171,7 +3171,7 @@ var octetstring ho_command_str; BSSAP.receive(tr_BSSMAP_HandoverRequestAcknowledge(?)) -> value rx_bssap; - + 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); diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index c7f6495..c709794 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -1091,7 +1091,7 @@ } } [st.rr_ho_cmpl_seen] as_Media_ipacc(); - [st.rr_ho_cmpl_seen] as_Media_mgw(true); + [st.rr_ho_cmpl_seen] as_Media_mgw(true); [st.rr_ho_cmpl_seen] RSL.receive(tr_RSL_DEACT_SACCH(st.old_chan_nr)) { repeat; } diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 3180621..3ec6922 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -2,7 +2,7 @@ /* This module implements the IPA multiplex protocol on top of TCP, using the IPL4asp * test-port as provider. It implements both client and server roles, as well was the CCM - * handshake for establishing the identity of the client to the server. + * handshake for establishing the identity of the client to the server. * * It already knows certain well-known sub-protocols such as A-bis RSL, MGCP and SCCP and * GSUP. IT hence transcodes messages so the user can work with abstract data types rather @@ -258,7 +258,7 @@ function f_bind(charstring local_host, IPL4asp_Types.PortNumber local_port, IPA_CCM_Parameters ccm_pars := c_IPA_default_ccm_pars) runs on IPA_Emulation_CT { var IPL4asp_Types.Result res; - res := IPA_CodecPort_CtrlFunct.f_IPL4_listen(IPA_PORT, + res := IPA_CodecPort_CtrlFunct.f_IPL4_listen(IPA_PORT, local_host, local_port, { tcp:={} }); if (not ispresent(res.connId)) { setverdict(fail, "Could not listen IPA socket ", local_host, ":", local_port, ", check your configuration"); diff --git a/library/Osmocom_CTRL_Functions.ttcn b/library/Osmocom_CTRL_Functions.ttcn index 4356ba9..94dcb8a 100644 --- a/library/Osmocom_CTRL_Functions.ttcn +++ b/library/Osmocom_CTRL_Functions.ttcn @@ -6,7 +6,7 @@ * implements blocking functions, instead of asynchronous functions. The * rationale for this is simple: One normally wants to inquire a value or set * a value and not continue the main program until that operation is complete. - * + * * CTRL is a machine-type protocol on how external programs can interact with * an Osmocom program in a structured way. It is intended for programmatic * access (by other software), as opposed to the VTY interface intended for -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97c6cc290d6cc23611ac38e7e370b5b0b88cca1d Gerrit-Change-Number: 14408 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 09:38:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:38:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/RAN: Introduce CTRL_CLIENT port to access CTRL muxed in RAN IPA conn In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14406 ) Change subject: lib/RAN: Introduce CTRL_CLIENT port to access CTRL muxed in RAN IPA conn ...................................................................... lib/RAN: Introduce CTRL_CLIENT port to access CTRL muxed in RAN IPA conn This is the case for SCCPlite between BSC and MSC (or BSC-NAT). MGCP and CTRL can be multiplexed over the same underlaying IPA conn. Related: OS#2012 Change-Id: Id90c1609f0439b00379166fb9e4028d181fc023e --- M library/RAN_Adapter.ttcnpp M library/RAN_Emulation.ttcnpp 2 files changed, 48 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/RAN_Adapter.ttcnpp b/library/RAN_Adapter.ttcnpp index 862921e..40cf0fa 100644 --- a/library/RAN_Adapter.ttcnpp +++ b/library/RAN_Adapter.ttcnpp @@ -167,6 +167,11 @@ log("Connecting MGCP RAN Emulation to IPA MGCP PORT"); connect(ba.vc_IPA:IPA_MGCP_PORT, ba.vc_RAN:MGCP); #endif +#ifdef IPA_EMULATION_CTRL + /* connect IPA CTRL port with BSSMAP CTRL port */ + log("Connecting CTRL RAN Emulation to IPA CTRL PORT"); + connect(ba.vc_IPA:IPA_CTRL_PORT, ba.vc_RAN:CTRL); +#endif } log("Starting RAN_Emulation"); ba.vc_RAN.start(RAN_Emulation.main(valueof(ops), "")); diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index ba018b4..cd0c867 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -36,6 +36,7 @@ import from SCCPasp_Types all; import from IPA_Emulation all; import from MobileL3_Types all; +import from Misc_Helpers all; #ifdef RAN_EMULATION_BSSAP import from BSSAP_Types all; @@ -48,6 +49,11 @@ import from MGCP_Templates all; #endif +#ifdef RAN_EMULATION_CTRL +import from Osmocom_CTRL_Types all; +import from Osmocom_CTRL_Adapter all; +#endif + #ifdef RAN_EMULATION_RANAP import from RANAP_CodecPort all; import from RANAP_PDU_Descriptions all; @@ -177,6 +183,11 @@ /* MGCP port */ port IPA_MGCP_PT MGCP; #endif +#ifdef RAN_EMULATION_CTRL + /* CTRL port */ + port IPA_CTRL_PT CTRL; + port IPA_CTRL_PT CTRL_CLIENT; +#endif /* use 16 as this is also the number of SCCP connections that SCCP_Emulation can handle */ var ConnectionData ConnectionTable[16]; @@ -1041,6 +1052,37 @@ #endif } +private altstep as_main_ctrl() runs on RAN_Emulation_CT { +#ifdef RAN_EMULATION_CTRL + var CtrlMessage ctrl; + var RAN_ConnHdlr vc_conn; + var ASP_IPA_Event evt; + + /* Handling of CTRL in IPA SCCPLite case. This predates 3GPP AoIP + * and uses a CTRL session in parallel to BSSAP. */ + + /* CTRL_CLIENT -> CTRL */ + [] CTRL_CLIENT.receive(CtrlMessage:?) -> value ctrl sender vc_conn { + CTRL.send(ctrl); + } + + /* CTRL -> CTRL_CLIENT */ + [] CTRL.receive(CtrlMessage:?) -> value ctrl { + CTRL_CLIENT.send(ctrl); + } + + [] CTRL.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) -> value evt { + CTRL_CLIENT.send(evt); + } + [] CTRL.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Lost IPA connection!"); + } + [] CTRL.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) {} +#else + [false] CLIENT.receive {} +#endif +} + /* send a raw (encoded) L3 message over given SCCP connection */ private function f_xmit_raw_l3(integer sccp_conn_id, OCT1 dlci, octetstring l3_enc) runs on RAN_Emulation_CT { @@ -1123,6 +1165,7 @@ } [] as_main_mgcp(); + [] as_main_ctrl(); [] PROC.getcall(RAN_register:{?,?}) -> param(l3_info, vc_hdlr) { f_create_expect(l3_info, vc_hdlr); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id90c1609f0439b00379166fb9e4028d181fc023e Gerrit-Change-Number: 14406 Gerrit-PatchSet: 4 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 Thu Jun 13 09:38:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:38:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Introduce test TC_ctrl_location In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407 ) Change subject: bsc: Introduce test TC_ctrl_location ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3640f6889e3b6adc3b4601082f948543c64a2fe3 Gerrit-Change-Number: 14407 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 09: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 Thu Jun 13 09:38:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:38:24 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Introduce test TC_ctrl_location In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407 ) Change subject: bsc: Introduce test TC_ctrl_location ...................................................................... bsc: Introduce test TC_ctrl_location Related: OS#2012 Change-Id: I3640f6889e3b6adc3b4601082f948543c64a2fe3 --- M bsc/BSC_Tests.ttcn M bsc/expected-results.xml M bsc/regen_makefile.sh M library/Osmocom_CTRL_Adapter.ttcn 4 files changed, 38 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index c3275e1..00995bf 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -80,6 +80,8 @@ /* array of per-BTS RSL test ports */ port IPA_RSL_PT IPA_RSL[NUM_BTS]; port IPA_CODEC_PT IPA; /* Required for compilation of TC_rsl_unknown_unit_id() */ + /* CTRL muxed over IPA in SCCPlite conn BSC<->MSC (or BSC-NAT) */ + port IPA_CTRL_PT SCCPLITE_IPA_CTRL; var MGCP_Emulation_CT vc_MGCP; port TELNETasp_PT BSCVTY; @@ -350,6 +352,7 @@ var RanOps ranops := MSC_RanOps; ranops.use_osmux := g_osmux_enabled; f_ran_adapter_init(g_bssap, mp_bssap_cfg, "VirtMSC", ranops); + connect(self:SCCPLITE_IPA_CTRL, g_bssap.vc_RAN:CTRL_CLIENT); f_ran_adapter_start(g_bssap); } else { f_ran_adapter_init(g_bssap, mp_bssap_cfg, "VirtMSC", omit); @@ -1204,6 +1207,32 @@ setverdict(pass); } +/* Verify that Upon receival of SET "location", BSC forwards a TRAP + "location-state" over the SCCPlite IPA conn */ +testcase TC_ctrl_location() runs on test_CT { + var MSC_ConnHdlr vc_conn; + var integer bts_nr := 0; + + f_init(1, true); + f_sleep(1.0); + + f_ctrl_set_bts(IPA_CTRL, bts_nr, "location", "1234567,fix3d,0.340000,0.560000,0.780000"); + f_ctrl_exp_trap(SCCPLITE_IPA_CTRL, "bts." & int2str(bts_nr) & ".location-state", + "1234567,fix3d,0.340000,0.560000,0.780000,operational,unlocked,on,001,01"); + + f_ctrl_set(SCCPLITE_IPA_CTRL, "rf_locked", "1"); + f_sleep(2.0); + + f_ctrl_set_bts(IPA_CTRL, bts_nr, "location", "1234888,fix3d,0.350000,0.570000,0.790000"); + f_ctrl_exp_trap(SCCPLITE_IPA_CTRL, "bts." & int2str(bts_nr) & ".location-state", + "1234888,fix3d,0.350000,0.570000,0.790000,operational,locked,off,001,01"); + + /* should match the one from config */ + f_ctrl_set(SCCPLITE_IPA_CTRL, "rf_locked", "0"); + + setverdict(pass); +} + function f_bssap_tx_ud(template PDU_BSSAP bssap) runs on test_CT { BSSAP.send(ts_BSSAP_UNITDATA_req(g_bssap.sccp_addr_peer, g_bssap.sccp_addr_own, bssap)); } @@ -3987,6 +4016,9 @@ execute( TC_ctrl_msc_connection_status() ); execute( TC_ctrl_msc0_connection_status() ); execute( TC_ctrl() ); + if (mp_bssap_cfg.transport == BSSAP_TRANSPORT_SCCPlite_SERVER) { + execute( TC_ctrl_location() ); + } /* RSL DCHAN Channel ACtivation / Deactivation */ execute( TC_chan_act_noreply() ); diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index ff3cce0..d2c474c 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -1,8 +1,9 @@ - + + diff --git a/bsc/regen_makefile.sh b/bsc/regen_makefile.sh index 06fa812..389aaed 100755 --- a/bsc/regen_makefile.sh +++ b/bsc/regen_makefile.sh @@ -4,6 +4,6 @@ FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc SCTPasp_PT.cc RTP_EncDec.cc SDP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc *.c" -export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_MGCP -DIPA_EMULATION_SCCP -DRAN_EMULATION_BSSAP -DRAN_EMULATION_MGCP -DUSE_MTP3_DISTRIBUTOR" +export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_MGCP -DIPA_EMULATION_CTRL -DIPA_EMULATION_SCCP -DRAN_EMULATION_BSSAP -DRAN_EMULATION_MGCP -DRAN_EMULATION_CTRL -DUSE_MTP3_DISTRIBUTOR" ../regen-makefile.sh $MAIN $FILES diff --git a/library/Osmocom_CTRL_Adapter.ttcn b/library/Osmocom_CTRL_Adapter.ttcn index 93e893f..08195c8 100644 --- a/library/Osmocom_CTRL_Adapter.ttcn +++ b/library/Osmocom_CTRL_Adapter.ttcn @@ -61,6 +61,9 @@ function f_ctrl_get_bts(IPA_CTRL_PT pt, integer bts_nr, charstring suffix) return CtrlValue { return f_ctrl_get(pt, "bts." & int2str(bts_nr) & "." & suffix); } +function f_ctrl_set_bts(IPA_CTRL_PT pt, integer bts_nr, charstring suffix, CtrlValue val) { + f_ctrl_set(pt, "bts." & int2str(bts_nr) & "." & suffix, val); +} template charstring ts_bts(integer bts_nr) := "bts." & int2str(bts_nr) & "."; template charstring ts_bts_trx(integer bts_nr, integer trx_nr ) := -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3640f6889e3b6adc3b4601082f948543c64a2fe3 Gerrit-Change-Number: 14407 Gerrit-PatchSet: 5 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 Thu Jun 13 09:39:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:39:15 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/CTRL: Improve and add more helper templates and functions In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14409 ) Change subject: lib/CTRL: Improve and add more helper templates and functions ...................................................................... lib/CTRL: Improve and add more helper templates and functions Change-Id: Icc6ac860ebd6a719f9e0cb5c5345fb4d39a864ce --- M library/Osmocom_CTRL_Functions.ttcn M library/Osmocom_CTRL_Types.ttcn 2 files changed, 75 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/Osmocom_CTRL_Functions.ttcn b/library/Osmocom_CTRL_Functions.ttcn index 94dcb8a..22ed405 100644 --- a/library/Osmocom_CTRL_Functions.ttcn +++ b/library/Osmocom_CTRL_Functions.ttcn @@ -71,10 +71,16 @@ } } + /* send a TRAP */ + function f_ctrl_trap(IPA_CTRL_PT pt, CtrlVariable variable, CtrlValue val) { + pt.send(ts_CtrlMsgTrap(variable, val)); + } + /* Expect a matching TRAP */ function f_ctrl_exp_trap(IPA_CTRL_PT pt, template CtrlVariable variable, - template CtrlValue val := ?) return CtrlValue { - timer T := 2.0; + template CtrlValue val := ?, float timeout_val := 2.0) + return CtrlValue { + timer T := timeout_val; var CtrlMessage rx; T.start; alt { @@ -88,6 +94,29 @@ return rx.trap.val; } + /* Expect a matching SET, optionally answer */ + function f_ctrl_exp_set(IPA_CTRL_PT pt, template CtrlVariable variable, + template CtrlValue val := ?, + template (omit) CtrlValue rsp := omit, + float timeout_val := 2.0) + return CtrlValue { + timer T := timeout_val; + var CtrlMessage rx; + T.start; + alt { + [] pt.receive(tr_CtrlMsgSet(?, variable, val)) -> value rx { + if (ispresent(rsp)) { + pt.send(ts_CtrlMsgSetRepl(rx.cmd.id, valueof(variable), valueof(rsp))); + } + } + [] T.timeout { + setverdict(fail, "Timeout waiting for SET ", variable); + mtc.stop; + } + } + return rx.cmd.val; + } + /* Expect a matching GET result */ function f_ctrl_get_exp(IPA_CTRL_PT pt, CtrlVariable variable, template CtrlValue exp) { var charstring ctrl_resp; diff --git a/library/Osmocom_CTRL_Types.ttcn b/library/Osmocom_CTRL_Types.ttcn index 5c4527e..52be956 100644 --- a/library/Osmocom_CTRL_Types.ttcn +++ b/library/Osmocom_CTRL_Types.ttcn @@ -94,6 +94,50 @@ } } +template CtrlMessage ts_CtrlMsgTrap(CtrlVariable variable, template (omit) CtrlValue val := omit) := { + trap := { + variable := variable, + val := val + } +} + +template CtrlMessage ts_CtrlMsgGetRepl(CtrlId id, CtrlVariable variable, CtrlValue val) := { + resp := { + verb := "GET_REPLY", + id := id, + variable := variable, + val := val + } +}; + +template CtrlMessage ts_CtrlMsgSetRepl(CtrlId id, CtrlVariable variable, CtrlValue val) := { + resp := { + verb := "SET_REPLY", + id := id, + variable := variable, + val := val + } +} + +template CtrlMessage tr_CtrlMsgGet(template CtrlId id, template CtrlVariable variable := ?) := { + cmd := { + verb := "GET", + id := id, + variable := variable, + val := ? + } +} + +template CtrlMessage tr_CtrlMsgSet(template CtrlId id, template CtrlVariable variable := ?, + template CtrlValue val := ?) := { + cmd := { + verb := "SET", + id := id, + variable := variable, + val := val + } +} + template CtrlMessage tr_CtrlMsgGetRepl(template CtrlId id, template CtrlVariable variable := ?) := { resp := { verb := "GET_REPLY", -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icc6ac860ebd6a719f9e0cb5c5345fb4d39a864ce Gerrit-Change-Number: 14409 Gerrit-PatchSet: 4 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 13 09:39:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:39:59 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14418 ) Change subject: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7 Gerrit-Change-Number: 14418 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 13 Jun 2019 09: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 13 09:41:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:41:22 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Makefile: add missing hpl/rtc directory In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14389 ) Change subject: Makefile: add missing hpl/rtc directory ...................................................................... Makefile: add missing hpl/rtc directory Change-Id: I3fed159173467d1da091758fe2a87bef2cd2e3c7 --- M sysmoOCTSIM/gcc/Makefile 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/sysmoOCTSIM/gcc/Makefile b/sysmoOCTSIM/gcc/Makefile index 97c5ec1..01088cc 100644 --- a/sysmoOCTSIM/gcc/Makefile +++ b/sysmoOCTSIM/gcc/Makefile @@ -63,6 +63,7 @@ hpl/pm \ hpl/ramecc \ hpl/sercom \ + hpl/rtc \ hpl/usb \ stdio_redirect \ stdio_redirect/gcc \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14389 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: I3fed159173467d1da091758fe2a87bef2cd2e3c7 Gerrit-Change-Number: 14389 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon 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 13 09:41:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:41:23 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ASF: add related RTC files In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14390 ) Change subject: ASF: add related RTC files ...................................................................... ASF: add related RTC files this add the documentation and (yet unused) RTC definitions so to by in sync with the ASFv4 upstream library Change-Id: If3e24ede24b4e8cc2724a796756a5a2aa81119de --- A sysmoOCTSIM/hal/documentation/calendar.rst A sysmoOCTSIM/hpl/rtc/hpl_rtc_base.h 2 files changed, 124 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/sysmoOCTSIM/hal/documentation/calendar.rst b/sysmoOCTSIM/hal/documentation/calendar.rst new file mode 100644 index 0000000..8a3de6e --- /dev/null +++ b/sysmoOCTSIM/hal/documentation/calendar.rst @@ -0,0 +1,72 @@ +=============================== +The Calendar driver (bare-bone) +=============================== + +The Calendar driver provides means to set and get current date and time. +After enabling, an instance of the driver starts counting time from the base date with +the resolution of one second. The default base date is 00:00:00 1st of January 1970. +Only the base year of the base date can be changed via the driver API. + +The current date and time is kept internally in a relative form as the difference between +current date and time and the base date and time. This means that changing the base year changes +current date. + +The base date and time defines time "zero" or the earliest possible point in time that the calender driver can describe, +this means that current time and alarms can not be set to anything earlier than this time. + +The Calendar driver provides alarm functionality. +An alarm is a software trigger which fires on particular date and time with particular periodicity. +Upon firing the given callback function is called. + +An alarm can be in single-shot mode, firing only once at matching time; or in repeating mode, meaning that it will +reschedule a new alarm automatically based on repeating mode configuration. +In single-shot mode an alarm is removed from the alarm queue before its callback is called. It allows an application to +reuse the memory of expired alarm in the callback. + +An alarm can be triggered on the following events: match on second, minute, hour, day, month or year. +Matching on second means that the alarm is triggered when the value of seconds of the current time is equal to +the alarm's value of seconds. This means repeating alarm with match on seconds is triggered with the period of a minute. +Matching on minute means that the calendars minute and seconds values has to match the alarms, the rest of the date-time +value is ignored. In repeating mode this means a new alarm every hour. +The same logic is applied to match on hour, day, month and year. + +Each instance of the Calendar driver supports infinite amount of software alarms, only limited by the amount of RAM available. + +Features +-------- +* Initialization and de-initialization +* Enabling and disabling +* Date and time operations +* Software alarms + +Applications +------------ +* A source of current date and time for an embedded system. +* Periodical functionality in low-power applications since the driver is designed to use 1Hz clock. +* Periodical function calls in case if it is more convenient to operate with absolute time. + +Dependencies +------------ +* This driver expects a counter to be increased by one every second to count date and time correctly. +* Each instance of the driver requires separate hardware timer. + +Concurrency +----------- +The Calendar driver is an interrupt driven driver.This means that the interrupt that triggers an alarm may occur during +the process of adding or removing an alarm via the driver's API. In such case the interrupt processing is postponed +until the alarm adding or removing is complete. + +The alarm queue is not protected from the access by interrupts not used by the driver. Due to this +it is not recommended to add or remove an alarm from such interrupts: in case if a higher priority interrupt supersedes +the driver's interrupt, adding or removing an alarm may cause unpredictable behavior of the driver. + +Limitations +----------- +* Only years divisible by 4 are deemed a leap year, this gives a correct result between the years 1901 to 2099. +* The driver is designed to work outside of an operating system environment, the software alarm queue is therefore processed in interrupt context which may delay execution of other interrupts. +* If there are a lot of frequently called interrupts with the priority higher than the driver's one, it may cause delay in alarm's triggering. +* Changing the base year or setting current date or time does not shift alarms' date and time accordingly or expires alarms. + +Knows issues and workarounds +---------------------------- +Not applicable diff --git a/sysmoOCTSIM/hpl/rtc/hpl_rtc_base.h b/sysmoOCTSIM/hpl/rtc/hpl_rtc_base.h new file mode 100644 index 0000000..06e3bd7 --- /dev/null +++ b/sysmoOCTSIM/hpl/rtc/hpl_rtc_base.h @@ -0,0 +1,52 @@ +/** + * \file + * + * \brief RTC + * + * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. + * + * \asf_license_start + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip + * software and any derivatives exclusively with Microchip products. + * It is your responsibility to comply with third party license terms applicable + * to your use of third party software (including open source software) that + * may accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, + * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, + * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, + * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE + * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL + * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE + * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE + * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT + * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY + * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, + * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. + * + * \asf_license_stop + */ + +#ifndef _HPL_RTC2_V200_H_INCLUDED +#define _HPL_RTC2_V200_H_INCLUDED + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief Retrieve timer helper functions + * + * \return A pointer to set of timer helper functions + */ +struct _timer_hpl_interface *_rtc_get_timer(void); + +#ifdef __cplusplus +} +#endif +#endif /* _HPL_RTC2_V200_H_INCLUDED */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14390 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: If3e24ede24b4e8cc2724a796756a5a2aa81119de Gerrit-Change-Number: 14390 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon 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 13 09:41:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:41:33 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ASF: update e54 library In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14391 ) Change subject: ASF: update e54 library ...................................................................... Patch Set 1: In order to fix the build verification, I must make the cross-compiled libosmocore availble on the build slaves. Meanwhile, I'll do a manual test run and override the "verified -1" -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14391 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: Ib9017744644357ba9ec99eddbcc89d7f95068c34 Gerrit-Change-Number: 14391 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 09:41:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 09:42:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:42:15 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ASF: update e54 library In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14391 ) Change subject: ASF: update e54 library ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14391 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: Ib9017744644357ba9ec99eddbcc89d7f95068c34 Gerrit-Change-Number: 14391 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 09:42:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 09:42:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:42:26 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ASF: update E54 SERCOM library In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14392 ) Change subject: ASF: update E54 SERCOM library ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14392 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: Iabeb2b94d51743a0347ea81fef8fa6236d8b12c0 Gerrit-Change-Number: 14392 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 09:42: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 13 09:42:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 09:42:39 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ASF: minor, update copyright In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14393 ) Change subject: ASF: minor, update copyright ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14393 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: Ic90e692815b30921bc8750c240ba0a5d3f4ccc70 Gerrit-Change-Number: 14393 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 09: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 Thu Jun 13 09:46:05 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 13 Jun 2019 09:46:05 +0000 Subject: Change in ...docker-playground[master]: jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/docker-playground/+/14433 ) Change subject: jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms ...................................................................... jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms When fixing the permissions at the end of a test run, it really doesn't matter if we're running a current debian-stretch-build image, or if we are using an ancient one. All we need is a 'chmod' binary. Change-Id: Ib008ee72f40aeefb307c0ba74a57b70daae9d07b Related: OS#4060 --- M jenkins-common.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/33/14433/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib008ee72f40aeefb307c0ba74a57b70daae9d07b Gerrit-Change-Number: 14433 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Assignee: osmith 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 Thu Jun 13 09:46:42 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 13 Jun 2019 09:46:42 +0000 Subject: Change in ...docker-playground[master]: jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#3) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/docker-playground/+/14433 ) Change subject: jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms ...................................................................... jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms When fixing the permissions at the end of a test run, it really doesn't matter if we're running a current debian-stretch-build image, or if we are using an ancient one. All we need is a 'chmod' binary. Change-Id: Ib008ee72f40aeefb307c0ba74a57b70daae9d07b Related: OS#4060 --- M jenkins-common.sh 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/33/14433/3 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib008ee72f40aeefb307c0ba74a57b70daae9d07b Gerrit-Change-Number: 14433 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: osmith 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 Thu Jun 13 09:47:33 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 13 Jun 2019 09:47:33 +0000 Subject: Change in ...docker-playground[master]: jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14433 ) Change subject: jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib008ee72f40aeefb307c0ba74a57b70daae9d07b Gerrit-Change-Number: 14433 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 13 Jun 2019 09:47: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 13 09:48:30 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 13 Jun 2019 09:48:30 +0000 Subject: Change in ...docker-playground[master]: jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14433 ) Change subject: jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/14433/1/jenkins-common.sh File jenkins-common.sh: https://gerrit.osmocom.org/#/c/14433/1/jenkins-common.sh at 43 PS1, Line 43: NO_DOCKER_IMAGE_BUILD=1 docker_images_require debian-stretch-build > please feel free to take this over , test it locally and re-submit. [?] Done -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib008ee72f40aeefb307c0ba74a57b70daae9d07b Gerrit-Change-Number: 14433 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 09:48:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 11:45:51 2019 From: gerrit-no-reply at lists.osmocom.org (=?UTF-8?Q?K=C3=A9vin_Redon?=) Date: Thu, 13 Jun 2019 11:45:51 +0000 Subject: Change in ...libosmocore[master]: minor: don't redefine macros Message-ID: K?vin Redon has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14434 Change subject: minor: don't redefine macros ...................................................................... minor: don't redefine macros the DEBUG macro name and ARRAY_SIZE macro function are frequently used in other projects. If these projects also use libosmocore, the macros will be redefined. This also generates a warning message during compilation. Not redefining the macros removes the warning message and possible (but unlikely) mis-redefinition. Change-Id: I0ba91eae8eacc5542d1647601b372e417ed1713c --- M include/osmocom/core/logging.h M include/osmocom/core/utils.h 2 files changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/34/14434/1 diff --git a/include/osmocom/core/logging.h b/include/osmocom/core/logging.h index 295e5a8..803b4a9 100644 --- a/include/osmocom/core/logging.h +++ b/include/osmocom/core/logging.h @@ -16,7 +16,9 @@ /*! Maximum number of logging filters */ #define LOG_MAX_FILTERS 8 +#ifndef DEBUG #define DEBUG +#endif #ifdef DEBUG /*! Log a debug message through the Osmocom logging framework diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h index f27359c..8cf4afb 100644 --- a/include/osmocom/core/utils.h +++ b/include/osmocom/core/utils.h @@ -14,7 +14,9 @@ * \file utils.h */ /*! Determine number of elements in an array of static size */ +#ifndef ARRAY_SIZE #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) +#endif /*! Return the maximum of two specified values */ #define OSMO_MAX(a, b) ((a) >= (b) ? (a) : (b)) /*! Return the minimum of two specified values */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0ba91eae8eacc5542d1647601b372e417ed1713c Gerrit-Change-Number: 14434 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 13:10:14 2019 From: gerrit-no-reply at lists.osmocom.org (=?UTF-8?Q?K=C3=A9vin_Redon?=) Date: Thu, 13 Jun 2019 13:10:14 +0000 Subject: Change in ...osmo-ccid-firmware[master]: CCID (minor): remove unused variables Message-ID: K?vin Redon has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14435 Change subject: CCID (minor): remove unused variables ...................................................................... CCID (minor): remove unused variables Change-Id: Iaf5e13574c27a6f4b8efa541ac908dde452d1dcf --- M ccid/ccid_device.c 1 file changed, 3 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/35/14435/1 diff --git a/ccid/ccid_device.c b/ccid/ccid_device.c index 346f77d..da2d7bb 100644 --- a/ccid/ccid_device.c +++ b/ccid/ccid_device.c @@ -397,7 +397,6 @@ static int ccid_handle_get_slot_status(struct ccid_slot *cs, struct msgb *msg) { const union ccid_pc_to_rdr *u = msgb_ccid_out(msg); - const struct ccid_header *ch = (const struct ccid_header *) u; uint8_t seq = u->get_slot_status.hdr.bSeq; struct msgb *resp; @@ -411,7 +410,6 @@ static int ccid_handle_icc_power_on(struct ccid_slot *cs, struct msgb *msg) { const union ccid_pc_to_rdr *u = msgb_ccid_out(msg); - const struct ccid_header *ch = (const struct ccid_header *) u; /* handle this asynchronously */ cs->ci->slot_ops->icc_power_on_async(cs, msg, &u->icc_power_on); @@ -422,7 +420,6 @@ static int ccid_handle_icc_power_off(struct ccid_slot *cs, struct msgb *msg) { const union ccid_pc_to_rdr *u = msgb_ccid_out(msg); - const struct ccid_header *ch = (const struct ccid_header *) u; uint8_t seq = u->icc_power_off.hdr.bSeq; struct msgb *resp; @@ -435,7 +432,6 @@ static int ccid_handle_xfr_block(struct ccid_slot *cs, struct msgb *msg) { const union ccid_pc_to_rdr *u = msgb_ccid_out(msg); - const struct ccid_header *ch = (const struct ccid_header *) u; /* handle this asynchronously */ cs->ci->slot_ops->xfr_block_async(cs, msg, &u->xfr_block); @@ -446,7 +442,6 @@ static int ccid_handle_get_parameters(struct ccid_slot *cs, struct msgb *msg) { const union ccid_pc_to_rdr *u = msgb_ccid_out(msg); - const struct ccid_header *ch = (const struct ccid_header *) u; uint8_t seq = u->get_parameters.hdr.bSeq; struct msgb *resp; @@ -459,7 +454,6 @@ static int ccid_handle_reset_parameters(struct ccid_slot *cs, struct msgb *msg) { const union ccid_pc_to_rdr *u = msgb_ccid_out(msg); - const struct ccid_header *ch = (const struct ccid_header *) u; uint8_t seq = u->reset_parameters.hdr.bSeq; struct msgb *resp; @@ -477,7 +471,6 @@ { const union ccid_pc_to_rdr *u = msgb_ccid_out(msg); const struct ccid_pc_to_rdr_set_parameters *spar = &u->set_parameters; - const struct ccid_header *ch = (const struct ccid_header *) u; uint8_t seq = u->set_parameters.hdr.bSeq; struct ccid_pars_decoded pars_dec; struct msgb *resp; @@ -518,7 +511,6 @@ static int ccid_handle_escape(struct ccid_slot *cs, struct msgb *msg) { const union ccid_pc_to_rdr *u = msgb_ccid_out(msg); - const struct ccid_header *ch = (const struct ccid_header *) u; uint8_t seq = u->escape.hdr.bSeq; struct msgb *resp; @@ -530,7 +522,6 @@ static int ccid_handle_icc_clock(struct ccid_slot *cs, struct msgb *msg) { const union ccid_pc_to_rdr *u = msgb_ccid_out(msg); - const struct ccid_header *ch = (const struct ccid_header *) u; uint8_t seq = u->icc_clock.hdr.bSeq; struct msgb *resp; @@ -543,7 +534,6 @@ static int ccid_handle_t0apdu(struct ccid_slot *cs, struct msgb *msg) { const union ccid_pc_to_rdr *u = msgb_ccid_out(msg); - const struct ccid_header *ch = (const struct ccid_header *) u; uint8_t seq = u->t0apdu.hdr.bSeq; struct msgb *resp; @@ -557,7 +547,6 @@ static int ccid_handle_secure(struct ccid_slot *cs, struct msgb *msg) { const union ccid_pc_to_rdr *u = msgb_ccid_out(msg); - const struct ccid_header *ch = (const struct ccid_header *) u; uint8_t seq = u->secure.hdr.bSeq; struct msgb *resp; @@ -570,7 +559,6 @@ static int ccid_handle_mechanical(struct ccid_slot *cs, struct msgb *msg) { const union ccid_pc_to_rdr *u = msgb_ccid_out(msg); - const struct ccid_header *ch = (const struct ccid_header *) u; uint8_t seq = u->mechanical.hdr.bSeq; struct msgb *resp; @@ -582,7 +570,6 @@ static int ccid_handle_abort(struct ccid_slot *cs, struct msgb *msg) { const union ccid_pc_to_rdr *u = msgb_ccid_out(msg); - const struct ccid_header *ch = (const struct ccid_header *) u; uint8_t seq = u->abort.hdr.bSeq; struct msgb *resp; @@ -611,7 +598,6 @@ static int ccid_handle_set_rate_and_clock(struct ccid_slot *cs, struct msgb *msg) { const union ccid_pc_to_rdr *u = msgb_ccid_out(msg); - const struct ccid_header *ch = (const struct ccid_header *) u; uint8_t seq = u->set_rate_and_clock.hdr.bSeq; uint32_t freq_hz = osmo_load32le(&u->set_rate_and_clock.dwClockFrequency); uint32_t rate_bps = osmo_load32le(&u->set_rate_and_clock.dwDataRate); @@ -772,13 +758,13 @@ { uint16_t w_value = osmo_load16le(&req->wValue); uint8_t slot_nr = w_value & 0xff; - uint8_t seq = w_value >> 8; - struct ccid_slot *cs; + /* uint8_t seq = w_value >> 8; */ + /* struct ccid_slot *cs; */ if (slot_nr >= ARRAY_SIZE(ci->slot)) return CCID_CTRL_RET_INVALID; - cs = &ci->slot[slot_nr]; + /* cs = &ci->slot[slot_nr]; */ LOGP(DCCID, LOGL_NOTICE, "Not handling PC_to_RDR_Abort; please implement it\n"); /* Upon receiving the Control pipe ABORT request the CCID should check -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14435 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: Iaf5e13574c27a6f4b8efa541ac908dde452d1dcf Gerrit-Change-Number: 14435 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 13:10:58 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 13 Jun 2019 13:10:58 +0000 Subject: Change in ...osmo-hlr[master]: hlr.c: abort LU without MSISDN In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14423 ) Change subject: hlr.c: abort LU without MSISDN ...................................................................... Patch Set 1: Setting to WIP, because Harald said, that the LU should only abort with CS if there is no MSISDN. -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: If1b2f3c9ddfba55bd02510f2dfd481bca2602e3a Gerrit-Change-Number: 14423 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 13:10: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 13 13:20:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 13:20:26 +0000 Subject: Change in ...libosmocore[master]: logging: Use reentrant ctime_r instead of ctime In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14429 ) Change subject: logging: Use reentrant ctime_r instead of ctime ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14429/2/src/logging.c File src/logging.c: https://gerrit.osmocom.org/#/c/14429/2/src/logging.c at 370 PS2, Line 370: snprintf > Hmm, I think I see a possible optimization: [?] Reminder: You are getting rid of a space there. I'll adapt it and re-submit. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I19ebf29a2f1fc855bb7d56766b338c7c3432dfd1 Gerrit-Change-Number: 14429 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 13:20:26 +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 13 13:34:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 13:34:15 +0000 Subject: Change in ...libosmocore[master]: logging: Check return error from time() call In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/14432 to look at the new patch set (#2). Change subject: logging: Check return error from time() call ...................................................................... logging: Check return error from time() call Related: OS#4055 Change-Id: Ief155a76169426a677256e09d3e91751c4e2529f --- M src/logging.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/32/14432/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief155a76169426a677256e09d3e91751c4e2529f Gerrit-Change-Number: 14432 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 13:34:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 13:34:15 +0000 Subject: Change in ...libosmocore[master]: logging: Use reentrant ctime_r instead of ctime In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/14429 to look at the new patch set (#3). Change subject: logging: Use reentrant ctime_r instead of ctime ...................................................................... logging: Use reentrant ctime_r instead of ctime It was noticed that multithreaded processes like osmo-trx can crash upon using ctime(). Related: OS#4055 Change-Id: I19ebf29a2f1fc855bb7d56766b338c7c3432dfd1 --- M src/logging.c 1 file changed, 8 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/29/14429/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I19ebf29a2f1fc855bb7d56766b338c7c3432dfd1 Gerrit-Change-Number: 14429 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 13:40:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 13:40:24 +0000 Subject: Change in ...libosmocore[master]: logging: Use reentrant ctime_r instead of ctime In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14429 ) Change subject: logging: Use reentrant ctime_r instead of ctime ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I19ebf29a2f1fc855bb7d56766b338c7c3432dfd1 Gerrit-Change-Number: 14429 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 13:40:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 13:40:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 13:40:37 +0000 Subject: Change in ...libosmocore[master]: logging: Check return error from time() call In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14432 ) Change subject: logging: Check return error from time() call ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief155a76169426a677256e09d3e91751c4e2529f Gerrit-Change-Number: 14432 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 13:40: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 13 13:41:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 13:41:39 +0000 Subject: Change in ...osmo-hlr[master]: hlr.c: abort LU without MSISDN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14423 ) Change subject: hlr.c: abort LU without MSISDN ...................................................................... Patch Set 1: > Setting to WIP, because Harald said, that the LU should only abort > with CS if there is no MSISDN. I said (or meant to say) "If at all, we shall only refuse LU for CS". So even for CS I'm not sure... -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: If1b2f3c9ddfba55bd02510f2dfd481bca2602e3a Gerrit-Change-Number: 14423 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 13:41: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 13 13:46:54 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 13 Jun 2019 13:46:54 +0000 Subject: Change in ...osmo-hlr[master]: hlr.c: abort LU without MSISDN In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14423 ) Change subject: hlr.c: abort LU without MSISDN ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: If1b2f3c9ddfba55bd02510f2dfd481bca2602e3a Gerrit-Change-Number: 14423 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 13:48:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 13:48:00 +0000 Subject: Change in ...osmo-hlr[master]: hlr.c: abort LU without MSISDN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14423 ) Change subject: hlr.c: abort LU without MSISDN ...................................................................... Patch Set 1: 3GPP TS 23.003: One or more numbers of the ISDN numbering plan shall be assigned to a mobile station to be used for all calls to that station, i.e. the assignment of at least one MSISDN to a mobile station is mandatory. As an exception, GPRS and EPS allow for operation whereby a MSISDN is not allocated as part of the subscription data (see 3GPP TS 23.060 [3] subclause 5.3.17 and 3GPP TS 23.401 [72]). In practise, as Daniel points out, many GPRS modems will however refuse to register on GPRS if the LU on GSM (CS) fails. So In the end, I think we should permit both CS and PS LU for subscribers without MSISDN. In LTE/IMS, there is even support for SMS without MSISDN. However, that doesn't apply to GERAN/UTRAN. -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: If1b2f3c9ddfba55bd02510f2dfd481bca2602e3a Gerrit-Change-Number: 14423 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 13:48: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 Thu Jun 13 13:49:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 13:49:00 +0000 Subject: Change in ...libosmocore[master]: minor: don't redefine macros In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14434 ) Change subject: minor: don't redefine macros ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0ba91eae8eacc5542d1647601b372e417ed1713c Gerrit-Change-Number: 14434 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 13:49: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 13 13:49:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 13:49:27 +0000 Subject: Change in ...libosmocore[master]: fix isdigit taking unsigned as input In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14149 ) Change subject: fix isdigit taking unsigned as input ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14149 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia13fd5ee79fc6dc3291c0b99958ab3c01afee17d Gerrit-Change-Number: 14149 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 13 Jun 2019 13:49:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 13:49:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 13:49:31 +0000 Subject: Change in ...libosmocore[master]: fix isdigit taking unsigned as input In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14149 ) Change subject: fix isdigit taking unsigned as input ...................................................................... fix isdigit taking unsigned as input fixes the following error warnings when cross-compiling using: ./configure --enable-static --prefix=/usr/local/arm-none-eabi --host=arm-none-eabi --enable-embedded --disable-doxygen --disable-shared --disable-pseudotalloc --enable-external-tests CFLAGS="-Os -ffunction-sections -fdata-sections -nostartfiles -nodefaultlibs -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations -Wno-error=cpp -mthumb -Os -mlong-calls -g3 -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -Wno-error=format" utils.c:1002:18: error: array subscript has type 'char' [-Werror=char-subscripts] 1002 | if (!isdigit(in[i])) gsm23003.c:414:34: error: array subscript has type 'char' [-Werror=char-subscripts] 414 | if (!mnc_str || !isdigit(mnc_str[0]) || strlen(mnc_str) > 3) Change-Id: Ia13fd5ee79fc6dc3291c0b99958ab3c01afee17d --- M src/gsm/gsm23003.c M src/utils.c 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gsm/gsm23003.c b/src/gsm/gsm23003.c index 4cc2671..e20afcb 100644 --- a/src/gsm/gsm23003.c +++ b/src/gsm/gsm23003.c @@ -411,7 +411,7 @@ char *endptr; int rc = 0; - if (!mnc_str || !isdigit(mnc_str[0]) || strlen(mnc_str) > 3) + if (!mnc_str || !isdigit((unsigned char)mnc_str[0]) || strlen(mnc_str) > 3) return -EINVAL; errno = 0; diff --git a/src/utils.c b/src/utils.c index 7b7178c..7364bfb 100644 --- a/src/utils.c +++ b/src/utils.c @@ -999,7 +999,7 @@ /* All input must be numbers */ for (i = 0; i < in_len; i++) { - if (!isdigit(in[i])) + if (!isdigit((unsigned char)in[i])) return -EINVAL; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14149 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia13fd5ee79fc6dc3291c0b99958ab3c01afee17d Gerrit-Change-Number: 14149 Gerrit-PatchSet: 2 Gerrit-Owner: K?vin Redon Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 13:49:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 13:49:31 +0000 Subject: Change in ...libosmocore[master]: minor: don't redefine macros In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14434 ) Change subject: minor: don't redefine macros ...................................................................... minor: don't redefine macros the DEBUG macro name and ARRAY_SIZE macro function are frequently used in other projects. If these projects also use libosmocore, the macros will be redefined. This also generates a warning message during compilation. Not redefining the macros removes the warning message and possible (but unlikely) mis-redefinition. Change-Id: I0ba91eae8eacc5542d1647601b372e417ed1713c --- M include/osmocom/core/logging.h M include/osmocom/core/utils.h 2 files changed, 4 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/core/logging.h b/include/osmocom/core/logging.h index 295e5a8..803b4a9 100644 --- a/include/osmocom/core/logging.h +++ b/include/osmocom/core/logging.h @@ -16,7 +16,9 @@ /*! Maximum number of logging filters */ #define LOG_MAX_FILTERS 8 +#ifndef DEBUG #define DEBUG +#endif #ifdef DEBUG /*! Log a debug message through the Osmocom logging framework diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h index f429ba6..0673444 100644 --- a/include/osmocom/core/utils.h +++ b/include/osmocom/core/utils.h @@ -14,7 +14,9 @@ * \file utils.h */ /*! Determine number of elements in an array of static size */ +#ifndef ARRAY_SIZE #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) +#endif /*! Return the maximum of two specified values */ #define OSMO_MAX(a, b) ((a) >= (b) ? (a) : (b)) /*! Return the minimum of two specified values */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0ba91eae8eacc5542d1647601b372e417ed1713c Gerrit-Change-Number: 14434 Gerrit-PatchSet: 2 Gerrit-Owner: K?vin Redon 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 13 13:49:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 13:49:55 +0000 Subject: Change in ...docker-playground[master]: jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14433 ) Change subject: jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib008ee72f40aeefb307c0ba74a57b70daae9d07b Gerrit-Change-Number: 14433 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 13:49: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 13 13:49:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 13:49:57 +0000 Subject: Change in ...docker-playground[master]: jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/14433 ) Change subject: jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms ...................................................................... jenkins-common.sh: Don't rebuild debian-stretch-build during fix_perms When fixing the permissions at the end of a test run, it really doesn't matter if we're running a current debian-stretch-build image, or if we are using an ancient one. All we need is a 'chmod' binary. Change-Id: Ib008ee72f40aeefb307c0ba74a57b70daae9d07b Related: OS#4060 --- M jenkins-common.sh 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: osmith: Verified laforge: Looks good to me, approved diff --git a/jenkins-common.sh b/jenkins-common.sh index a703a05..25ae26f 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -40,7 +40,10 @@ } fix_perms() { - docker_images_require debian-stretch-build + if ! docker_image_exists "debian-stretch-build"; then + docker_images_require "debian-stretch-build" + fi + echo Fixing permissions docker run --rm \ -v $VOL_BASE_DIR:/data \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib008ee72f40aeefb307c0ba74a57b70daae9d07b Gerrit-Change-Number: 14433 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 14:13:56 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 13 Jun 2019 14:13:56 +0000 Subject: Change in ...libosmocore[master]: logging: Use reentrant ctime_r instead of ctime In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14429 ) Change subject: logging: Use reentrant ctime_r instead of ctime ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/14429/3/src/logging.c File src/logging.c: https://gerrit.osmocom.org/#/c/14429/3/src/logging.c at 372 PS3, Line 372: We want a space instead Oh, makes sense of course! I forgot that we need a space. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I19ebf29a2f1fc855bb7d56766b338c7c3432dfd1 Gerrit-Change-Number: 14429 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 14:13:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 14:23:36 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 14:23:36 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Get rid of big indentation block In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/14430 to look at the new patch set (#2). Change subject: vty: command.c: Get rid of big indentation block ...................................................................... vty: command.c: Get rid of big indentation block This block will become bigger in forthcoming commits. Check against MAX argc is changed to == since it cannot be incremented twice without passing the check. Change-Id: Ibc1494014b1e77ce10950f7268a44d2d2091a6f2 --- M src/vty/command.c 1 file changed, 40 insertions(+), 34 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/30/14430/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibc1494014b1e77ce10950f7268a44d2d2091a6f2 Gerrit-Change-Number: 14430 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 14:23:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 14:23:39 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Fix: multi-choice args are no longer passed incomplet... Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14436 Change subject: vty: command.c: Fix: multi-choice args are no longer passed incomplete to vty func ...................................................................... vty: command.c: Fix: multi-choice args are no longer passed incomplete to vty func For instance, take command "multi0 (one|two|three)": If user executes "multi0 tw", VTY func will receive argv[0]="two" instead of argv[0]="tw". Fixes: OS#4045 Change-Id: I91b6621ac3d87fda5412a9b415e7bfb4736c8a9a --- M src/vty/command.c M tests/tdef/tdef_vty_test_config_root.vty M tests/vty/vty_transcript_test.vty 3 files changed, 83 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/36/14436/1 diff --git a/src/vty/command.c b/src/vty/command.c index b4afd35..6e8bc5b 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2217,7 +2217,7 @@ cmd_execute_command_real(vector vline, struct vty *vty, struct cmd_element **cmd) { - unsigned int i; + unsigned int i, j; unsigned int index; vector cmd_vector; struct cmd_element *cmd_element; @@ -2228,6 +2228,10 @@ enum match_type match = 0; int varflag; char *command; + int rc; + /* Used for temporary storage of cmd_deopt() allocated arguments during + argv[] generation */ + void *cmd_deopt_ctx = NULL; /* Make copy of command elements. */ cmd_vector = vector_copy(cmd_node_vector(cmdvec, vty->node)); @@ -2293,11 +2297,15 @@ varflag = 0; argc = 0; + cmd_deopt_ctx = talloc_named_const(tall_vty_cmd_ctx, 0, __func__); + for (i = 0; i < vector_active(vline); i++) { if (varflag) { argv[argc++] = vector_slot(vline, i); - if (argc == CMD_ARGC_MAX) - return CMD_ERR_EXEED_ARGC_MAX; + if (argc == CMD_ARGC_MAX) { + rc = CMD_ERR_EXEED_ARGC_MAX; + goto rc_free_deopt_ctx; + } continue; } @@ -2313,11 +2321,38 @@ || CMD_OPTION(desc->cmd)) argv[argc++] = vector_slot(vline, i); } else { - argv[argc++] = vector_slot(vline, i); + /* multi choice argument. look up which choice + the user meant (can only be one after + filtering and checking for ambigous). For instance, + if user typed "th" for "(two|three)" arg, we + want to pass "three" in argv[]. */ + for (j = 0; j < vector_active(descvec); j++) { + struct desc *desc = vector_slot(descvec, j); + const char *tmp_cmd; + if (!desc) + continue; + if (cmd_match(desc->cmd, vector_slot(vline, i), ANY_MATCH, true) == NO_MATCH) + continue; + if (CMD_OPTION(desc->cmd)) { + /* we need to first remove the [] chars, then check to see what's inside (var or token) */ + tmp_cmd = cmd_deopt(cmd_deopt_ctx, desc->cmd); + } else { + tmp_cmd = desc->cmd; + } + + if(CMD_VARIABLE(tmp_cmd)) { + argv[argc++] = vector_slot(vline, i); + } else { + argv[argc++] = tmp_cmd; + } + break; + } } - if (argc == CMD_ARGC_MAX) - return CMD_ERR_EXEED_ARGC_MAX; + if (argc == CMD_ARGC_MAX){ + rc = CMD_ERR_EXEED_ARGC_MAX; + goto rc_free_deopt_ctx; + } } /* For vtysh execution. */ @@ -2325,10 +2360,14 @@ *cmd = matched_element; if (matched_element->daemon) - return CMD_SUCCESS_DAEMON; + rc = CMD_SUCCESS_DAEMON; + else /* Execute matched command. */ + rc = (*matched_element->func) (matched_element, vty, argc, argv); - /* Execute matched command. */ - return (*matched_element->func) (matched_element, vty, argc, argv); +rc_free_deopt_ctx: + /* Now after we called the command func, we can free temporary strings */ + talloc_free(cmd_deopt_ctx); + return rc; } int diff --git a/tests/tdef/tdef_vty_test_config_root.vty b/tests/tdef/tdef_vty_test_config_root.vty index 8613ff3..3ff3f37 100644 --- a/tests/tdef/tdef_vty_test_config_root.vty +++ b/tests/tdef/tdef_vty_test_config_root.vty @@ -163,7 +163,6 @@ tdef_vty_test(config)# timer test T2 100 tdef_vty_test(config)# timer tes T2 100 -% Error: no timers found tdef_vty_test(config)# timer te T2 100 % Ambiguous command. @@ -219,7 +218,6 @@ software: T3 = 480 m Fix bugs (default: 480 m) tdef_vty_test(config)# timer softw T3 23 -% Error: no timers found tdef_vty_test(config)# timer tea: T1 = 50 s Water Boiling Timeout (default: 50 s) @@ -234,7 +232,7 @@ test: X23 = 239471 s Negative T number (default: 239471 s) software: T1 = 13 m Write code (default: 30 m) software: T2 = 0 ms Hit segfault (default: 20 ms) -software: T3 = 480 m Fix bugs (default: 480 m) +software: T3 = 23 m Fix bugs (default: 480 m) tdef_vty_test(config)# do show timer tea: T1 = 50 s Water Boiling Timeout (default: 50 s) @@ -249,24 +247,45 @@ test: X23 = 239471 s Negative T number (default: 239471 s) software: T1 = 13 m Write code (default: 30 m) software: T2 = 0 ms Hit segfault (default: 20 ms) -software: T3 = 480 m Fix bugs (default: 480 m) +software: T3 = 23 m Fix bugs (default: 480 m) tdef_vty_test(config)# show running-config -... !timer + +Current configuration: +! +! +line vty + no login +! timer tea T3 32 timer software T1 13 timer software T2 0 -... !timer +timer software T3 23 +end tdef_vty_test(config)# timer tea T3 default tdef_vty_test(config)# timer software T1 default tdef_vty_test(config)# show running-config -... !timer + +Current configuration: +! +! +line vty + no login +! timer software T2 0 -... !timer +timer software T3 23 +end tdef_vty_test(config)# timer softw 2 default -% Error: no timers found tdef_vty_test(config)# timer software 2 default tdef_vty_test(config)# show running-config -... !timer + +Current configuration: +! +! +line vty + no login +! +timer software T3 23 +end diff --git a/tests/vty/vty_transcript_test.vty b/tests/vty/vty_transcript_test.vty index 1557744..f2dbacb 100644 --- a/tests/vty/vty_transcript_test.vty +++ b/tests/vty/vty_transcript_test.vty @@ -16,13 +16,13 @@ ok argc=1 two vty_transcript_test> multi0 o -ok argc=1 o +ok argc=1 one vty_transcript_test> multi0 t % Ambiguous command. vty_transcript_test> multi0 th -ok argc=1 th +ok argc=1 three vty_transcript_test> multi0 % Command incomplete. @@ -39,13 +39,13 @@ ok argc=1 two vty_transcript_test> multi1 o -ok argc=1 o +ok argc=1 one vty_transcript_test> multi1 t % Ambiguous command. vty_transcript_test> multi1 th -ok argc=1 th +ok argc=1 three vty_transcript_test> multi1 ok argc=0 @@ -68,10 +68,10 @@ ok argc=0 vty_transcript_test> multi0 thr -ok argc=1 thr +ok argc=1 three vty_transcript_test> multi1 on -ok argc=1 on +ok argc=1 one vty_transcript_test> multi2 t % Ambiguous command. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I91b6621ac3d87fda5412a9b415e7bfb4736c8a9a Gerrit-Change-Number: 14436 Gerrit-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 13 14:23:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 14:23:39 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Fix: single-choice optional args are no longer passed... Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14437 Change subject: vty: command.c: Fix: single-choice optional args are no longer passed incomplete to vty func ...................................................................... vty: command.c: Fix: single-choice optional args are no longer passed incomplete to vty func For instance, take command "single0 [one]": If user executes "single0 on", VTY func will receive argv[0]="one" instead of argv[0]="on". Related: OS#4045 Change-Id: I5f4e2d16c62a2d22717989c6acc77450957168cb --- M src/vty/command.c M tests/vty/vty_transcript_test.vty 2 files changed, 15 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/37/14437/1 diff --git a/src/vty/command.c b/src/vty/command.c index 6e8bc5b..9e2a4b8 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2310,16 +2310,26 @@ } vector descvec = vector_slot(matched_element->strvec, i); + const char *tmp_cmd; if (vector_active(descvec) == 1) { + /* Single coice argument, no "(...|...)". */ struct desc *desc = vector_slot(descvec, 0); - if (CMD_VARARG(desc->cmd)) - varflag = 1; + if (CMD_OPTION(desc->cmd)) { + /* we need to first remove the [] chars, then check to see what's inside (var or token) */ + tmp_cmd = cmd_deopt(cmd_deopt_ctx, desc->cmd); + } else { + tmp_cmd = desc->cmd; + } - if (varflag || CMD_VARIABLE(desc->cmd) - || CMD_OPTION(desc->cmd)) + if (CMD_VARARG(tmp_cmd)) + varflag = 1; + if (varflag || CMD_VARIABLE(tmp_cmd)) argv[argc++] = vector_slot(vline, i); + else if (CMD_OPTION(desc->cmd)) + argv[argc++] = tmp_cmd; + /* else : we don't want to add non-opt single-choice static args in argv[] */ } else { /* multi choice argument. look up which choice the user meant (can only be one after @@ -2328,7 +2338,6 @@ want to pass "three" in argv[]. */ for (j = 0; j < vector_active(descvec); j++) { struct desc *desc = vector_slot(descvec, j); - const char *tmp_cmd; if (!desc) continue; if (cmd_match(desc->cmd, vector_slot(vline, i), ANY_MATCH, true) == NO_MATCH) diff --git a/tests/vty/vty_transcript_test.vty b/tests/vty/vty_transcript_test.vty index f2dbacb..db58830 100644 --- a/tests/vty/vty_transcript_test.vty +++ b/tests/vty/vty_transcript_test.vty @@ -80,7 +80,7 @@ ok argc=1 one vty_transcript_test> single0 on -ok argc=1 on +ok argc=1 one vty_transcript_test> single0 ok argc=0 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5f4e2d16c62a2d22717989c6acc77450957168cb Gerrit-Change-Number: 14437 Gerrit-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 13 14:33:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 14:33:24 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Move generic code to wait for test into its own function In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14410 ) Change subject: bscnat: Move generic code to wait for test into its own function ...................................................................... bscnat: Move generic code to wait for test into its own function Change-Id: Ia95ec02d7ca631e037abfbcfc7881b57e37aef5b --- M bsc-nat/BSCNAT_Tests.ttcn 1 file changed, 10 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc-nat/BSCNAT_Tests.ttcn b/bsc-nat/BSCNAT_Tests.ttcn index 2fab4a3..6b0c757 100644 --- a/bsc-nat/BSCNAT_Tests.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -163,12 +163,8 @@ } -function f_TC_recv_dump(boolean use_osmux := false) runs on test_CT { +function f_wait_finish(timer T) runs on test_CT { var integer i; - timer T := 30.0; - - f_init(use_osmux); - alt { /* wait for BSC to stop. The idea is that the BSC components terminate first */ [] bsc[0].BSC.done { } @@ -182,6 +178,15 @@ } } + +function f_TC_recv_dump(boolean use_osmux := false) runs on test_CT { + timer T := 30.0; + + f_init(use_osmux); + + f_wait_finish(T); +} + testcase TC_recv_dump() runs on test_CT { f_TC_recv_dump(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia95ec02d7ca631e037abfbcfc7881b57e37aef5b Gerrit-Change-Number: 14410 Gerrit-PatchSet: 4 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 13 14:33:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 14:33:24 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Refactor BSC_MS side code to allow different actions per test In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14411 ) Change subject: bscnat: Refactor BSC_MS side code to allow different actions per test ...................................................................... bscnat: Refactor BSC_MS side code to allow different actions per test Each test can now plug in different actions to be done by the emulated BSC_MS, by passing a function to f_init(). Old hardcoded behaviour (main()) is renamed and used in already existing tests. Change-Id: Ic82ca333267535c5859e6439deacbf3b1d1fe391 --- M bsc-nat/BSCNAT_Tests.ttcn M bsc-nat/BSC_MS_ConnectionHandler.ttcn M bsc-nat/BSC_MS_Simulation.ttcn 3 files changed, 54 insertions(+), 28 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc-nat/BSCNAT_Tests.ttcn b/bsc-nat/BSCNAT_Tests.ttcn index 6b0c757..fda065a 100644 --- a/bsc-nat/BSCNAT_Tests.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -25,6 +25,7 @@ import from MSC_Simulation all; import from BSC_MS_Simulation all; +import from BSC_MS_ConnectionHandler all; import from Osmocom_VTY_Functions all; import from TELNETasp_PortType all; @@ -135,7 +136,7 @@ f_vty_transceive(BSCNATVTY, "enable"); } -function f_init(boolean use_osmux) runs on test_CT { +function f_init(void_fn_bsc_ms fn_bsc_ms, boolean use_osmux) runs on test_CT { var integer i; var charstring id; @@ -156,9 +157,12 @@ f_init_BscState(bsc[i], mp_bsc_pc +i, mp_msc_pc, mp_bsc_ssn, mp_msc_ssn); id := "BSC" & int2str(i); bsc[i].BSC := BSC_CT.create(id); + var BSC_MS_TestHdlrParams pars; + pars.sccp_addr_own := bsc[i].sccp_addr_own; + pars.sccp_addr_remote := bsc[i].sccp_addr_peer; + pars.use_osmux := use_osmux; bsc[i].BSC.start(BSC_MS_Simulation.main(mp_nat_ip, mp_nat_port, mp_bsc_ip, mp_bsc_port+i, - bsc[i].sccp_pars, bsc[i].sccp_addr_own, - bsc[i].sccp_addr_peer, use_osmux, id)); + bsc[i].sccp_pars, pars, fn_bsc_ms, id)); } } @@ -182,7 +186,7 @@ function f_TC_recv_dump(boolean use_osmux := false) runs on test_CT { timer T := 30.0; - f_init(use_osmux); + f_init(refers(bsc_ms_establish_fully), use_osmux); f_wait_finish(T); } diff --git a/bsc-nat/BSC_MS_ConnectionHandler.ttcn b/bsc-nat/BSC_MS_ConnectionHandler.ttcn index 7f2ebcd..f7126fd 100644 --- a/bsc-nat/BSC_MS_ConnectionHandler.ttcn +++ b/bsc-nat/BSC_MS_ConnectionHandler.ttcn @@ -25,6 +25,8 @@ import from MGCP_Templates all; import from SDP_Types all; +type function void_fn_bsc_ms(charstring id) runs on BSC_MS_ConnHdlr; + /* this component represents a single subscriber connection at the MSC. * There is a 1:1 mapping between SCCP connections and RAN_ConnHdlr components. * We inherit all component variables, ports, functions, ... from RAN_ConnHdlr */ @@ -34,8 +36,15 @@ var MgcpConnectionId g_mgcp_conn_id; var SDP_Message g_sdp; var BSC_State g_state; + var BSC_MS_TestHdlrParams g_pars; } +type record BSC_MS_TestHdlrParams { + SCCP_PAR_Address sccp_addr_own, + SCCP_PAR_Address sccp_addr_remote, + boolean use_osmux +}; + /* Callback function from general RAN_Emulation whenever a new incoming * SCCP connection arrivces. Must create + start a new component */ private function CreateCallback(BSSAP_N_CONNECT_ind conn_ind, charstring id) @@ -90,7 +99,7 @@ } /* main function processing various incoming events */ -function main(SCCP_PAR_Address sccp_addr_own, SCCP_PAR_Address sccp_addr_remote, boolean use_osmux) +function bsc_ms_establish_fully(charstring id) runs on BSC_MS_ConnHdlr { var PDU_BSSAP bssap; var MgcpCommand mgcp_cmd; @@ -104,8 +113,8 @@ /* generate and send the Complete Layer3 Info */ bssap := f_gen_cl3('901770123456789'H); var BSSAP_Conn_Req creq := { - addr_peer := sccp_addr_remote, - addr_own := sccp_addr_own, + addr_peer := g_pars.sccp_addr_remote, + addr_own := g_pars.sccp_addr_own, bssap := bssap } g_state := BSC_STATE_WAIT_ASS_REQ; @@ -130,12 +139,12 @@ /* respond with CRCX_ACK */ g_state := BSC_STATE_WAIT_MDCX; - if (use_osmux != f_MgcpCmd_contains_par(mgcp_cmd, "X-OSMUX")) { - setverdict(fail, log2str("Received Osmux CID presence doesn't match presence expectancy (", use_osmux, ")")); + if (g_pars.use_osmux != f_MgcpCmd_contains_par(mgcp_cmd, "X-OSMUX")) { + setverdict(fail, log2str("Received Osmux CID presence doesn't match presence expectancy (", g_pars.use_osmux, ")")); self.stop; } - if (use_osmux) { + if (g_pars.use_osmux) { osmux_cid := f_MgcpCmd_extract_osmux_cid(mgcp_cmd); mgcp_resp := ts_CRCX_ACK_osmux(mgcp_cmd.line.trans_id, g_mgcp_conn_id, osmux_cid, g_sdp); } else { diff --git a/bsc-nat/BSC_MS_Simulation.ttcn b/bsc-nat/BSC_MS_Simulation.ttcn index d4e37a4..5feaf0e 100644 --- a/bsc-nat/BSC_MS_Simulation.ttcn +++ b/bsc-nat/BSC_MS_Simulation.ttcn @@ -31,9 +31,7 @@ /* test port to SCCP emulation */ port SCCPasp_PT SCCP; - var SCCP_PAR_Address g_sccp_addr_own; - var SCCP_PAR_Address g_sccp_addr_remote; - var boolean g_use_osmux; + var BSC_MS_TestHdlrParams g_pars; var charstring g_bsc_num_str; } @@ -42,21 +40,41 @@ integer mp_num_iterations := 10; } +/* helper function to create and connect a BSC_MS_ConnHdlr component */ +private function f_connect_handler(inout BSC_MS_ConnHdlr vc_conn) runs on BSC_CT { + /* connect client BSSAP port to BSSAP dispatcher */ + connect(vc_conn:BSSAP, vc_BSSMAP:CLIENT); +} + +private function f_start_handler(void_fn_bsc_ms fn, charstring id, template (omit) BSC_MS_TestHdlrParams pars := omit) +runs on BSC_CT return BSC_MS_ConnHdlr { + var BSC_MS_ConnHdlr vc_conn; + vc_conn := BSC_MS_ConnHdlr.create(id); + f_connect_handler(vc_conn); + vc_conn.start(f_handler_init(fn, id, pars)); + return vc_conn; +} + +/* first function inside ConnHdlr component; sets g_pars + starts function */ +private function f_handler_init(void_fn_bsc_ms fn, charstring id, template (omit) BSC_MS_TestHdlrParams pars := omit) +runs on BSC_MS_ConnHdlr { + if (isvalue(pars)) { + g_pars := valueof(pars); + } + fn.apply(id); +} + function main(charstring remote_ip, PortNumber remote_port, charstring local_ip, PortNumber local_port, MSC_SCCP_MTP3_parameters sccp_pars, - SCCP_PAR_Address sccp_addr_own, - SCCP_PAR_Address sccp_addr_remote, - boolean use_osmux, charstring id) runs on BSC_CT + BSC_MS_TestHdlrParams pars, + void_fn_bsc_ms fn, charstring id) runs on BSC_CT { var integer i := 0; timer T := 1.0; var IPA_CCM_Parameters ccm_pars := IPA_Emulation.c_IPA_default_ccm_pars; ccm_pars.name := id; - - g_sccp_addr_own := sccp_addr_own; - g_sccp_addr_remote := sccp_addr_remote; - g_use_osmux := use_osmux; + g_pars := pars; /* create components for IPA/SCCP/BSS[M]AP stack */ vc_IPA := IPA_Emulation_CT.create(id & "-IPA"); @@ -84,7 +102,7 @@ T.timeout; for (i := 0; i < mp_num_iterations; i := i+1) { - f_start_BSC_MS(id & "-MS-" & int2str(i)); + f_start_BSC_MS(fn, id & "-MS-" & int2str(i)); } /* explicitly stop all components that we started above */ @@ -93,15 +111,10 @@ vc_SCCP.stop; } -function f_start_BSC_MS(charstring id) runs on BSC_CT { +function f_start_BSC_MS(void_fn_bsc_ms fn, charstring id) runs on BSC_CT { var BSC_MS_ConnHdlr vc_conn; - - /* start new component */ - vc_conn := BSC_MS_ConnHdlr.create(id); - /* connect client BSSAP port to BSSAP dispatcher */ - connect(vc_conn:BSSAP, vc_BSSMAP:CLIENT); /* start component */ - vc_conn.start(BSC_MS_ConnectionHandler.main(g_sccp_addr_own, g_sccp_addr_remote, g_use_osmux)); + vc_conn := f_start_handler(fn, id, g_pars); /* blocking wait until component terminates. If you want to start MSs in parallel, * you have to remove this statement here */ vc_conn.done; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic82ca333267535c5859e6439deacbf3b1d1fe391 Gerrit-Change-Number: 14411 Gerrit-PatchSet: 4 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 13 14:33:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 14:33:25 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Refactor MSC side code to allow different actions per test In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14412 ) Change subject: bscnat: Refactor MSC side code to allow different actions per test ...................................................................... bscnat: Refactor MSC side code to allow different actions per test Each test can now plug in different acctions to be done by the emulated MSC, by passing a BssmapCreateCallback RAN_Emaulation callback to f_init(). Old hardcoded behaviour (main()) is renamed and used in laready existing tests. New infrastructure provides a generic BssmapCreateCallback taking care of required boilerplate, so new tests/users only need to define a new callback calling that generic one with a function pointer where all test logic is implemented. Change-Id: Ic429420d0d95b6aacb6e5c44031b49c942ed544d --- M bsc-nat/BSCNAT_Tests.ttcn M bsc-nat/MSC_ConnectionHandler.ttcn M bsc-nat/MSC_Simulation.ttcn 3 files changed, 71 insertions(+), 22 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc-nat/BSCNAT_Tests.ttcn b/bsc-nat/BSCNAT_Tests.ttcn index fda065a..47d894b 100644 --- a/bsc-nat/BSCNAT_Tests.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -16,6 +16,7 @@ import from IPL4asp_Types all; import from IPA_Emulation all; +import from RAN_Emulation all; import from MTP3asp_Types all; @@ -24,6 +25,7 @@ import from SCCP_Emulation all; import from MSC_Simulation all; +import from MSC_ConnectionHandler all; import from BSC_MS_Simulation all; import from BSC_MS_ConnectionHandler all; @@ -136,7 +138,7 @@ f_vty_transceive(BSCNATVTY, "enable"); } -function f_init(void_fn_bsc_ms fn_bsc_ms, boolean use_osmux) runs on test_CT { +function f_init(void_fn_bsc_ms fn_bsc_ms, BssmapCreateCallback cb_msc, boolean use_osmux) runs on test_CT { var integer i; var charstring id; @@ -147,7 +149,9 @@ f_init_MscState(msc[i], mp_msc_pc +i, mp_bsc_pc, mp_msc_ssn, mp_bsc_ssn); id := "MSC" & int2str(i); msc[i].MSC := MSC_CT.create(id); - msc[i].MSC.start(MSC_Simulation.main(mp_msc_ip, mp_msc_port + i, msc[i].sccp_pars, msc[i].sccp_addr_own, id)); + msc[i].MSC.start(MSC_Simulation.main(mp_msc_ip, mp_msc_port + i, + msc[i].sccp_pars, msc[i].sccp_addr_own, + cb_msc, id)); } /* Wait for bsc_nat to attach to MSC. Before that all BSC connections will be dropped */ @@ -186,7 +190,9 @@ function f_TC_recv_dump(boolean use_osmux := false) runs on test_CT { timer T := 30.0; - f_init(refers(bsc_ms_establish_fully), use_osmux); + f_init(refers(bsc_ms_establish_fully), + refers(CreateCallback_establish_fully), + use_osmux); f_wait_finish(T); } diff --git a/bsc-nat/MSC_ConnectionHandler.ttcn b/bsc-nat/MSC_ConnectionHandler.ttcn index c8cb005..e4d3816 100644 --- a/bsc-nat/MSC_ConnectionHandler.ttcn +++ b/bsc-nat/MSC_ConnectionHandler.ttcn @@ -21,6 +21,8 @@ import from MGCP_Templates all; import from SDP_Types all; +type function void_fn_msc(charstring id) runs on MSC_ConnHdlr; + /* this component represents a single subscriber connection at the MSC. * There is a 1:1 mapping between SCCP connections and RAN_ConnHdlr components. * We inherit all component variables, ports, functions, ... from RAN_ConnHdlr */ @@ -32,24 +34,38 @@ var MgcpEndpoint g_ep_name; var MgcpCallId g_call_id; var MgcpConnectionId g_mgcp_conn_id; + var MSC_TestHdlrParams g_pars; } -/* Callback function from general BSSMAP_Emulation whenever a new incoming - * SCCP connection arrivces. Must create + start a new component */ -private function CreateCallback(BSSAP_N_CONNECT_ind conn_ind, charstring id) -runs on RAN_Emulation_CT return RAN_ConnHdlr { - var MSC_ConnHdlr vc_conn; - /* Create a new RAN_ConnHdlr component */ - vc_conn := MSC_ConnHdlr.create(g_ran_id & "-Conn-" & int2str(conn_ind.connectionId)); - /* connect it to the port */ +type record MSC_TestHdlrParams { + integer connection_id, + integer e1_timeslot +}; + +/* helper function to create and connect a MSC_ConnHdlr component */ +private function f_connect_handler(inout MSC_ConnHdlr vc_conn) runs on RAN_Emulation_CT { + /* connect client BSSAP port to BSSAP dispatcher */ connect(vc_conn:BSSAP, self:CLIENT); - /* start it */ - vc_conn.start(MSC_ConnectionHandler.main(conn_ind.connectionId, g_next_e1_ts)); - /* increment next E1 timeslot */ - g_next_e1_ts := g_next_e1_ts + 1; +} + +private function f_msc_start_handler(void_fn_msc fn, charstring id, template (omit) MSC_TestHdlrParams pars := omit) +runs on RAN_Emulation_CT return MSC_ConnHdlr { + var MSC_ConnHdlr vc_conn; + vc_conn := MSC_ConnHdlr.create(id); + f_connect_handler(vc_conn); + vc_conn.start(f_handler_init(fn, id, pars)); return vc_conn; } +/* first function inside ConnHdlr component; sets g_pars + starts function */ +private function f_handler_init(void_fn_msc fn, charstring id, template (omit) MSC_TestHdlrParams pars := omit) +runs on MSC_ConnHdlr { + if (isvalue(pars)) { + g_pars := valueof(pars); + } + fn.apply(id); +} + /* Callback function from general BSSMAP_Emulation whenever a connectionless * BSSMAP message arrives. Can retunr a PDU_BSSAP that should be sent in return */ private function UnitdataCallback(PDU_BSSAP bssap) @@ -63,8 +79,25 @@ return resp; } +/* Callback function from general BSSMAP_Emulation whenever a new incoming + * SCCP connection arrivces. Must create + start a new component */ +private function CreateCallback_generic(void_fn_msc fn, BSSAP_N_CONNECT_ind conn_ind, charstring id) +runs on RAN_Emulation_CT return RAN_ConnHdlr { + var MSC_ConnHdlr vc_conn; + var MSC_TestHdlrParams pars; + pars.connection_id := conn_ind.connectionId; + pars.e1_timeslot := g_next_e1_ts; + + /* Create a new RAN_ConnHdlr component */ + vc_conn := f_msc_start_handler(fn, g_ran_id & "-Conn-" & int2str(conn_ind.connectionId), pars); + + /* increment next E1 timeslot */ + g_next_e1_ts := g_next_e1_ts + 1; + return vc_conn; +} + const RanOps MSC_RanOps := { - create_cb := refers(CreateCallback), + create_cb := omit, unitdata_cb := refers(UnitdataCallback), decode_dtap := false, role_ms := false, @@ -84,14 +117,20 @@ MSC_STATE_WAIT_DLCX_ACK } +/* Callback function from general BSSMAP_Emulation whenever a new incoming + * SCCP connection arrivces. Must create + start a new component */ +function CreateCallback_establish_fully(BSSAP_N_CONNECT_ind conn_ind, charstring id) +runs on RAN_Emulation_CT return RAN_ConnHdlr { + return CreateCallback_generic(refers(f_msc_establish_fully), conn_ind, id); +} /* main function processing various incoming events */ -function main(integer connection_id, integer e1_timeslot) runs on MSC_ConnHdlr { +function f_msc_establish_fully(charstring id) runs on MSC_ConnHdlr { var MgcpResponse mgcp_rsp; timer T := 5.0; - g_sccp_conn_id := connection_id; + g_sccp_conn_id := g_pars.connection_id; g_call_id := f_mgcp_alloc_call_id(); - g_ep_name := hex2str(int2hex(e1_timeslot, 1)) & "@mgw"; + g_ep_name := hex2str(int2hex(g_pars.e1_timeslot, 1)) & "@mgw"; /* we just accepted an incoming SCCP connection, start guard timer */ T.start; @@ -103,7 +142,7 @@ [g_state == MSC_STATE_NONE] BSSAP.receive(tr_BSSMAP_ComplL3) -> value bssap { /* respond with ASSIGNMENT CMD */ g_state := MSC_STATE_WAIT_ASS_COMPL; - BSSAP.send(ts_BSSMAP_AssignmentReq(ts_BSSMAP_IE_CIC(0, e1_timeslot))); + BSSAP.send(ts_BSSMAP_AssignmentReq(ts_BSSMAP_IE_CIC(0, g_pars.e1_timeslot))); } [g_state == MSC_STATE_WAIT_ASS_COMPL] BSSAP.receive(tr_BSSMAP_AssignmentComplete(?,*)) { /* FIXME: Send MGCP CRCX */ diff --git a/bsc-nat/MSC_Simulation.ttcn b/bsc-nat/MSC_Simulation.ttcn index bc47f89..14229cc 100755 --- a/bsc-nat/MSC_Simulation.ttcn +++ b/bsc-nat/MSC_Simulation.ttcn @@ -38,7 +38,8 @@ function main(charstring local_ip, PortNumber local_port, MSC_SCCP_MTP3_parameters sccp_pars, - SCCP_PAR_Address sccp_addr_own, charstring id) runs on MSC_CT + SCCP_PAR_Address sccp_addr_own, + BssmapCreateCallback cb, charstring id) runs on MSC_CT { /* create components */ vc_IPA := IPA_Emulation_CT.create(id & "-IPA"); @@ -64,7 +65,10 @@ vc_IPA.start(IPA_Emulation.main_server(local_ip, local_port)); vc_SCCP.start(SCCPStart(sccp_pars)); - vc_BSSMAP.start(RAN_Emulation.main(MSC_ConnectionHandler.MSC_RanOps, id & "-BSSMAP")); + + var RanOps ranops := MSC_ConnectionHandler.MSC_RanOps; + ranops.create_cb := cb; + vc_BSSMAP.start(RAN_Emulation.main(ranops, id & "-BSSMAP")); /* wait until termination of respective components */ vc_IPA.done; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic429420d0d95b6aacb6e5c44031b49c942ed544d Gerrit-Change-Number: 14412 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 14:33:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 14:33:25 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Add function to run actions on test per BSC component In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14413 ) Change subject: bscnat: Add function to run actions on test per BSC component ...................................................................... bscnat: Add function to run actions on test per BSC component Will be useful to test stuff on IPA layer BSC<->BSC-NAT. Change-Id: I97e743c79e5e9e7613ab91a1aa9ce2377a237fd5 --- M bsc-nat/BSCNAT_Tests.ttcn M bsc-nat/BSC_MS_Simulation.ttcn 2 files changed, 19 insertions(+), 13 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc-nat/BSCNAT_Tests.ttcn b/bsc-nat/BSCNAT_Tests.ttcn index 47d894b..81afcfa 100644 --- a/bsc-nat/BSCNAT_Tests.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -138,7 +138,7 @@ f_vty_transceive(BSCNATVTY, "enable"); } -function f_init(void_fn_bsc_ms fn_bsc_ms, BssmapCreateCallback cb_msc, boolean use_osmux) runs on test_CT { +function f_init(void_fn_bsc_ms fn_bsc_ms, void_fn_bsc fn_bsc, BssmapCreateCallback cb_msc, boolean use_osmux) runs on test_CT { var integer i; var charstring id; @@ -166,7 +166,7 @@ pars.sccp_addr_remote := bsc[i].sccp_addr_peer; pars.use_osmux := use_osmux; bsc[i].BSC.start(BSC_MS_Simulation.main(mp_nat_ip, mp_nat_port, mp_bsc_ip, mp_bsc_port+i, - bsc[i].sccp_pars, pars, fn_bsc_ms, id)); + bsc[i].sccp_pars, pars, fn_bsc_ms, fn_bsc, id)); } } @@ -191,6 +191,7 @@ timer T := 30.0; f_init(refers(bsc_ms_establish_fully), + refers(bsc_do_nothing), refers(CreateCallback_establish_fully), use_osmux); diff --git a/bsc-nat/BSC_MS_Simulation.ttcn b/bsc-nat/BSC_MS_Simulation.ttcn index 5feaf0e..7f23318 100644 --- a/bsc-nat/BSC_MS_Simulation.ttcn +++ b/bsc-nat/BSC_MS_Simulation.ttcn @@ -23,6 +23,9 @@ import from BSC_MS_ConnectionHandler all; +type function void_fn_bsc(charstring id) runs on BSC_CT; +type record of BSC_MS_ConnHdlr BSC_MS_ConnHdlrList; + type component BSC_CT { /* component references */ var IPA_Emulation_CT vc_IPA; @@ -64,11 +67,15 @@ fn.apply(id); } +function bsc_do_nothing(charstring id) +runs on BSC_CT { +} + function main(charstring remote_ip, PortNumber remote_port, charstring local_ip, PortNumber local_port, MSC_SCCP_MTP3_parameters sccp_pars, BSC_MS_TestHdlrParams pars, - void_fn_bsc_ms fn, charstring id) runs on BSC_CT + void_fn_bsc_ms fn_bsc_ms, void_fn_bsc fn_bsc, charstring id) runs on BSC_CT { var integer i := 0; timer T := 1.0; @@ -101,8 +108,15 @@ T.start(2.0); T.timeout; + var BSC_MS_ConnHdlrList vc_conns; for (i := 0; i < mp_num_iterations; i := i+1) { - f_start_BSC_MS(fn, id & "-MS-" & int2str(i)); + vc_conns[i] := f_start_handler(fn_bsc_ms, id & "-MS-" & int2str(i), g_pars); + } + + fn_bsc.apply(id); + + for (i := 0; i < mp_num_iterations; i := i+1) { + vc_conns[i].done; } /* explicitly stop all components that we started above */ @@ -111,13 +125,4 @@ vc_SCCP.stop; } -function f_start_BSC_MS(void_fn_bsc_ms fn, charstring id) runs on BSC_CT { - var BSC_MS_ConnHdlr vc_conn; - /* start component */ - vc_conn := f_start_handler(fn, id, g_pars); - /* blocking wait until component terminates. If you want to start MSs in parallel, - * you have to remove this statement here */ - vc_conn.done; -} - } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I97e743c79e5e9e7613ab91a1aa9ce2377a237fd5 Gerrit-Change-Number: 14413 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 14:33:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 14:33:26 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Introduce test TC_ctrl_location In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14414 ) Change subject: bscnat: Introduce test TC_ctrl_location ...................................................................... bscnat: Introduce test TC_ctrl_location It checks location-state TRAP is forwaded correctly in BSC-NAT from BSC towards locally connected CTRL client, with variable names updated to contain BSC/BTS indexes. It also verifies commands can be applied (SET) in inverse direction. Change-Id: If28aba011a1903788cacbc10c0b62954925d4b1f --- M bsc-nat/BSCNAT_Tests.ttcn M bsc-nat/BSC_MS_ConnectionHandler.ttcn M bsc-nat/BSC_MS_Simulation.ttcn M bsc-nat/gen_links.sh M bsc-nat/regen_makefile.sh 5 files changed, 60 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc-nat/BSCNAT_Tests.ttcn b/bsc-nat/BSCNAT_Tests.ttcn index 81afcfa..9d2fc4b 100644 --- a/bsc-nat/BSCNAT_Tests.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -20,6 +20,10 @@ import from MTP3asp_Types all; +import from Osmocom_CTRL_Functions all; +import from Osmocom_CTRL_Types all; +import from Osmocom_CTRL_Adapter all; + import from SCCP_Types all; import from SCCPasp_Types all; import from SCCP_Emulation all; @@ -48,7 +52,7 @@ SCCP_PAR_Address sccp_addr_own } -type component test_CT { +type component test_CT extends CTRL_Adapter_CT { var MscState msc[NUM_MSC]; var BscState bsc[NUM_BSC]; @@ -65,6 +69,9 @@ PortNumber mp_msc_port := 5000; charstring mp_msc_ip := "127.0.0.1"; + /* port number to which to establish the IPA CTRL connection */ + integer mp_nat_ctrl_port := 4250; + /* port number to which to establish the SCCPLite connection */ PortNumber mp_nat_port := 5000; charstring mp_nat_ip := "127.0.0.1"; @@ -144,6 +151,7 @@ f_init_vty("VirtBSCNAT"); f_vty_allow_osmux(use_osmux); + f_ipa_ctrl_start(mp_nat_ip, mp_nat_ctrl_port); for (i := 0; i < NUM_MSC; i := i+1) { f_init_MscState(msc[i], mp_msc_pc +i, mp_bsc_pc, mp_msc_ssn, mp_bsc_ssn); @@ -206,9 +214,26 @@ f_TC_recv_dump(true); } +testcase TC_ctrl_location() runs on test_CT { + timer T := 30.0; + + f_init(refers(bsc_ms_do_nothing), + refers(bsc_ctrl_location), + refers(CreateCallback_establish_fully), + false); + + f_ctrl_exp_trap(IPA_CTRL, "net.0.bsc.0.bts.0.location-state", + "1234567,fix3d,0.340000,0.560000,0.780000,operational,unlocked,on,001,01", + 10.0); + f_ctrl_set(IPA_CTRL, "net.0.bsc.0.rf_locked", "1"); + + f_wait_finish(T); +} + control { execute( TC_recv_dump() ); execute( TC_recv_dump_osmux() ); + execute( TC_ctrl_location() ); } } diff --git a/bsc-nat/BSC_MS_ConnectionHandler.ttcn b/bsc-nat/BSC_MS_ConnectionHandler.ttcn index f7126fd..f011c39 100644 --- a/bsc-nat/BSC_MS_ConnectionHandler.ttcn +++ b/bsc-nat/BSC_MS_ConnectionHandler.ttcn @@ -210,4 +210,8 @@ } } +function bsc_ms_do_nothing(charstring id) +runs on BSC_MS_ConnHdlr { +} + } diff --git a/bsc-nat/BSC_MS_Simulation.ttcn b/bsc-nat/BSC_MS_Simulation.ttcn index 7f23318..453f304 100644 --- a/bsc-nat/BSC_MS_Simulation.ttcn +++ b/bsc-nat/BSC_MS_Simulation.ttcn @@ -14,6 +14,9 @@ import from IPA_Emulation all; +import from Osmocom_CTRL_Functions all; +import from Osmocom_CTRL_Types all; + import from SCCP_Types all; import from SCCPasp_Types all; import from SCCP_Emulation all; @@ -33,6 +36,8 @@ var RAN_Emulation_CT vc_BSSMAP; /* test port to SCCP emulation */ port SCCPasp_PT SCCP; + /* test port to SCCPLite CTRL over IPA emulation */ + port IPA_CTRL_PT SCCPLITE_IPA_CTRL; var BSC_MS_TestHdlrParams g_pars; @@ -71,6 +76,15 @@ runs on BSC_CT { } +/* Submit a location-state TRAP BSC->BSC-NAT */ +function bsc_ctrl_location(charstring id) +runs on BSC_CT { + log("Starting main of BSC_CT"); + f_ctrl_trap(SCCPLITE_IPA_CTRL, "bts.0.location-state", + "1234567,fix3d,0.340000,0.560000,0.780000,operational,unlocked,on,001,01"); + f_ctrl_exp_set(SCCPLITE_IPA_CTRL, "rf_locked", "1", "1"); +} + function main(charstring remote_ip, PortNumber remote_port, charstring local_ip, PortNumber local_port, MSC_SCCP_MTP3_parameters sccp_pars, @@ -78,7 +92,7 @@ void_fn_bsc_ms fn_bsc_ms, void_fn_bsc fn_bsc, charstring id) runs on BSC_CT { var integer i := 0; - timer T := 1.0; + timer T := 2.0; var IPA_CCM_Parameters ccm_pars := IPA_Emulation.c_IPA_default_ccm_pars; ccm_pars.name := id; g_pars := pars; @@ -98,6 +112,11 @@ /* connect BSSMAP dispatcher to IPA_Emulation MGCP */ connect(vc_BSSMAP:MGCP, vc_IPA:IPA_MGCP_PORT); + /* connect BSSMAP dispatcher to IPA_Emulation CTRL */ + connect(vc_BSSMAP:CTRL, vc_IPA:IPA_CTRL_PORT); + + /* connect BSSMAP dispatcher to IPA_Emulation CTRL */ + connect(self:SCCPLITE_IPA_CTRL, vc_BSSMAP:CTRL_CLIENT); /* start components */ vc_IPA.start(IPA_Emulation.main_client(remote_ip, remote_port, local_ip, local_port, ccm_pars)); @@ -105,8 +124,14 @@ vc_BSSMAP.start(RAN_Emulation.main(BSC_MS_ConnectionHandler.BSC_MS_RanOps, id)); /* Initial delay to wait for IPA connection establishment */ - T.start(2.0); - T.timeout; + T.start; + alt { + [] SCCPLITE_IPA_CTRL.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { } + [] T.timeout { + setverdict(fail, "Timeout CTRL waiting for ASP_IPA_EVENT_UP"); + mtc.stop; + } + } var BSC_MS_ConnHdlrList vc_conns; for (i := 0; i < mp_num_iterations; i := i+1) { diff --git a/bsc-nat/gen_links.sh b/bsc-nat/gen_links.sh index 01d4c7b..5da9d4e 100755 --- a/bsc-nat/gen_links.sh +++ b/bsc-nat/gen_links.sh @@ -52,7 +52,7 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc Osmocom_CTRL_Types.ttcn Osmocom_VTY_Functions.ttcn Osmocom_CTRL_Functions.ttcn BSSAP_CodecPort.ttcn" +FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc Osmocom_CTRL_Types.ttcn Osmocom_VTY_Functions.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn BSSAP_CodecPort.ttcn" gen_links $DIR $FILES ignore_pp_results diff --git a/bsc-nat/regen_makefile.sh b/bsc-nat/regen_makefile.sh index 0f3cfab..c9d744e 100755 --- a/bsc-nat/regen_makefile.sh +++ b/bsc-nat/regen_makefile.sh @@ -4,6 +4,6 @@ FILES="*.ttcn *.ttcnpp SCCP_EncDec.cc IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc RTP_EncDec.cc SDP_EncDec.cc *.c MGCP_CodecPort_CtrlFunctDef.cc TELNETasp_PT.cc" -export CPPFLAGS_TTCN3="-DIPA_EMULATION_SCCP -DIPA_EMULATION_MGCP -DRAN_EMULATION_BSSAP -DRAN_EMULATION_MGCP -DUSE_MTP3_DISTRIBUTOR" +export CPPFLAGS_TTCN3="-DIPA_EMULATION_SCCP -DIPA_EMULATION_MGCP -DIPA_EMULATION_CTRL -DRAN_EMULATION_BSSAP -DRAN_EMULATION_MGCP -DRAN_EMULATION_CTRL -DUSE_MTP3_DISTRIBUTOR" ../regen-makefile.sh $MAIN $FILES -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If28aba011a1903788cacbc10c0b62954925d4b1f Gerrit-Change-Number: 14414 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 14:43:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 14:43:22 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14418 ) Change subject: lib/IPA_Emulation: Build IPA_CTRL conditionally based on define ...................................................................... lib/IPA_Emulation: Build IPA_CTRL conditionally based on define Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7 --- M bts/regen_makefile.sh M library/IPA_Emulation.ttcnpp M msc/regen_makefile.sh M sccp/regen_makefile.sh M selftest/regen_makefile.sh M sgsn/regen_makefile.sh M sip/regen_makefile.sh 7 files changed, 14 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/bts/regen_makefile.sh b/bts/regen_makefile.sh index c912da8..9f1bf1d 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" +export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_OML -DIPA_EMULATION_CTRL" ../regen-makefile.sh BTS_Tests.ttcn $FILES diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 3ec6922..2305b7b 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -186,8 +186,10 @@ /* up-facing port for OML */ port IPA_OML_PT IPA_OML_PORT; #endif +#ifdef IPA_EMULATION_CTRL /* up-facing port for CTRL */ port IPA_CTRL_PT IPA_CTRL_PORT; +#endif #ifdef IPA_EMULATION_GSUP /* up-facing port for GSUP */ port IPA_GSUP_PT IPA_GSUP_PORT; @@ -300,9 +302,11 @@ IPA_OML_PORT.send(evt); } #endif +#ifdef IPA_EMULATION_CTRL if (IPA_CTRL_PORT.checkstate("Connected")) { IPA_CTRL_PORT.send(evt); } +#endif #ifdef IPA_EMULATION_GSUP if (IPA_GSUP_PORT.checkstate("Connected")) { IPA_GSUP_PORT.send(evt); @@ -497,10 +501,12 @@ ScanEvents(); } +#ifdef IPA_EMULATION_CTRL private function f_ctrl_to_user(octetstring msg) runs on IPA_Emulation_CT { var charstring msg_ch := oct2char(msg); IPA_CTRL_PORT.send(dec_CtrlMessage(msg_ch)); } +#endif #ifdef IPA_EMULATION_GSUP private function f_gsup_to_user(octetstring msg) runs on IPA_Emulation_CT { @@ -703,11 +709,13 @@ } #endif +#ifdef IPA_EMULATION_CTRL [] IPA_CTRL_PORT.receive(CtrlMessage:?) -> value ctrl_msg { payload := char2oct(enc_CtrlMessage(ctrl_msg)); ipa_ud := valueof(t_ASP_IPA_UD(IPAC_PROTO_OSMO, payload, IPAC_PROTO_EXT_CTRL)); IPA_PORT.send(f_from_asp(g_ipa_conn_id, ipa_ud)); } +#endif #ifdef IPA_EMULATION_GSUP [] IPA_GSUP_PORT.receive(GSUP_PDU:?) -> value gsup_msg { diff --git a/msc/regen_makefile.sh b/msc/regen_makefile.sh index e89daa6..9278530 100755 --- a/msc/regen_makefile.sh +++ b/msc/regen_makefile.sh @@ -2,7 +2,7 @@ FILES="*.ttcn *.ttcnpp SCCP_EncDec.cc SCTPasp_PT.cc TCCConversion.cc TCCInterface.cc UD_PT.cc MNCC_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc SDP_EncDec.cc RTP_EncDec.cc IPA_CodecPort_CtrlFunctDef.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc TELNETasp_PT.cc Native_FunctionDefs.cc SMPP_EncDec.cc SMPP_CodecPort_CtrlFunctDef.cc MAP_EncDec.cc SS_EncDec.cc TCCEncoding.cc SGsAP_CodecPort_CtrlFunctDef.cc RANAP_EncDec.cc *.c *.asn" -export CPPFLAGS_TTCN3="-DIPA_EMULATION_MGCP -DIPA_EMULATION_GSUP -DIPA_EMULATION_SCCP -DRAN_EMULATION_BSSAP -DRAN_EMULATION_MGCP -DRAN_EMULATION_RANAP -DUSE_MTP3_DISTRIBUTOR" +export CPPFLAGS_TTCN3="-DIPA_EMULATION_MGCP -DIPA_EMULATION_CTRL -DIPA_EMULATION_GSUP -DIPA_EMULATION_SCCP -DRAN_EMULATION_BSSAP -DRAN_EMULATION_MGCP -DRAN_EMULATION_CTRL -DRAN_EMULATION_RANAP -DUSE_MTP3_DISTRIBUTOR" ../regen-makefile.sh MSC_Tests.ttcn $FILES diff --git a/sccp/regen_makefile.sh b/sccp/regen_makefile.sh index fc9e6d2..08db33e 100755 --- a/sccp/regen_makefile.sh +++ b/sccp/regen_makefile.sh @@ -2,6 +2,6 @@ FILES="*.ttcn *.ttcnpp SCCP_EncDec.cc SCTPasp_PT.cc TCCConversion.cc TCCInterface.cc UD_PT.cc IPL4asp_PT.cc IPL4asp_discovery.cc IPA_CodecPort_CtrlFunctDef.cc TELNETasp_PT.cc Native_FunctionDefs.cc TCCEncoding.cc " -export CPPFLAGS_TTCN3="-DIPA_EMULATION_SCCP -DUSE_MTP3_DISTRIBUTOR" +export CPPFLAGS_TTCN3="-DIPA_EMULATION_CTRL -DIPA_EMULATION_SCCP -DUSE_MTP3_DISTRIBUTOR" ../regen-makefile.sh SCCP_Tests.ttcn $FILES diff --git a/selftest/regen_makefile.sh b/selftest/regen_makefile.sh index 2503fca..9d302ac 100755 --- a/selftest/regen_makefile.sh +++ b/selftest/regen_makefile.sh @@ -4,6 +4,6 @@ FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc" -export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DUSE_MTP3_DISTRIBUTOR" +export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_CTRL -DUSE_MTP3_DISTRIBUTOR" ../regen-makefile.sh $MAIN $FILES diff --git a/sgsn/regen_makefile.sh b/sgsn/regen_makefile.sh index a85f79c..0cf2e64 100755 --- a/sgsn/regen_makefile.sh +++ b/sgsn/regen_makefile.sh @@ -2,6 +2,6 @@ FILES="*.ttcn *.ttcnpp BSSGP_EncDec.cc LLC_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc NS_CodecPort_CtrlFunctDef.cc RLCMAC_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc IPA_CodecPort_CtrlFunctDef.cc GTPU_EncDec.cc GTPC_EncDec.cc GTP_CodecPort_CtrlFunctDef.cc" -export CPPFLAGS_TTCN3="-DIPA_EMULATION_GSUP" +export CPPFLAGS_TTCN3="-DIPA_EMULATION_GSUP -DIPA_EMULATION_CTRL" ../regen-makefile.sh SGSN_Tests.ttcn $FILES diff --git a/sip/regen_makefile.sh b/sip/regen_makefile.sh index 86f71b8..722620b 100755 --- a/sip/regen_makefile.sh +++ b/sip/regen_makefile.sh @@ -3,6 +3,6 @@ FILES="*.ttcn *.ttcnpp TCCConversion.cc TCCInterface.cc UD_PT.cc MNCC_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc SDP_EncDec.cc RTP_EncDec.cc IPA_CodecPort_CtrlFunctDef.cc RTP_CodecPort_CtrlFunctDef.cc TELNETasp_PT.cc Native_FunctionDefs.cc SIPmsg_PT.cc *.c " -export CPPFLAGS_TTCN3="" +export CPPFLAGS_TTCN3="-DIPA_EMULATION_CTRL -DRAN_EMULATION_CTRL" ../regen-makefile.sh SIP_Tests.ttcn $FILES -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7 Gerrit-Change-Number: 14418 Gerrit-PatchSet: 9 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 14:55:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 14:55:34 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Start test global timers Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14438 Change subject: bscnat: Start test global timers ...................................................................... bscnat: Start test global timers Change-Id: I40672bb72fdd1624efcb8d3ee858b17c0188172b --- M bsc-nat/BSCNAT_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/38/14438/1 diff --git a/bsc-nat/BSCNAT_Tests.ttcn b/bsc-nat/BSCNAT_Tests.ttcn index 9d2fc4b..e97eb83 100644 --- a/bsc-nat/BSCNAT_Tests.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -197,6 +197,7 @@ function f_TC_recv_dump(boolean use_osmux := false) runs on test_CT { timer T := 30.0; + T.start; f_init(refers(bsc_ms_establish_fully), refers(bsc_do_nothing), @@ -216,6 +217,7 @@ testcase TC_ctrl_location() runs on test_CT { timer T := 30.0; + T.start; f_init(refers(bsc_ms_do_nothing), refers(bsc_ctrl_location), -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I40672bb72fdd1624efcb8d3ee858b17c0188172b Gerrit-Change-Number: 14438 Gerrit-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 13 15:03:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:03:45 +0000 Subject: Change in ...osmo-bsc[master]: logging: introduce LOGPBTS and LOGPTRX and use it everywhere Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14439 Change subject: logging: introduce LOGPBTS and LOGPTRX and use it everywhere ...................................................................... logging: introduce LOGPBTS and LOGPTRX and use it everywhere It's quite ugly to have manual "bts=%d" printf-statements all over the BSC code. Let's change this to use shared logging helper functions all over the place, whenever we need to log something related to one BTS or one TRX. This can also help us as the first step to later add alternative logging of BTS identities, e.g. by printing the Cell Global Identifier or LAC+CI, or even a human-readable/vty-defined 'name' of the BTS, rather than its numeric bts number. With this change in place, we can introduce such changes at a single location in the code. Change-Id: I4a7814d164384eecfb6913c31802cf2faead6e6c --- M include/osmocom/bsc/debug.h M src/osmo-bsc/abis_nm.c M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/acc_ramp.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/chan_alloc.c M src/osmo-bsc/e1_config.c M src/osmo-bsc/lchan_select.c M src/osmo-bsc/paging.c 9 files changed, 89 insertions(+), 105 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/39/14439/1 diff --git a/include/osmocom/bsc/debug.h b/include/osmocom/bsc/debug.h index e78ba59..3260121 100644 --- a/include/osmocom/bsc/debug.h +++ b/include/osmocom/bsc/debug.h @@ -29,3 +29,9 @@ DAS, Debug_LastEntry, }; + +#define LOG_BTS(bts, subsys, level, fmt, args...) \ + LOGP(subsys, level, "(bts=%d) " fmt, (bts)->nr, ## args) + +#define LOG_TRX(trx, subsys, level, fmt, args...) \ + LOGP(subsys, level, "(bts=%d,trx=%d) " fmt, (trx)->bts->nr, (trx)->nr, ## args) diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index bff6c12..7d059b5 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -1713,7 +1713,7 @@ return -EINVAL; } - DEBUGP(DNM, "Get Attr (bts=%u,trx=%u)\n", bts->nr, trx_nr); + LOG_BTS(bts, DNM, LOGL_DEBUG, "Get Attr (trx=%u)\n", trx_nr); msg = nm_msgb_alloc(); oh = (struct abis_om_hdr *) msgb_put(msg, ABIS_OM_FOM_HDR_SIZE); @@ -1731,7 +1731,7 @@ struct msgb *msg = nm_msgb_alloc(); uint8_t *cur; - DEBUGP(DNM, "Set BTS Attr (bts=%u)\n", bts->nr); + LOG_BTS(bts, DNM, LOGL_DEBUG, "Set BTS Attr\n"); oh = (struct abis_om_hdr *) msgb_put(msg, ABIS_OM_FOM_HDR_SIZE); fill_om_fom_hdr(oh, attr_len, NM_MT_SET_BTS_ATTR, NM_OC_BTS, bts->bts_nr, 0xff, 0xff); @@ -1748,7 +1748,7 @@ struct msgb *msg = nm_msgb_alloc(); uint8_t *cur; - DEBUGP(DNM, "Set TRX Attr (bts=%u,trx=%u)\n", trx->bts->nr, trx->nr); + LOG_TRX(trx, DNM, LOGL_DEBUG, "Set TRX Attr\n"); oh = (struct abis_om_hdr *) msgb_put(msg, ABIS_OM_FOM_HDR_SIZE); fill_om_fom_hdr(oh, attr_len, NM_MT_SET_RADIO_ATTR, NM_OC_RADIO_CARRIER, @@ -2849,7 +2849,7 @@ struct gsm_bts_trx *trx = data; struct ipacc_ack_signal_data signal; - LOGP(DRSL, LOGL_NOTICE, "(bts=%u,trx=%u) RSL connection request timed out\n", trx->bts->nr, trx->nr); + LOG_TRX(trx, DRSL, LOGL_NOTICE, "RSL connection request timed out\n"); /* Fake an RSL CONECT NACK message from the BTS. */ signal.trx = trx; @@ -2880,8 +2880,8 @@ if (ip == 0) attr_len -= 5; - LOGP(DNM, LOGL_INFO, "(bts=%u,trx=%u) IPA RSL CONNECT IP=%s PORT=%u STREAM=0x%02x\n", - trx->bts->nr, trx->nr, inet_ntoa(ia), port, stream); + LOG_TRX(trx, DNM, LOGL_INFO, "IPA RSL CONNECT IP=%s PORT=%u STREAM=0x%02x\n", + inet_ntoa(ia), port, stream); error = abis_nm_ipaccess_msg(trx->bts, NM_MT_IPACC_RSL_CONNECT, NM_OC_BASEB_TRANSC, trx->bts->bts_nr, @@ -2935,8 +2935,7 @@ return; } - LOGP(DNM, LOGL_NOTICE, "(bts=%u,trx=%u) Requesting administrative state change %s -> %s [%s]\n", - trx->bts->nr, trx->nr, + LOG_TRX(trx, DNM, LOGL_NOTICE, "Requesting administrative state change %s -> %s [%s]\n", get_value_string(abis_nm_adm_state_names, trx->mo.nm_state.administrative), get_value_string(abis_nm_adm_state_names, new_state), reason); diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 9db2115..0b68d7c 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1357,10 +1357,8 @@ /* Determine channel request cause code */ chreq_reason = get_reason_by_chreq(rqd_ref->ra, bts->network->neci); - LOGP(DRSL, LOGL_NOTICE, "(bts=%d) CHAN RQD: reason: %s (ra=0x%02x, neci=0x%02x, chreq_reason=0x%02x)\n", - msg->lchan->ts->trx->bts->nr, - get_value_string(gsm_chreq_descs, chreq_reason), - rqd_ref->ra, bts->network->neci, chreq_reason); + LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: reason: %s (ra=0x%02x, neci=0x%02x, chreq_reason=0x%02x)\n", + get_value_string(gsm_chreq_descs, chreq_reason), rqd_ref->ra, bts->network->neci, chreq_reason); /* Handle PDCH related rach requests (in case of BSC-co-located-PCU */ if (chreq_reason == GSM_CHREQ_REASON_PDCH) @@ -1381,24 +1379,18 @@ */ lchan = lchan_select_by_type(bts, GSM_LCHAN_SDCCH); if (!lchan) { - LOGP(DRSL, LOGL_NOTICE, "(bts=%d) CHAN RQD: no resources for %s " - "0x%x, retrying with %s\n", - msg->lchan->ts->trx->bts->nr, - gsm_lchant_name(GSM_LCHAN_SDCCH), rqd_ref->ra, - gsm_lchant_name(GSM_LCHAN_TCH_H)); + LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x, retrying with %s\n", + gsm_lchant_name(GSM_LCHAN_SDCCH), rqd_ref->ra, gsm_lchant_name(GSM_LCHAN_TCH_H)); lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_H); } if (!lchan) { - LOGP(DRSL, LOGL_NOTICE, "(bts=%d) CHAN RQD: no resources for %s " - "0x%x, retrying with %s\n", - msg->lchan->ts->trx->bts->nr, - gsm_lchant_name(GSM_LCHAN_SDCCH), rqd_ref->ra, - gsm_lchant_name(GSM_LCHAN_TCH_F)); + LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x, retrying with %s\n", + gsm_lchant_name(GSM_LCHAN_SDCCH), rqd_ref->ra, gsm_lchant_name(GSM_LCHAN_TCH_F)); lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_F); } if (!lchan) { - LOGP(DRSL, LOGL_NOTICE, "(bts=%d) CHAN RQD: no resources for %s 0x%x\n", - msg->lchan->ts->trx->bts->nr, gsm_lchant_name(lctype), rqd_ref->ra); + 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]); rsl_tx_imm_ass_rej(bts, rqd_ref); return 0; diff --git a/src/osmo-bsc/acc_ramp.c b/src/osmo-bsc/acc_ramp.c index bc2e3fb..b79c0c2 100644 --- a/src/osmo-bsc/acc_ramp.c +++ b/src/osmo-bsc/acc_ramp.c @@ -46,7 +46,8 @@ { OSMO_ASSERT(acc <= 9); if (acc_ramp->barred_accs & (1 << acc)) - LOGP(DRSL, LOGL_NOTICE, "(bts=%d) ACC RAMP: allowing Access Control Class %u\n", acc_ramp->bts->nr, acc); + LOG_BTS(acc_ramp->bts, DRSL, LOGL_NOTICE, + "ACC RAMP: allowing Access Control Class %u\n", acc); acc_ramp->barred_accs &= ~(1 << acc); } @@ -54,7 +55,8 @@ { OSMO_ASSERT(acc <= 9); if ((acc_ramp->barred_accs & (1 << acc)) == 0) - LOGP(DRSL, LOGL_NOTICE, "(bts=%d) ACC RAMP: barring Access Control Class %u\n", acc_ramp->bts->nr, acc); + LOG_BTS(acc_ramp->bts, DRSL, LOGL_NOTICE, + "ACC RAMP: barring Access Control Class %u\n", acc); acc_ramp->barred_accs |= (1 << acc); } @@ -92,8 +94,9 @@ else if (acc_ramp->step_interval_sec > ACC_RAMP_STEP_INTERVAL_MAX) acc_ramp->step_interval_sec = ACC_RAMP_STEP_INTERVAL_MAX; - LOGP(DRSL, LOGL_DEBUG, "(bts=%d) ACC RAMP: step interval set to %u seconds based on %u%% channel load average\n", - bts->nr, acc_ramp->step_interval_sec, bts->chan_load_avg); + LOG_BTS(bts, DRSL, LOGL_DEBUG, + "ACC RAMP: step interval set to %u seconds based on %u%% channel load average\n", + acc_ramp->step_interval_sec, bts->chan_load_avg); return acc_ramp->step_interval_sec; } @@ -156,12 +159,10 @@ trx = nsd->obj; - LOGP(DRSL, LOGL_DEBUG, "(bts=%d,trx=%d) ACC RAMP: administrative state %s -> %s\n", - acc_ramp->bts->nr, trx->nr, + LOG_TRX(trx, DRSL, LOGL_DEBUG, "ACC RAMP: administrative state %s -> %s\n", get_value_string(abis_nm_adm_state_names, nsd->old_state->administrative), get_value_string(abis_nm_adm_state_names, nsd->new_state->administrative)); - LOGP(DRSL, LOGL_DEBUG, "(bts=%d,trx=%d) ACC RAMP: operational state %s -> %s\n", - acc_ramp->bts->nr, trx->nr, + LOG_TRX(trx, DRSL, LOGL_DEBUG, "ACC RAMP: operational state %s -> %s\n", abis_nm_opstate_name(nsd->old_state->operational), abis_nm_opstate_name(nsd->new_state->operational)); @@ -171,8 +172,8 @@ /* RSL must already be up. We cannot send RACH system information to the BTS otherwise. */ if (trx->rsl_link == NULL) { - LOGP(DRSL, LOGL_DEBUG, "(bts=%d,trx=%d) ACC RAMP: ignoring state change because RSL link is down\n", - acc_ramp->bts->nr, trx->nr); + LOG_TRX(trx, DRSL, LOGL_DEBUG, + "ACC RAMP: ignoring state change because RSL link is down\n"); return 0; } @@ -188,10 +189,10 @@ if (nsd->new_state->operational == NM_OPSTATE_ENABLED) trigger_ramping = true; else - LOGP(DRSL, LOGL_DEBUG, "(bts=%d,trx=%d) ACC RAMP: ignoring state change " - "because TRX is transitioning into operational state '%s'\n", - acc_ramp->bts->nr, trx->nr, - abis_nm_opstate_name(nsd->new_state->operational)); + LOG_TRX(trx, DRSL, LOGL_DEBUG, + "ACC RAMP: ignoring state change because TRX is " + "transitioning into operational state '%s'\n", + abis_nm_opstate_name(nsd->new_state->operational)); } else { /* * Operational state has not changed. @@ -200,8 +201,8 @@ if (trx_is_usable(trx)) trigger_ramping = true; else - LOGP(DRSL, LOGL_DEBUG, "(bts=%d,trx=%d) ACC RAMP: ignoring state change " - "because TRX is not usable\n", acc_ramp->bts->nr, trx->nr); + LOG_TRX(trx, DRSL, LOGL_DEBUG, "ACC RAMP: ignoring state change " + "because TRX is not usable\n"); } break; case NM_STATE_LOCKED: @@ -210,8 +211,8 @@ break; case NM_STATE_NULL: default: - LOGP(DRSL, LOGL_ERROR, "(bts=%d) ACC RAMP: unrecognized administrative state '0x%x' " - "reported for TRX 0\n", acc_ramp->bts->nr, nsd->new_state->administrative); + LOG_TRX(trx, DRSL, LOGL_ERROR, "ACC RAMP: unrecognized administrative state '0x%x' " + "reported for TRX 0\n", nsd->new_state->administrative); break; } } @@ -226,10 +227,9 @@ if (nsd->new_state->administrative == NM_STATE_UNLOCKED) trigger_ramping = true; else - LOGP(DRSL, LOGL_DEBUG, "(bts=%d,trx=%d) ACC RAMP: ignoring state change " - "because TRX is transitioning into administrative state '%s'\n", - acc_ramp->bts->nr, trx->nr, - get_value_string(abis_nm_adm_state_names, nsd->new_state->administrative)); + LOG_TRX(trx, DRSL, LOGL_DEBUG, "ACC RAMP: ignoring state change " + "because TRX is transitioning into administrative state '%s'\n", + get_value_string(abis_nm_adm_state_names, nsd->new_state->administrative)); } else { /* * Administrative state has not changed. @@ -238,10 +238,9 @@ if (trx->mo.nm_state.administrative == NM_STATE_UNLOCKED) trigger_ramping = true; else - LOGP(DRSL, LOGL_DEBUG, "(bts=%d,trx=%d) ACC RAMP: ignoring state change " - "because TRX is in administrative state '%s'\n", - acc_ramp->bts->nr, trx->nr, - get_value_string(abis_nm_adm_state_names, trx->mo.nm_state.administrative)); + LOG_TRX(trx, DRSL, LOGL_DEBUG, "ACC RAMP: ignoring state change " + "because TRX is in administrative state '%s'\n", + get_value_string(abis_nm_adm_state_names, trx->mo.nm_state.administrative)); } break; case NM_OPSTATE_DISABLED: @@ -249,8 +248,8 @@ break; case NM_OPSTATE_NULL: default: - LOGP(DRSL, LOGL_ERROR, "(bts=%d) ACC RAMP: unrecognized operational state '0x%x' " - "reported for TRX 0\n", acc_ramp->bts->nr, nsd->new_state->administrative); + LOG_TRX(trx, DRSL, LOGL_ERROR, "ACC RAMP: unrecognized operational state '0x%x' " + "reported for TRX 0\n", nsd->new_state->administrative); break; } } @@ -296,7 +295,7 @@ return -ERANGE; acc_ramp->step_size = step_size; - LOGP(DRSL, LOGL_DEBUG, "(bts=%d) ACC RAMP: ramping step size set to %u\n", acc_ramp->bts->nr, step_size); + LOG_BTS(acc_ramp->bts, DRSL, LOGL_DEBUG, "ACC RAMP: ramping step size set to %u\n", step_size); return 0; } @@ -313,8 +312,8 @@ acc_ramp->step_interval_sec = step_interval; acc_ramp->step_interval_is_fixed = true; - LOGP(DRSL, LOGL_DEBUG, "(bts=%d) ACC RAMP: ramping step interval set to %u seconds\n", - acc_ramp->bts->nr, step_interval); + LOG_BTS(acc_ramp->bts, DRSL, LOGL_DEBUG, "ACC RAMP: ramping step interval set to %u seconds\n", + step_interval); return 0; } @@ -326,8 +325,7 @@ void acc_ramp_set_step_interval_dynamic(struct acc_ramp *acc_ramp) { acc_ramp->step_interval_is_fixed = false; - LOGP(DRSL, LOGL_DEBUG, "(bts=%d) ACC RAMP: ramping step interval set to 'dynamic'\n", - acc_ramp->bts->nr); + LOG_BTS(acc_ramp->bts, DRSL, LOGL_DEBUG, "ACC RAMP: ramping step interval set to 'dynamic'\n"); } /*! diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index 56103b6..a5e697b 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -394,7 +394,7 @@ if (!trx->rsl_link) return; - LOGP(DLINP, LOGL_NOTICE, "(bts=%d,trx=%d) Dropping RSL link: %s\n", trx->bts->nr, trx->nr, reason); + LOG_TRX(trx, DLINP, LOGL_NOTICE, "Dropping RSL link: %s\n", reason); e1inp_sign_link_destroy(trx->rsl_link); trx->rsl_link = NULL; @@ -413,7 +413,7 @@ if (!bts->oml_link) return; - LOGP(DLINP, LOGL_NOTICE, "(bts=%d) Dropping OML link: %s\n", bts->nr, reason); + LOG_BTS(bts, DLINP, LOGL_NOTICE, "Dropping OML link: %s\n", reason); e1inp_sign_link_destroy(bts->oml_link); bts->oml_link = NULL; bts->uptime = 0; @@ -459,7 +459,7 @@ void ipaccess_drop_oml_deferred(struct gsm_bts *bts) { if (!osmo_timer_pending(&bts->oml_drop_link_timer) && bts->oml_link) { - LOGP(DLINP, LOGL_NOTICE, "(bts=%d) Deferring Drop of OML link.\n", bts->nr); + LOG_BTS(bts, DLINP, LOGL_NOTICE, "Deferring Drop of OML link.\n"); osmo_timer_setup(&bts->oml_drop_link_timer, ipaccess_drop_oml_deferred_cb, bts); osmo_timer_schedule(&bts->oml_drop_link_timer, 0, 0); } diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index 7f0aa31..669eb8e 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -113,8 +113,8 @@ /* Ignore samples too large for fixed-point calculations (shouldn't happen). */ if (lc->used > UINT16_MAX || lc->total > UINT16_MAX) { - LOGP(DRLL, LOGL_NOTICE, "(bts=%d) numbers in channel load sample " - "too large (used=%u / total=%u)\n", bts->nr, lc->used, lc->total); + LOG_BTS(bts, DRLL, LOGL_NOTICE, "numbers in channel load sample " + "too large (used=%u / total=%u)\n", lc->used, lc->total); continue; } @@ -124,8 +124,8 @@ /* Check for invalid samples (shouldn't happen). */ if (total == 0 || used > total) { - LOGP(DRLL, LOGL_NOTICE, "(bts=%d) bogus channel load sample (used=%"PRIu64" / total=%"PRIu32")\n", - bts->nr, used, total); + LOG_BTS(bts, DRLL, LOGL_NOTICE, "bogus channel load sample (used=%"PRIu64" / total=%"PRIu32")\n", + used, total); bts->T3122 = 0; /* disable override of network-wide default value */ bts->chan_load_samples_idx = 0; /* invalidate other samples collected so far */ return; @@ -153,8 +153,8 @@ /* Log channel load average. */ load = ((used / total) * 100); - LOGP(DRLL, LOGL_DEBUG, "(bts=%d) channel load average is %"PRIu64".%.2"PRIu64"%%\n", - bts->nr, (load & 0xffffff00) >> 8, (load & 0xff) / 10); + LOG_BTS(bts, DRLL, LOGL_DEBUG, "channel load average is %"PRIu64".%.2"PRIu64"%%\n", + (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); @@ -167,7 +167,7 @@ else if (wait_ind > max_wait_ind) wait_ind = max_wait_ind; - LOGP(DRLL, LOGL_DEBUG, "(bts=%d) T3122 wait indicator set to %"PRIu64" seconds\n", bts->nr, wait_ind); + 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); } diff --git a/src/osmo-bsc/e1_config.c b/src/osmo-bsc/e1_config.c index e7398ed..4389f66 100644 --- a/src/osmo-bsc/e1_config.c +++ b/src/osmo-bsc/e1_config.c @@ -72,17 +72,15 @@ int i; if (!e1_link->e1_ts) { - LOGP(DLINP, LOGL_ERROR, "TRX (%u/%u) RSL link without " - "timeslot?\n", trx->bts->nr, trx->nr); + LOG_TRX(trx, DLINP, LOGL_ERROR, "RSL link without timeslot?\n"); return -EINVAL; } /* RSL Link */ line = e1inp_line_find(e1_link->e1_nr); if (!line) { - LOGP(DLINP, LOGL_ERROR, "TRX (%u/%u) RSL link referring " - "to non-existing E1 line %u\n", trx->bts->nr, - trx->nr, e1_link->e1_nr); + LOG_TRX(trx, DLINP, LOGL_ERROR, "TRX RSL link referring to non-existing E1 line %u\n", + e1_link->e1_nr); return -ENOMEM; } sign_ts = &line->ts[e1_link->e1_ts-1]; @@ -93,8 +91,7 @@ oml_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_OML, trx, trx->rsl_tei, SAPI_OML); if (!oml_link) { - LOGP(DLINP, LOGL_ERROR, "TRX (%u/%u) OML link creation " - "failed\n", trx->bts->nr, trx->nr); + LOG_TRX(trx, DLINP, LOGL_ERROR, "TRX OML link creation failed\n"); return -ENOMEM; } if (trx->oml_link) @@ -104,8 +101,7 @@ rsl_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_RSL, trx, trx->rsl_tei, SAPI_RSL); if (!rsl_link) { - LOGP(DLINP, LOGL_ERROR, "TRX (%u/%u) RSL link creation " - "failed\n", trx->bts->nr, trx->nr); + LOG_TRX(trx, DLINP, LOGL_ERROR, "TRX RSL link creation failed\n"); return -ENOMEM; } if (trx->rsl_link) @@ -132,8 +128,8 @@ break; case E1INP_SIGN_RSL: if (link->trx->mo.nm_state.administrative == NM_STATE_LOCKED) { - LOGP(DLMI, LOGL_ERROR, "(bts=%d/trx=%d) discarding RSL message received " - "in locked administrative state\n", link->trx->bts->nr, link->trx->nr); + LOG_TRX(link->trx, DLMI, LOGL_ERROR, "discarding RSL message received " + "in locked administrative state\n"); msgb_free(msg); break; } @@ -161,17 +157,17 @@ struct timespec tp; int rc; - DEBUGP(DLMI, "e1_reconfig_bts(%u)\n", bts->nr); + LOG_BTS(bts, DLMI, LOGL_DEBUG, "e1_reconfig_bts\n"); line = e1inp_line_find(e1_link->e1_nr); if (!line) { - LOGP(DLINP, LOGL_ERROR, "BTS %u OML link referring to " - "non-existing E1 line %u\n", bts->nr, e1_link->e1_nr); + LOG_BTS(bts, DLINP, LOGL_ERROR, "BTS OML link referring to " + "non-existing E1 line %u\n", e1_link->e1_nr); return -ENOMEM; } if (!bts->model->e1line_bind_ops) { - LOGP(DLINP, LOGL_ERROR, "no callback to bind E1 line operations\n"); + LOG_BTS(bts, DLINP, LOGL_ERROR, "no callback to bind E1 line operations\n"); return -EINVAL; } if (!line->ops) @@ -184,8 +180,7 @@ /* OML link */ if (!e1_link->e1_ts) { - LOGP(DLINP, LOGL_ERROR, "BTS %u OML link without timeslot?\n", - bts->nr); + LOG_BTS(bts, DLINP, LOGL_ERROR, "BTS OML link without timeslot?\n"); return -EINVAL; } @@ -194,8 +189,7 @@ oml_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_OML, bts->c0, bts->oml_tei, SAPI_OML); if (!oml_link) { - LOGP(DLINP, LOGL_ERROR, "BTS %u OML link creation failed\n", - bts->nr); + LOG_BTS(bts, DLINP, LOGL_ERROR, "BTS OML link creation failed\n"); return -ENOMEM; } if (bts->oml_link) diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index 0a9752e..6df3b4a 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -169,7 +169,7 @@ struct gsm_lchan *lchan = NULL; enum gsm_phys_chan_config first, first_cbch, second, second_cbch; - LOGP(DRLL, LOGL_DEBUG, "(bts=%d) lchan_select_by_type(%s)\n", bts->nr, gsm_lchant_name(type)); + LOG_BTS(bts, DRLL, LOGL_DEBUG, "lchan_select_by_type(%s)\n", gsm_lchant_name(type)); switch (type) { case GSM_LCHAN_SDCCH: @@ -227,15 +227,15 @@ } break; default: - LOGP(DRLL, LOGL_ERROR, "Unknown gsm_chan_t %u\n", type); + LOG_BTS(bts, DRLL, LOGL_ERROR, "Unknown gsm_chan_t %u\n", type); } if (lchan) { lchan->type = type; LOG_LCHAN(lchan, LOGL_INFO, "Selected\n"); } else - LOGP(DRLL, LOGL_ERROR, "(bts=%d) Failed to select %s channel\n", - bts->nr, gsm_lchant_name(type)); + LOG_BTS(bts, DRLL, LOGL_ERROR, "Failed to select %s channel\n", + gsm_lchant_name(type)); return lchan; } diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c index f1fd2ad..ca52ee7 100644 --- a/src/osmo-bsc/paging.c +++ b/src/osmo-bsc/paging.c @@ -85,9 +85,9 @@ log_set_context(LOG_CTX_BSC_SUBSCR, request->bsub); - LOGP(DPAG, LOGL_INFO, "(bts=%d) Going to send paging commands: imsi: %s tmsi: " - "0x%08x for ch. type %d (attempt %d)\n", bts->nr, request->bsub->imsi, - request->bsub->tmsi, request->chan_type, request->attempts); + LOG_BTS(bts, DPAG, LOGL_INFO, "Going to send paging commands: imsi: %s tmsi: " + "0x%08x for ch. type %d (attempt %d)\n", request->bsub->imsi, + request->bsub->tmsi, request->chan_type, request->attempts); if (request->bsub->tmsi == GSM_RESERVED_TMSI) mi_len = gsm48_generate_mid_from_imsi(mi, request->bsub->imsi); @@ -115,8 +115,7 @@ { struct gsm_bts_paging_state *paging_bts = data; - LOGP(DPAG, LOGL_NOTICE, "(bts=%d) No PCH LOAD IND, adding 20 slots)\n", - paging_bts->bts->nr); + LOG_BTS(paging_bts->bts, DPAG, LOGL_NOTICE, "No PCH LOAD IND, adding 20 slots)\n"); paging_bts->available_slots = 20; paging_handle_pending_requests(paging_bts); } @@ -315,8 +314,7 @@ /* ceiling in seconds + extra time */ to = (to_us + 999999) / 1000000 + d->val; - LOGP(DPAG, LOGL_DEBUG, "(bts=%d) Paging request: T3113 expires in %u seconds\n", - bts->nr, to); + LOG_BTS(bts, DPAG, LOGL_DEBUG, "Paging request: T3113 expires in %u seconds\n", to); return to; } @@ -336,14 +334,13 @@ rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_PAGING_ATTEMPTED]); if (paging_pending_request(bts_entry, bsub)) { - LOGP(DPAG, LOGL_INFO, "(bts=%d) Paging request already pending for %s\n", - bts->nr, bsc_subscr_name(bsub)); + LOG_BTS(bts, DPAG, LOGL_INFO, "Paging request already pending for %s\n", + bsc_subscr_name(bsub)); rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_PAGING_ALREADY]); return -EEXIST; } - LOGP(DPAG, LOGL_DEBUG, "(bts=%d) Start paging of subscriber %s\n", bts->nr, - bsc_subscr_name(bsub)); + LOG_BTS(bts, DPAG, LOGL_DEBUG, "Start paging of subscriber %s\n", bsc_subscr_name(bsub)); req = talloc_zero(tall_paging_ctx, struct gsm_paging_request); OSMO_ASSERT(req); req->bsub = bsc_subscr_get(bsub); @@ -407,8 +404,7 @@ if (req->bsub == bsub) { /* now give up the data structure */ paging_remove_request(&bts->paging, req); - LOGP(DPAG, LOGL_DEBUG, "(bts=%d) Stop paging %s\n", bts->nr, - bsc_subscr_name(bsub)); + LOG_BTS(bts, DPAG, LOGL_DEBUG, "Stop paging %s\n", bsc_subscr_name(bsub)); return 0; } } @@ -498,8 +494,7 @@ if (msc && req->msc != msc) continue; /* now give up the data structure */ - LOGP(DPAG, LOGL_DEBUG, "(bts=%d) Stop paging %s (flush)\n", bts->nr, - bsc_subscr_name(req->bsub)); + LOG_BTS(bts, DPAG, LOGL_DEBUG, "Stop paging %s (flush)\n", bsc_subscr_name(req->bsub)); paging_remove_request(&bts->paging, req); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4a7814d164384eecfb6913c31802cf2faead6e6c Gerrit-Change-Number: 14439 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 13 15:04:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:04:13 +0000 Subject: Change in ...osmo-bsc[master]: logging: introduce LOG_BTS and LOG_TRX and use it everywhere In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc/+/14439 ) Change subject: logging: introduce LOG_BTS and LOG_TRX and use it everywhere ...................................................................... logging: introduce LOG_BTS and LOG_TRX and use it everywhere It's quite ugly to have manual "bts=%d" printf-statements all over the BSC code. Let's change this to use shared logging helper functions all over the place, whenever we need to log something related to one BTS or one TRX. This can also help us as the first step to later add alternative logging of BTS identities, e.g. by printing the Cell Global Identifier or LAC+CI, or even a human-readable/vty-defined 'name' of the BTS, rather than its numeric bts number. With this change in place, we can introduce such changes at a single location in the code. Change-Id: I4a7814d164384eecfb6913c31802cf2faead6e6c --- M include/osmocom/bsc/debug.h M src/osmo-bsc/abis_nm.c M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/acc_ramp.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/chan_alloc.c M src/osmo-bsc/e1_config.c M src/osmo-bsc/lchan_select.c M src/osmo-bsc/paging.c 9 files changed, 89 insertions(+), 105 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/39/14439/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4a7814d164384eecfb6913c31802cf2faead6e6c Gerrit-Change-Number: 14439 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 15:20:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 15:20:39 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Fix race condition in TC_ctrl_location Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14440 Change subject: bscnat: Fix race condition in TC_ctrl_location ...................................................................... bscnat: Fix race condition in TC_ctrl_location Change-Id: Ifb5a2a9936fff94511a6bd11bd8e155a3d3e2d82 --- M bsc-nat/BSC_MS_Simulation.ttcn 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/40/14440/1 diff --git a/bsc-nat/BSC_MS_Simulation.ttcn b/bsc-nat/BSC_MS_Simulation.ttcn index 453f304..0582576 100644 --- a/bsc-nat/BSC_MS_Simulation.ttcn +++ b/bsc-nat/BSC_MS_Simulation.ttcn @@ -10,6 +10,7 @@ * SPDX-License-Identifier: GPL-2.0-or-later */ +import from Osmocom_Types all; import from IPL4asp_Types all; import from IPA_Emulation all; @@ -83,6 +84,10 @@ f_ctrl_trap(SCCPLITE_IPA_CTRL, "bts.0.location-state", "1234567,fix3d,0.340000,0.560000,0.780000,operational,unlocked,on,001,01"); f_ctrl_exp_set(SCCPLITE_IPA_CTRL, "rf_locked", "1", "1"); + /* Leave some time for SET_REPLY to reach the other side before closing + conn towards BSC-NAT, otherwise TCP FIN is sent before SET_REPLY and + bsc-nat sends a CTRL ERR to whoever sent the SET cmd. */ + f_sleep(1.0); } function main(charstring remote_ip, PortNumber remote_port, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifb5a2a9936fff94511a6bd11bd8e155a3d3e2d82 Gerrit-Change-Number: 14440 Gerrit-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 13 15:20:40 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 15:20:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Add missing setverdict(pass) at the end Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14441 Change subject: bscnat: Add missing setverdict(pass) at the end ...................................................................... bscnat: Add missing setverdict(pass) at the end Without this line, tests like TC_ctrl_location end up with verdict "none". Change-Id: I139a2ef63685b0f646fd9069031f92cf20eeca1e --- M bsc-nat/BSCNAT_Tests.ttcn 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/41/14441/1 diff --git a/bsc-nat/BSCNAT_Tests.ttcn b/bsc-nat/BSCNAT_Tests.ttcn index e97eb83..41d58d7 100644 --- a/bsc-nat/BSCNAT_Tests.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -192,6 +192,7 @@ for (i := 0; i < NUM_MSC; i := i+1) { msc[i].MSC.stop; } + setverdict(pass); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I139a2ef63685b0f646fd9069031f92cf20eeca1e Gerrit-Change-Number: 14441 Gerrit-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 13 15:31:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:31:37 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Add missing setverdict(pass) at the end In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14441 ) Change subject: bscnat: Add missing setverdict(pass) at the end ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I139a2ef63685b0f646fd9069031f92cf20eeca1e Gerrit-Change-Number: 14441 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 15:31: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 13 15:31:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:31:57 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Start test global timers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14438 ) Change subject: bscnat: Start test global timers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I40672bb72fdd1624efcb8d3ee858b17c0188172b Gerrit-Change-Number: 14438 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 15:31:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 15:32:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:32:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Fix race condition in TC_ctrl_location In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14440 ) Change subject: bscnat: Fix race condition in TC_ctrl_location ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifb5a2a9936fff94511a6bd11bd8e155a3d3e2d82 Gerrit-Change-Number: 14440 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 15:32: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 13 15:32:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:32:08 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Start test global timers In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14438 ) Change subject: bscnat: Start test global timers ...................................................................... bscnat: Start test global timers Change-Id: I40672bb72fdd1624efcb8d3ee858b17c0188172b --- M bsc-nat/BSCNAT_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc-nat/BSCNAT_Tests.ttcn b/bsc-nat/BSCNAT_Tests.ttcn index 9d2fc4b..e97eb83 100644 --- a/bsc-nat/BSCNAT_Tests.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -197,6 +197,7 @@ function f_TC_recv_dump(boolean use_osmux := false) runs on test_CT { timer T := 30.0; + T.start; f_init(refers(bsc_ms_establish_fully), refers(bsc_do_nothing), @@ -216,6 +217,7 @@ testcase TC_ctrl_location() runs on test_CT { timer T := 30.0; + T.start; f_init(refers(bsc_ms_do_nothing), refers(bsc_ctrl_location), -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I40672bb72fdd1624efcb8d3ee858b17c0188172b Gerrit-Change-Number: 14438 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 Thu Jun 13 15:32:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:32:08 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Fix race condition in TC_ctrl_location In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14440 ) Change subject: bscnat: Fix race condition in TC_ctrl_location ...................................................................... bscnat: Fix race condition in TC_ctrl_location Change-Id: Ifb5a2a9936fff94511a6bd11bd8e155a3d3e2d82 --- M bsc-nat/BSC_MS_Simulation.ttcn 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc-nat/BSC_MS_Simulation.ttcn b/bsc-nat/BSC_MS_Simulation.ttcn index 453f304..0582576 100644 --- a/bsc-nat/BSC_MS_Simulation.ttcn +++ b/bsc-nat/BSC_MS_Simulation.ttcn @@ -10,6 +10,7 @@ * SPDX-License-Identifier: GPL-2.0-or-later */ +import from Osmocom_Types all; import from IPL4asp_Types all; import from IPA_Emulation all; @@ -83,6 +84,10 @@ f_ctrl_trap(SCCPLITE_IPA_CTRL, "bts.0.location-state", "1234567,fix3d,0.340000,0.560000,0.780000,operational,unlocked,on,001,01"); f_ctrl_exp_set(SCCPLITE_IPA_CTRL, "rf_locked", "1", "1"); + /* Leave some time for SET_REPLY to reach the other side before closing + conn towards BSC-NAT, otherwise TCP FIN is sent before SET_REPLY and + bsc-nat sends a CTRL ERR to whoever sent the SET cmd. */ + f_sleep(1.0); } function main(charstring remote_ip, PortNumber remote_port, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifb5a2a9936fff94511a6bd11bd8e155a3d3e2d82 Gerrit-Change-Number: 14440 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 Thu Jun 13 15:32:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:32:08 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bscnat: Add missing setverdict(pass) at the end In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14441 ) Change subject: bscnat: Add missing setverdict(pass) at the end ...................................................................... bscnat: Add missing setverdict(pass) at the end Without this line, tests like TC_ctrl_location end up with verdict "none". Change-Id: I139a2ef63685b0f646fd9069031f92cf20eeca1e --- M bsc-nat/BSCNAT_Tests.ttcn 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc-nat/BSCNAT_Tests.ttcn b/bsc-nat/BSCNAT_Tests.ttcn index e97eb83..41d58d7 100644 --- a/bsc-nat/BSCNAT_Tests.ttcn +++ b/bsc-nat/BSCNAT_Tests.ttcn @@ -192,6 +192,7 @@ for (i := 0; i < NUM_MSC; i := i+1) { msc[i].MSC.stop; } + setverdict(pass); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I139a2ef63685b0f646fd9069031f92cf20eeca1e Gerrit-Change-Number: 14441 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 Thu Jun 13 15:33:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:33:31 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/L1CTL_PortType.ttcn: clarify and unify timeout messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14420 ) Change subject: library/L1CTL_PortType.ttcn: clarify and unify timeout messages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I25e8230c2e4b29b2583bf8954d0dedaa18e5d6ae Gerrit-Change-Number: 14420 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 13 Jun 2019 15:33: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 13 15:33:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:33:34 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/L1CTL_PortType.ttcn: clarify and unify timeout messages In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14420 ) Change subject: library/L1CTL_PortType.ttcn: clarify and unify timeout messages ...................................................................... library/L1CTL_PortType.ttcn: clarify and unify timeout messages It's way more cleaner when you see: Timeout waiting for L1CTL_RACH_CONF instead of: Timeout in RACH. Change-Id: I25e8230c2e4b29b2583bf8954d0dedaa18e5d6ae --- M library/L1CTL_PortType.ttcn 1 file changed, 7 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/L1CTL_PortType.ttcn b/library/L1CTL_PortType.ttcn index 7af680c..2423715 100644 --- a/library/L1CTL_PortType.ttcn +++ b/library/L1CTL_PortType.ttcn @@ -59,7 +59,7 @@ } [] pt.receive { repeat; }; [] T.timeout { - setverdict(fail, "Timeout in FBSB") + setverdict(fail, "Timeout waiting for L1CTL_FBSB_CONF"); mtc.stop; }; } @@ -74,7 +74,7 @@ [] pt.receive(tr_L1CTL_CCCH_MODE_CONF) { } [] pt.receive { repeat; } [] T.timeout { - setverdict(fail, "Timeout in CCH_MODE"); + setverdict(fail, "Timeout waiting for L1CTL_CCCH_MODE_CONF"); mtc.stop; } } @@ -93,7 +93,7 @@ [] pt.receive(tr_L1CTL_RACH_CONF) -> value rc { fn := rc.dl_info.frame_nr }; [] pt.receive { repeat; }; [] T.timeout { - setverdict(fail, "Timeout in RACH"); + setverdict(fail, "Timeout waiting for L1CTL_RACH_CONF"); mtc.stop; } } @@ -114,7 +114,7 @@ [] pt.receive(tr_L1CTL_RACH_CONF) -> value rc { fn := rc.dl_info.frame_nr }; [] pt.receive { repeat; }; [] T.timeout { - setverdict(fail, "Timeout in extended RACH"); + setverdict(fail, "Timeout waiting for (extended) L1CTL_RACH_CONF"); mtc.stop; } } @@ -168,7 +168,7 @@ }; [] pt.receive { repeat }; [] T.timeout { - setverdict(fail, "Timeout waiting for IMM ASS"); + setverdict(fail, "Timeout waiting for TBF IMM ASS"); mtc.stop; } } @@ -184,7 +184,7 @@ [] pt.receive(tr_L1CTL_TBF_CFG_CONF(is_uplink)) {} [] pt.receive { repeat }; [] T.timeout { - setverdict(fail, "Timeout waiting for TBF-CFG.conf"); + setverdict(fail, "Timeout waiting for L1CTL_TBF_CFG_CONF"); mtc.stop; }; } @@ -213,7 +213,7 @@ [] pt.receive(tr_L1CTL_MsgType(L1CTL_RESET_CONF)) { } [] pt.receive { repeat; } [] T.timeout { - setverdict(fail, "Timeout waiting for RESET.conf"); + setverdict(fail, "Timeout waiting for L1CTL_RESET_CONF"); mtc.stop; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I25e8230c2e4b29b2583bf8954d0dedaa18e5d6ae Gerrit-Change-Number: 14420 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 15:34:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:34:01 +0000 Subject: Change in ...libosmocore[master]: logging: Check return error from time() call In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14432 ) Change subject: logging: Check return error from time() call ...................................................................... logging: Check return error from time() call Related: OS#4055 Change-Id: Ief155a76169426a677256e09d3e91751c4e2529f --- M src/logging.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/logging.c b/src/logging.c index 73a9c52..4c86473 100644 --- a/src/logging.c +++ b/src/logging.c @@ -361,7 +361,8 @@ } else if (target->print_timestamp) { char *timestr; time_t tm; - tm = time(NULL); + if ((tm = time(NULL)) == (time_t) -1) + goto err; timestr = ctime(&tm); timestr[strlen(timestr)-1] = '\0'; ret = snprintf(buf + offset, rem, "%s ", timestr); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ief155a76169426a677256e09d3e91751c4e2529f Gerrit-Change-Number: 14432 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 15:34:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:34:35 +0000 Subject: Change in ...osmo-hlr[master]: rx_check_imei_req(): fix IMEI bounds checking In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14399 ) Change subject: rx_check_imei_req(): fix IMEI bounds checking ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I060a8db98fb882e4815d1709a5d85bc0143a73a6 Gerrit-Change-Number: 14399 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 15:34: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 13 15:34:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:34:36 +0000 Subject: Change in ...osmo-hlr[master]: rx_check_imei_req(): fix IMEI bounds checking In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14399 ) Change subject: rx_check_imei_req(): fix IMEI bounds checking ...................................................................... rx_check_imei_req(): fix IMEI bounds checking IMEIs (without the checksum) always have 14 digits. Replace the previous check (length <= 14) with a proper one (length == 14) and set the buffer to the right size. While at it, add the return code of gsm48_decode_bc_number2() to the error log message. I have tested with new TTCN3 tests, that the length check is working properly now. Related: OS#2541 Change-Id: I060a8db98fb882e4815d1709a5d85bc0143a73a6 --- M src/hlr.c 1 file changed, 17 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/hlr.c b/src/hlr.c index 33d2828..90cbac4 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -477,18 +477,28 @@ { struct osmo_gsup_message gsup_reply = {0}; struct msgb *msg_out; - char imei[GSM23003_IMEI_NUM_DIGITS+1] = {0}; + char imei[GSM23003_IMEI_NUM_DIGITS_NO_CHK+1] = {0}; + int rc; - /* Encoded IMEI length check */ - if (!gsup->imei_enc || gsup->imei_enc_len < 1 || gsup->imei_enc[0] >= sizeof(imei)) { - LOGP(DMAIN, LOGL_ERROR, "%s: wrong encoded IMEI length\n", gsup->imsi); + /* Require IMEI */ + if (!gsup->imei_enc) { + LOGP(DMAIN, LOGL_ERROR, "%s: missing IMEI\n", gsup->imsi); gsup_send_err_reply(conn, gsup->imsi, gsup->message_type, GMM_CAUSE_INV_MAND_INFO); return -1; } - /* Decode IMEI */ - if (gsm48_decode_bcd_number2(imei, sizeof(imei), gsup->imei_enc, gsup->imei_enc_len, 0) < 0) { - LOGP(DMAIN, LOGL_ERROR, "%s: failed to decode IMEI\n", gsup->imsi); + /* Decode IMEI (fails if IMEI is too long) */ + rc = gsm48_decode_bcd_number2(imei, sizeof(imei), gsup->imei_enc, gsup->imei_enc_len, 0); + if (rc < 0) { + LOGP(DMAIN, LOGL_ERROR, "%s: failed to decode IMEI (rc: %i)\n", gsup->imsi, rc); + gsup_send_err_reply(conn, gsup->imsi, gsup->message_type, GMM_CAUSE_INV_MAND_INFO); + return -1; + } + + /* Check if IMEI is too short */ + if (strlen(imei) != GSM23003_IMEI_NUM_DIGITS_NO_CHK) { + LOGP(DMAIN, LOGL_ERROR, "%s: wrong encoded IMEI length (IMEI: '%s', %lu, %i)\n", gsup->imsi, imei, + strlen(imei), GSM23003_IMEI_NUM_DIGITS_NO_CHK); gsup_send_err_reply(conn, gsup->imsi, gsup->message_type, GMM_CAUSE_INV_MAND_INFO); return -1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I060a8db98fb882e4815d1709a5d85bc0143a73a6 Gerrit-Change-Number: 14399 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 15:35:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:35:51 +0000 Subject: Change in ...osmo-pcu[master]: gprs_bssgp_pcu: explicit allocate & initialize bssgp_nsi instance In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14171 ) Change subject: gprs_bssgp_pcu: explicit allocate & initialize bssgp_nsi instance ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2aa53ea54e9352577f6280ad7b9d1d9da9f57eaf Gerrit-Change-Number: 14171 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 13 Jun 2019 15:35: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 13 15:35:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:35:53 +0000 Subject: Change in ...osmo-pcu[master]: gprs_bssgp_pcu: explicit allocate & initialize bssgp_nsi instance In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14171 ) Change subject: gprs_bssgp_pcu: explicit allocate & initialize bssgp_nsi instance ...................................................................... gprs_bssgp_pcu: explicit allocate & initialize bssgp_nsi instance The instance bssgp_nsi is a global instance to be used by all NS related functions. Previous the PCU allocated and initialized the bssgp_nsi instance when (re-)connecting and freeing on disconnect. The problem of the implicit initialisation is gprs_ns_vty_init(bssgp_nsi). All vty init functions must be called before the configuration is read, otherwise a previous vty written configuration is invalid. Furthermore the vty modifications to the `ns` object were lost when the PCU has to reconnect to the SGSN. Fixes: OS#4024 Change-Id: I2aa53ea54e9352577f6280ad7b9d1d9da9f57eaf --- M src/gprs_bssgp_pcu.cpp M src/pcu_main.cpp M tests/emu/pcu_emu.cpp M tests/tbf/TbfTest.cpp 4 files changed, 49 insertions(+), 17 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index 50f10db..22abc6b 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -875,11 +875,6 @@ { struct gprs_nsvc *nsvc2; - if (!bssgp_nsi) { - LOGP(DBSSGP, LOGL_ERROR, "NS instance does not exist\n"); - return -EINVAL; - } - if (nsvc != the_pcu.nsvc) { LOGP(DBSSGP, LOGL_ERROR, "NSVC is invalid\n"); return -EBADF; @@ -913,12 +908,6 @@ the_pcu.bts = bts; - bssgp_nsi = gprs_ns_instantiate(&gprs_bssgp_ns_cb, tall_pcu_ctx); - if (!bssgp_nsi) { - LOGP(DBSSGP, LOGL_ERROR, "Failed to create NS instance\n"); - return NULL; - } - gprs_ns_vty_init(bssgp_nsi); /* don't specify remote IP/port if SNS dialect is in use; Doing so would * issue a connect() on the socket, which prevents us to dynamically communicate * with any number of IP-SNS endpoints on the SGSN side */ @@ -930,8 +919,7 @@ rc = gprs_ns_nsip_listen(bssgp_nsi); if (rc < 0) { LOGP(DBSSGP, LOGL_ERROR, "Failed to create socket\n"); - gprs_ns_destroy(bssgp_nsi); - bssgp_nsi = NULL; + gprs_ns_close(bssgp_nsi); return NULL; } @@ -945,8 +933,7 @@ the_pcu.nsvc = gprs_ns_nsip_connect(bssgp_nsi, &dest, nsei, nsvci); if (!the_pcu.nsvc) { LOGP(DBSSGP, LOGL_ERROR, "Failed to create NSVCt\n"); - gprs_ns_destroy(bssgp_nsi); - bssgp_nsi = NULL; + gprs_ns_close(bssgp_nsi); return NULL; } @@ -954,8 +941,7 @@ if (!the_pcu.bctx) { LOGP(DBSSGP, LOGL_ERROR, "Failed to create BSSGP context\n"); the_pcu.nsvc = NULL; - gprs_ns_destroy(bssgp_nsi); - bssgp_nsi = NULL; + gprs_ns_close(bssgp_nsi); return NULL; } the_pcu.bctx->ra_id.mcc = spoof_mcc ? : mcc; diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp index 1003e3c..fa075cd 100644 --- a/src/pcu_main.cpp +++ b/src/pcu_main.cpp @@ -33,6 +33,8 @@ #include #include #include +#include "gprs_bssgp_pcu.h" + extern "C" { #include "pcu_vty.h" #include @@ -291,6 +293,13 @@ else fprintf(stderr, "Failed to initialize GSMTAP for %s\n", gsmtap_addr); + bssgp_nsi = gprs_ns_instantiate(&gprs_bssgp_ns_cb, tall_pcu_ctx); + if (!bssgp_nsi) { + LOGP(DBSSGP, LOGL_ERROR, "Failed to create NS instance\n"); + exit(1); + } + gprs_ns_vty_init(bssgp_nsi); + rc = vty_read_config_file(config_file, NULL); if (rc < 0 && config_given) { fprintf(stderr, "Failed to parse the config file: '%s'\n", diff --git a/tests/emu/pcu_emu.cpp b/tests/emu/pcu_emu.cpp index 354a328..e0190bf 100644 --- a/tests/emu/pcu_emu.cpp +++ b/tests/emu/pcu_emu.cpp @@ -113,6 +113,13 @@ msgb_talloc_ctx_init(tall_pcu_ctx, 0); osmo_init_logging2(tall_pcu_ctx, &gprs_log_info); + + bssgp_nsi = gprs_ns_instantiate(&gprs_bssgp_ns_cb, tall_pcu_ctx); + if (!bssgp_nsi) { + LOGP(DBSSGP, LOGL_ERROR, "Failed to create NS instance\n"); + abort(); + } + vty_init(&pcu_vty_info); pcu_vty_init(&gprs_log_info); diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 151e7fa..675cf89 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -447,6 +447,12 @@ printf("=== start %s ===\n", __func__); + bssgp_nsi = gprs_ns_instantiate(&gprs_bssgp_ns_cb, tall_pcu_ctx); + if (!bssgp_nsi) { + LOGP(DBSSGP, LOGL_ERROR, "Failed to create NS instance\n"); + abort(); + } + bts = the_bts.bts_data(); setup_bts(&the_bts, ts_no); gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, 1234, 1234, 1234, 1, 1, false, 0, 0, 0); @@ -485,6 +491,12 @@ uint8_t buf[19]; + bssgp_nsi = gprs_ns_instantiate(&gprs_bssgp_ns_cb, tall_pcu_ctx); + if (!bssgp_nsi) { + LOGP(DBSSGP, LOGL_ERROR, "Failed to create NS instance\n"); + abort(); + } + printf("=== start %s ===\n", __func__); bts = the_bts.bts_data(); @@ -2171,6 +2183,12 @@ printf("=== start %s ===\n", __func__); + bssgp_nsi = gprs_ns_instantiate(&gprs_bssgp_ns_cb, tall_pcu_ctx); + if (!bssgp_nsi) { + LOGP(DBSSGP, LOGL_ERROR, "Failed to create NS instance\n"); + abort(); + } + bts = the_bts.bts_data(); setup_bts(&the_bts, ts_no); @@ -2227,6 +2245,12 @@ printf("=== start %s ===\n", __func__); + bssgp_nsi = gprs_ns_instantiate(&gprs_bssgp_ns_cb, tall_pcu_ctx); + if (!bssgp_nsi) { + LOGP(DBSSGP, LOGL_ERROR, "Failed to create NS instance\n"); + abort(); + } + bts = the_bts.bts_data(); setup_bts(&the_bts, ts_no); @@ -2264,6 +2288,12 @@ printf("=== start %s ===\n", __func__); + bssgp_nsi = gprs_ns_instantiate(&gprs_bssgp_ns_cb, tall_pcu_ctx); + if (!bssgp_nsi) { + LOGP(DBSSGP, LOGL_ERROR, "Failed to create NS instance\n"); + abort(); + } + bts = the_bts.bts_data(); setup_bts(&the_bts, ts_no); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2aa53ea54e9352577f6280ad7b9d1d9da9f57eaf Gerrit-Change-Number: 14171 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Thu Jun 13 15:37:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:37:12 +0000 Subject: Change in ...osmo-bts[master]: l1sap: Compute statistics on FN advance in PH-RTS.ind In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14336 ) Change subject: l1sap: Compute statistics on FN advance in PH-RTS.ind ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8f739fdb808a614f080afbc4654641ec3df19eb2 Gerrit-Change-Number: 14336 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 15: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 Thu Jun 13 15:37:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:37:14 +0000 Subject: Change in ...osmo-bts[master]: l1sap: Compute statistics on FN advance in PH-RTS.ind In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14336 ) Change subject: l1sap: Compute statistics on FN advance in PH-RTS.ind ...................................................................... l1sap: Compute statistics on FN advance in PH-RTS.ind Let's keep some statistics about the min/max/average frame number advance that we're observing above L1SAP when comparing the time in the PH-RTS.ind and the frame number we observe in PH-DATA.ind of data that was received on the uplink. The statistics are currently only shown in the VTY, but this is a precursor to using them to correctly advance the LAPDm timers in a follow-up patch. Change-Id: I8f739fdb808a614f080afbc4654641ec3df19eb2 Related: OS#2294 Related: OS#3906 --- M include/osmo-bts/bts.h M include/osmo-bts/gsm_data_shared.h M src/common/bts.c M src/common/l1sap.c M src/common/vty.c 5 files changed, 46 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index 970fb1b..4d13214 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -65,5 +65,7 @@ int bts_supports_cm(struct gsm_bts *bts, enum gsm_phys_chan_config pchan, enum gsm48_chan_mode cm); +int32_t bts_get_avg_fn_advance(struct gsm_bts *bts); + #endif /* _BTS_H */ diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index 90772e2..f972a67 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -738,6 +738,14 @@ uint8_t tc4_ctr; } si; struct gsm_time gsm_time; + /* frame number statistics (FN in PH-RTS.ind vs. PH-DATA.ind */ + struct { + int32_t min; /* minimum observed */ + int32_t max; /* maximum observed */ + int32_t avg256; /* accumulator */ + uint32_t avg_count; /* number of samples accumulated in avg256 */ + uint32_t avg_window; /* number of averages in avg_count */ + } fn_stats; /* Radio Link Timeout counter. -1 disables timeout for * lab/measurement purpose */ int radio_link_timeout; diff --git a/src/common/bts.c b/src/common/bts.c index 596e5e0..c57d9f4 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -223,6 +223,11 @@ rc = osmo_fsm_register(&dtx_dl_amr_fsm); OSMO_ASSERT(rc == 0); + bts->fn_stats.min = INT32_MAX; + bts->fn_stats.max = INT32_MIN; + bts->fn_stats.avg_count = 0; + bts->fn_stats.avg_window = 256; + return rc; } diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 59d5b93..b730b85 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -719,6 +719,33 @@ return l1sap_fn2ccch_block(fn) < num_agch(trx, "PH-RTS-IND"); } +/* return the measured average of frame numbers that the RTS clock is running in advance */ +int32_t bts_get_avg_fn_advance(struct gsm_bts *bts) +{ + if (bts->fn_stats.avg_count == 0) + return 0; + return bts->fn_stats.avg256 / bts->fn_stats.avg_count; +} + +static void l1sap_update_fnstats(struct gsm_bts *bts, uint32_t rts_fn) +{ + int32_t delta = (rts_fn + GSM_HYPERFRAME - bts->gsm_time.fn) % GSM_HYPERFRAME; + + if (delta < bts->fn_stats.min) + bts->fn_stats.min = delta; + if (delta > bts->fn_stats.max) + bts->fn_stats.max = delta; + + if (bts->fn_stats.avg_count > bts->fn_stats.avg_window) { + /* reset and start old average and new sample */ + bts->fn_stats.avg256 = (bts->fn_stats.avg256 / bts->fn_stats.avg_count) + delta; + bts->fn_stats.avg_count = 2; + } else { + bts->fn_stats.avg256 += delta; + bts->fn_stats.avg_count++; + } +} + /* PH-RTS-IND prim received from bts model */ static int l1sap_ph_rts_ind(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap, struct ph_data_param *rts_ind) @@ -745,6 +772,8 @@ DEBUGPGT(DL1P, &g_time, "Rx PH-RTS.ind chan_nr=%s link_id=0x%02xd\n", rsl_chan_nr_str(chan_nr), link_id); + l1sap_update_fnstats(trx->bts, fn); + /* reuse PH-RTS.ind for PH-DATA.req */ if (!msg) { LOGPGT(DL1P, LOGL_FATAL, &g_time, "RTS without msg to be reused. Please fix!\n"); diff --git a/src/common/vty.c b/src/common/vty.c index 1d25bfb..f4fc181 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -895,6 +895,8 @@ VTY_NEWLINE); vty_out(vty, " OML Link state: %s.%s", bts->oml_link ? "connected" : "disconnected", VTY_NEWLINE); + vty_out(vty, " PH-RTS.ind FN advance average: %d, min: %d, max: %d%s", + bts_get_avg_fn_advance(bts), bts->fn_stats.min, bts->fn_stats.max, VTY_NEWLINE); llist_for_each_entry(trx, &bts->trx_list, list) { struct phy_instance *pinst = trx_phy_instance(trx); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8f739fdb808a614f080afbc4654641ec3df19eb2 Gerrit-Change-Number: 14336 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 Thu Jun 13 15:37:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:37:55 +0000 Subject: Change in ...osmo-bts[master]: [correctly] use the LAPDm T200 values received via OML In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14337 ) Change subject: [correctly] use the LAPDm T200 values received via OML ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If8babda9e3e5e219908911ddd9c0756b5ea0bca4 Gerrit-Change-Number: 14337 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 15:37:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 15:37:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:37:58 +0000 Subject: Change in ...osmo-bts[master]: Update T200 timer default values In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14338 ) Change subject: Update T200 timer default values ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic1268ae2d769b12da6cdd4ac8375e4bc033a9e3e Gerrit-Change-Number: 14338 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 15:37: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 13 15:38:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:38:00 +0000 Subject: Change in ...osmo-bts[master]: lapdm: Use new libosmocore API to ensure per-channel-type N200 values In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14340 ) Change subject: lapdm: Use new libosmocore API to ensure per-channel-type N200 values ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0e814fbae13e0feddd148c47255dcc38cb718f48 Gerrit-Change-Number: 14340 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 15:38:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 15:38:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:38:02 +0000 Subject: Change in ...osmo-bts[master]: [correctly] use the LAPDm T200 values received via OML In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14337 ) Change subject: [correctly] use the LAPDm T200 values received via OML ...................................................................... [correctly] use the LAPDm T200 values received via OML As per GSM TS 12.21, the LAPDm timers (T200) of the LAPDm instances in the BTS are configured via OML from the BSC. While OsmoBSC is sending them and OsmoBTS is parsing them, OsmoBTS stopped to make use of them from commit 3ca59512d2f4eb1f87699e8fada67f33674918b4 (January 2016) onwards. The cause for this has been documented and discovered in May 2017 in https://osmocom.org/issues/2294 and it is quite obvious: LAPDm timers are supposed to start when a given frame is actually transmitted on the radio interface. PH-RTS.ind and PH-DATA.req are suppsed to be used over a synchronous interface in some deeply embedded processor. With OsmoBTS however, we have an asynchronous L1/L2 interface between a DSP (osmo-bts-{sysmo,lc15,oc2g,octphy}) or OsmoTRX (osmo-bts-trx) and we receive PH-RTS.ind quite some time ahead. So if we start T200 at that point, then it will start running way before it has been sent or before the MS has had a chance to receive the message. The "correct" way to handle this is to actually measure the difference between frame numbers in PH-RTS.ind (uplink, advanced) and PH-DATA.ind (downlink) or PH-TIME.ind, and then add that amount to the actual timeout value. This ensures that the timers will time-out the user-specified amount of time after the actual transmit. Change-Id: If8babda9e3e5e219908911ddd9c0756b5ea0bca4 Closes: OS#2294 Closes: OS#3906 --- M src/common/oml.c 1 file changed, 13 insertions(+), 16 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/oml.c b/src/common/oml.c index d264a6e..ad58cb9 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -488,8 +488,15 @@ [T200_SACCH_TCH_SAPI3] = 2000, }; -static void dl_set_t200(struct lapdm_datalink *dl, unsigned int t200_msec) +static void dl_set_t200(struct gsm_bts *bts, struct lapdm_datalink *dl, unsigned int t200_msec) { + int32_t fn_advance = bts_get_avg_fn_advance(bts); + int32_t fn_advance_us = fn_advance * 4615; /* 4.615 ms per frame */ + + /* we have to compensate for the "RTS advance" due to the asynchronous interface between + * the BTS (LAPDm) and the PHY/L1 (OsmoTRX or DSP in case of osmo-bts-{sysmo,lc15,oc2g,octphy} */ + t200_msec += fn_advance_us / 1000; + dl->dl.t200_sec = t200_msec / 1000; dl->dl.t200_usec = (t200_msec % 1000) * 1000; } @@ -528,10 +535,10 @@ LOGPLCHAN(lchan, DLLAPD, LOGL_DEBUG, "Setting T200 D0=%u, D3=%u, S0=%u, S3=%u (all in ms)\n", t200_dcch, t200_dcch_sapi3, t200_acch, t200_acch_sapi3); - dl_set_t200(&lc->lapdm_dcch.datalink[DL_SAPI0], t200_dcch); - dl_set_t200(&lc->lapdm_dcch.datalink[DL_SAPI3], t200_dcch_sapi3); - dl_set_t200(&lc->lapdm_acch.datalink[DL_SAPI0], t200_acch); - dl_set_t200(&lc->lapdm_acch.datalink[DL_SAPI3], t200_acch_sapi3); + dl_set_t200(bts, &lc->lapdm_dcch.datalink[DL_SAPI0], t200_dcch); + dl_set_t200(bts, &lc->lapdm_dcch.datalink[DL_SAPI3], t200_dcch_sapi3); + dl_set_t200(bts, &lc->lapdm_acch.datalink[DL_SAPI0], t200_acch); + dl_set_t200(bts, &lc->lapdm_acch.datalink[DL_SAPI3], t200_acch_sapi3); return 0; } @@ -674,20 +681,10 @@ payload = TLVP_VAL(&tp, NM_ATT_T200); for (i = 0; i < ARRAY_SIZE(bts->t200_ms); i++) { uint32_t t200_ms = payload[i] * abis_nm_t200_ms[i]; -#if 0 bts->t200_ms[i] = t200_ms; DEBUGPFOH(DOML, foh, "T200[%u]: OML=%u, mult=%u => %u ms\n", - i, payload[i], abis_nm_t200_mult[i], + i, payload[i], abis_nm_t200_ms[i], bts->t200_ms[i]); -#else - /* we'd rather use the 1s/2s (long) defaults by - * libosmocore, as we appear to have some bug(s) - * related to handling T200 expiration in - * libosmogsm lapd(m) code? */ - LOGPFOH(DOML, LOGL_NOTICE, foh, "Ignoring T200[%u] (%u ms) " - "as sent by BSC due to suspected LAPDm bug!\n", - i, t200_ms); -#endif } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If8babda9e3e5e219908911ddd9c0756b5ea0bca4 Gerrit-Change-Number: 14337 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 Thu Jun 13 15:38:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:38:02 +0000 Subject: Change in ...osmo-bts[master]: Update T200 timer default values In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14338 ) Change subject: Update T200 timer default values ...................................................................... Update T200 timer default values The default values of 1s were *very* long, particularly for fast channels such as FACCH. Let's use much more aggressive values that are more in-line with various recommendations that cold be found online, such as https://pcstelconext.wordpress.com/2011/05/02/2g-timer-explanations/ https://www.erlang.com/forum/erlang/thread.htx?thread=2844 https://www.erlang.com/forum/erlang/thread.htx?thread=7180 https://de.slideshare.net/BisiAdebambo/138078380-gsmtimers-59637131 Change-Id: Ic1268ae2d769b12da6cdd4ac8375e4bc033a9e3e --- M src/common/oml.c 1 file changed, 9 insertions(+), 9 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/oml.c b/src/common/oml.c index ad58cb9..7d24509 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -476,16 +476,16 @@ return oml_mo_send_msg(mo, nmsg, NM_MT_SW_ACTIVATED_REP); } -/* The defaults below correspond to the libosmocore default of 1s for - * DCCH and 2s for ACCH. The BSC should override this via OML anyway. */ +/* The defaults below correspond to various sources/recommendations that could be found online. + * The BSC should override this via OML anyway. */ const unsigned int oml_default_t200_ms[7] = { - [T200_SDCCH] = 1000, - [T200_FACCH_F] = 1000, - [T200_FACCH_H] = 1000, - [T200_SACCH_TCH_SAPI0] = 2000, - [T200_SACCH_SDCCH] = 2000, - [T200_SDCCH_SAPI3] = 1000, - [T200_SACCH_TCH_SAPI3] = 2000, + [T200_SDCCH] = 220, + [T200_SDCCH_SAPI3] = 450, + [T200_SACCH_SDCCH] = 900, + [T200_FACCH_F] = 250, + [T200_FACCH_H] = 250, + [T200_SACCH_TCH_SAPI0] = 1500, + [T200_SACCH_TCH_SAPI3] = 1500, }; static void dl_set_t200(struct gsm_bts *bts, struct lapdm_datalink *dl, unsigned int t200_msec) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic1268ae2d769b12da6cdd4ac8375e4bc033a9e3e Gerrit-Change-Number: 14338 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 Thu Jun 13 15:38:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:38:03 +0000 Subject: Change in ...osmo-bts[master]: lapdm: Use new libosmocore API to ensure per-channel-type N200 values In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14340 ) Change subject: lapdm: Use new libosmocore API to ensure per-channel-type N200 values ...................................................................... lapdm: Use new libosmocore API to ensure per-channel-type N200 values By using new libosmocore LAPDm API we can specify the GSM channel type and hence enable the LAPDm code to use a per-channel-type specific N200 value. At the same time, this new API also allows us to specify T200 values when initializing the LAPDm channel, so we don't have to fiddle with low-level lapdm data structures in what used to be oml_set_lchan_t200(). Change-Id: I0e814fbae13e0feddd148c47255dcc38cb718f48 Depends: libosmocore I90fdc4dd4720d4e02213197c894eb0a55a39158c Closes: OS#4037 --- M include/osmo-bts/oml.h M src/common/bts.c M src/common/oml.c 3 files changed, 40 insertions(+), 59 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/oml.h b/include/osmo-bts/oml.h index 14da70e..b92a974 100644 --- a/include/osmo-bts/oml.h +++ b/include/osmo-bts/oml.h @@ -40,8 +40,6 @@ int oml_mo_fom_ack_nack(const struct gsm_abis_mo *mo, uint8_t orig_msg_type, uint8_t cause); -/* Configure LAPDm T200 timers for this lchan according to OML */ -int oml_set_lchan_t200(struct gsm_lchan *lchan); extern const unsigned int oml_default_t200_ms[7]; /* Transmit failure event report */ diff --git a/src/common/bts.c b/src/common/bts.c index c57d9f4..b912f33 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -377,15 +377,53 @@ return 0; } +/* prepare the per-SAPI T200 arrays for a given lchan */ +static int t200_by_lchan(int *t200_ms_dcch, int *t200_ms_acch, struct gsm_lchan *lchan) +{ + struct gsm_bts *bts = lchan->ts->trx->bts; + + /* we have to compensate for the "RTS advance" due to the asynchronous interface between + * the BTS (LAPDm) and the PHY/L1 (OsmoTRX or DSP in case of osmo-bts-{sysmo,lc15,oc2g,octphy} */ + int32_t fn_advance = bts_get_avg_fn_advance(bts); + int32_t fn_advance_us = fn_advance * 4615; + int fn_advance_ms = fn_advance_us / 1000; + + t200_ms_acch[DL_SAPI0] = bts->t200_ms[T200_SACCH_SDCCH] + fn_advance_ms; + t200_ms_acch[DL_SAPI3] = bts->t200_ms[T200_SACCH_SDCCH] + fn_advance_ms; + + switch (lchan->type) { + case GSM_LCHAN_SDCCH: + t200_ms_dcch[DL_SAPI0] = bts->t200_ms[T200_SDCCH] + fn_advance_ms; + t200_ms_dcch[DL_SAPI3] = bts->t200_ms[T200_SDCCH_SAPI3] + fn_advance_ms; + break; + case GSM_LCHAN_TCH_F: + t200_ms_dcch[DL_SAPI0] = bts->t200_ms[T200_FACCH_F] + fn_advance_ms; + t200_ms_dcch[DL_SAPI3] = bts->t200_ms[T200_FACCH_F] + fn_advance_ms; + break; + case GSM_LCHAN_TCH_H: + t200_ms_dcch[DL_SAPI0] = bts->t200_ms[T200_FACCH_H] + fn_advance_ms; + t200_ms_dcch[DL_SAPI3] = bts->t200_ms[T200_FACCH_H] + fn_advance_ms; + break; + default: + return -1; + } + return 0; +} + int lchan_init_lapdm(struct gsm_lchan *lchan) { struct lapdm_channel *lc = &lchan->lapdm_ch; + int t200_ms_dcch[_NR_DL_SAPI], t200_ms_acch[_NR_DL_SAPI]; - lapdm_channel_init(lc, LAPDM_MODE_BTS); + t200_by_lchan(t200_ms_dcch, t200_ms_acch, lchan); + + LOGPLCHAN(lchan, DLLAPD, LOGL_DEBUG, "Setting T200 D0=%u, D3=%u, S0=%u, S3=%u (all in ms)\n", + t200_ms_dcch[DL_SAPI0], t200_ms_dcch[DL_SAPI3], t200_ms_acch[DL_SAPI0], t200_ms_acch[DL_SAPI3]); + + lapdm_channel_init2(lc, LAPDM_MODE_BTS, t200_ms_dcch, t200_ms_acch, lchan->type); lapdm_channel_set_flags(lc, LAPDM_ENT_F_POLLING_ONLY); lapdm_channel_set_l1(lc, NULL, lchan); lapdm_channel_set_l3(lc, lapdm_rll_tx_cb, lchan); - oml_set_lchan_t200(lchan); return 0; } diff --git a/src/common/oml.c b/src/common/oml.c index 7d24509..8ecafbb 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -488,61 +488,6 @@ [T200_SACCH_TCH_SAPI3] = 1500, }; -static void dl_set_t200(struct gsm_bts *bts, struct lapdm_datalink *dl, unsigned int t200_msec) -{ - int32_t fn_advance = bts_get_avg_fn_advance(bts); - int32_t fn_advance_us = fn_advance * 4615; /* 4.615 ms per frame */ - - /* we have to compensate for the "RTS advance" due to the asynchronous interface between - * the BTS (LAPDm) and the PHY/L1 (OsmoTRX or DSP in case of osmo-bts-{sysmo,lc15,oc2g,octphy} */ - t200_msec += fn_advance_us / 1000; - - dl->dl.t200_sec = t200_msec / 1000; - dl->dl.t200_usec = (t200_msec % 1000) * 1000; -} - -/* Configure LAPDm T200 timers for this lchan according to OML */ -int oml_set_lchan_t200(struct gsm_lchan *lchan) -{ - struct gsm_bts *bts = lchan->ts->trx->bts; - struct lapdm_channel *lc = &lchan->lapdm_ch; - unsigned int t200_dcch, t200_dcch_sapi3, t200_acch, t200_acch_sapi3; - - /* set T200 for main and associated channel */ - switch (lchan->type) { - case GSM_LCHAN_SDCCH: - t200_dcch = bts->t200_ms[T200_SDCCH]; - t200_dcch_sapi3 = bts->t200_ms[T200_SDCCH_SAPI3]; - t200_acch = bts->t200_ms[T200_SACCH_SDCCH]; - t200_acch_sapi3 = bts->t200_ms[T200_SACCH_SDCCH]; - break; - case GSM_LCHAN_TCH_F: - t200_dcch = bts->t200_ms[T200_FACCH_F]; - t200_dcch_sapi3 = bts->t200_ms[T200_FACCH_F]; - t200_acch = bts->t200_ms[T200_SACCH_TCH_SAPI0]; - t200_acch_sapi3 = bts->t200_ms[T200_SACCH_TCH_SAPI3]; - break; - case GSM_LCHAN_TCH_H: - t200_dcch = bts->t200_ms[T200_FACCH_H]; - t200_dcch_sapi3 = bts->t200_ms[T200_FACCH_H]; - t200_acch = bts->t200_ms[T200_SACCH_TCH_SAPI0]; - t200_acch_sapi3 = bts->t200_ms[T200_SACCH_TCH_SAPI3]; - break; - default: - return -1; - } - - LOGPLCHAN(lchan, DLLAPD, LOGL_DEBUG, "Setting T200 D0=%u, D3=%u, S0=%u, S3=%u (all in ms)\n", - t200_dcch, t200_dcch_sapi3, t200_acch, t200_acch_sapi3); - - dl_set_t200(bts, &lc->lapdm_dcch.datalink[DL_SAPI0], t200_dcch); - dl_set_t200(bts, &lc->lapdm_dcch.datalink[DL_SAPI3], t200_dcch_sapi3); - dl_set_t200(bts, &lc->lapdm_acch.datalink[DL_SAPI0], t200_acch); - dl_set_t200(bts, &lc->lapdm_acch.datalink[DL_SAPI3], t200_acch_sapi3); - - return 0; -} - /* 3GPP TS 52.021 ?8.11.1 Get Attributes has been received */ static int oml_rx_get_attr(struct gsm_bts *bts, struct msgb *msg) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0e814fbae13e0feddd148c47255dcc38cb718f48 Gerrit-Change-Number: 14340 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 Thu Jun 13 15:41:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 15:41:15 +0000 Subject: Change in ...osmo-bsc[master]: logging: introduce LOG_BTS and LOG_TRX and use it everywhere In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14439 ) Change subject: logging: introduce LOG_BTS and LOG_TRX and use it everywhere ...................................................................... Patch Set 2: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/14439/2/src/osmo-bsc/abis_nm.c File src/osmo-bsc/abis_nm.c: https://gerrit.osmocom.org/#/c/14439/2/src/osmo-bsc/abis_nm.c at 1704 PS2, Line 1704: int abis_nm_get_attr(struct gsm_bts *bts, uint8_t obj_class, uint8_t bts_nr, uint8_t trx_nr, uint8_t ts_nr, Looks like we should be passing here "struct gsm_bts_trx *trx" instead of "bts" + "trx_nr". Also, I guess bts_nr is contained already in "bts" ? https://gerrit.osmocom.org/#/c/14439/2/src/osmo-bsc/acc_ramp.c File src/osmo-bsc/acc_ramp.c: https://gerrit.osmocom.org/#/c/14439/2/src/osmo-bsc/acc_ramp.c at 170 PS2, Line 170: if (trx->nr != 0) If we only care about first TRX, I'm not sure it makes sense to use LOG_TRX in this function and use better LOG_BTS. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4a7814d164384eecfb6913c31802cf2faead6e6c Gerrit-Change-Number: 14439 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 15:41:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Thu Jun 13 15:41:30 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Thu, 13 Jun 2019 15:41:30 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_master?= =?UTF-8?Q?-osmo-sip-connector_=C2=BB_a1=3Ddefaul?= =?UTF-8?Q?t,a2=3Ddefault,a3=3Ddefault,a4=3Ddefa?= =?UTF-8?Q?ult,osmocom-master-debian9_#1490?= Message-ID: <745931378.260.1560440490044.JavaMail.jenkins@jenkins.osmocom.org> See ------------------------------------------ [...truncated 38.79 KB...] libtool: warning: relinking 'libosmocodec.la' libtool: install: (cd /bin/bash " --silent --tag CC --mode=relink gcc -Wall -g -O2 -DBUILDING_LIBOSMOCORE -Wall -version-info 1:1:1 -no-undefined -o libosmocodec.la -rpath gsm610.lo gsm620.lo gsm660.lo gsm690.lo ecu_fr.lo ../../src/libosmocore.la ) libtool: install: /usr/bin/install -c .libs/libosmocodec.so.0.1.1T libtool: install: (cd && { ln -s -f libosmocodec.so.0.1.1 libosmocodec.so.0 || { rm -f libosmocodec.so.0 && ln -s libosmocodec.so.0.1.1 libosmocodec.so.0; }; }) libtool: install: (cd && { ln -s -f libosmocodec.so.0.1.1 libosmocodec.so || { rm -f libosmocodec.so && ln -s libosmocodec.so.0.1.1 libosmocodec.so; }; }) libtool: install: /usr/bin/install -c .libs/libosmocodec.lai libtool: finish: PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/home/osmocom-build/bin:/sbin" ldconfig -n ---------------------------------------------------------------------- Libraries have been installed in: If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the '-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the 'LD_RUN_PATH' environment variable during linking - use the '-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to '/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- make[3]: Leaving directory ' make[2]: Leaving directory ' Making install in src/gsm make[2]: Entering directory ' GEN gsm0503_conv.c Generating convolutional codes... Generate 'xcch' definition Generate 'rach' definition Generate 'rach_ext' definition Generate 'sch' definition Generate 'cs2' definition Generate 'cs3' definition Generate 'cs2_np' definition Generate 'cs3_np' definition Generate 'tch_afs_12_2' definition Generate 'tch_afs_10_2' definition Generate 'tch_afs_7_95' definition Generate 'tch_afs_7_4' definition Generate 'tch_afs_6_7' definition Generate 'tch_afs_5_9' definition Generate 'tch_afs_5_15' definition Generate 'tch_afs_4_75' definition Generate 'tch_fr' definition Generate 'tch_hr' definition Generate 'tch_ahs_7_95' definition Generate 'tch_ahs_7_4' definition Generate 'tch_ahs_6_7' definition Generate 'tch_ahs_5_9' definition Generate 'tch_ahs_5_15' definition Generate 'tch_ahs_4_75' definition Generate 'mcs1_dl_hdr' definition Generate 'mcs1_ul_hdr' definition Generate 'mcs1' definition Generate 'mcs2' definition Generate 'mcs3' definition Generate 'mcs4' definition Generate 'mcs5_dl_hdr' definition Generate 'mcs5_ul_hdr' definition Generate 'mcs5' definition Generate 'mcs6' definition Generate 'mcs7_dl_hdr' definition Generate 'mcs7_ul_hdr' definition Generate 'mcs7' definition Generate 'mcs8' definition Generate 'mcs9' definition Generation complete. make install-am make[3]: Entering directory ' CC a5.lo CC rxlev_stat.lo CC comp128.lo CC tlv_parser.lo CC gsm_utils.lo CC comp128v23.lo CC gsm48.lo CC rsl.lo gsm_utils.c:121:9: note: #pragma message: including GnuTLS for getrandom fallback. #pragma message ("including GnuTLS for getrandom fallback.") ^~~~~~~ gsm_utils.c: In function ?osmo_get_rand_id?: gsm_utils.c:459:9: note: #pragma message: Using direct syscall access for getrandom(): consider upgrading to glibc >= 2.25 #pragma message ("Using direct syscall access for getrandom(): consider upgrading to glibc >= 2.25") ^~~~~~~ CC gsm48_arfcn_range_encode.lo CC gsm48_ie.lo CC gsm0808.lo CC sysinfo.lo gsm48_ie.c: In function ?gsm48_decode_called?: gsm48_ie.c:411:2: warning: ?gsm48_decode_bcd_number? is deprecated: Use gsm48_decode_bcd_number2() for improved bounds checking [-Wdeprecated-declarations] gsm48_decode_bcd_number(called->number, sizeof(called->number), lv, 1); ^~~~~~~~~~~~~~~~~~~~~~~ gsm48_ie.c:54:5: note: declared here int gsm48_decode_bcd_number(char *output, int output_len, ^~~~~~~~~~~~~~~~~~~~~~~ gsm48_ie.c: In function ?gsm48_decode_callerid?: gsm48_ie.c:466:2: warning: ?gsm48_decode_bcd_number? is deprecated: Use gsm48_decode_bcd_number2() for improved bounds checking [-Wdeprecated-declarations] gsm48_decode_bcd_number(callerid->number, sizeof(callerid->number), lv, i); ^~~~~~~~~~~~~~~~~~~~~~~ gsm48_ie.c:54:5: note: declared here int gsm48_decode_bcd_number(char *output, int output_len, ^~~~~~~~~~~~~~~~~~~~~~~ CC gprs_cipher_core.lo CC gprs_rlc.lo CC gsm0480.lo CC abis_nm.lo CC gsm0502.lo CC gsm0411_utils.lo CC gsm0411_smc.lo CC gsm0411_smr.lo CC gsm0414.lo CC lapd_core.lo CC lapdm.lo CC kasumi.lo CC gsm29205.lo CC gsm_04_08_gprs.lo CC auth_core.lo CC auth_comp128v1.lo CC auth_comp128v23.lo CC auth_milenage.lo CC gea.lo CC milenage/aes-internal.lo CC milenage/aes-internal-enc.lo CC milenage/milenage.lo CC gan.lo CC ipa.lo CC gsm0341.lo CC apn.lo CC gsup.lo CC gsup_sms.lo ipa.c: In function ?ipa_ccm_idtag_parse?: ipa.c:104:2: warning: ?ipa_ccm_idtag_parse_off? is deprecated: Use ipa_ccm_id_{get,resp}_parse instead [-Wdeprecated-declarations] return ipa_ccm_idtag_parse_off(dec, buf, len, 1); ^~~~~~ In file included from ipa.c:45:0: ../../include/osmocom/gsm/ipa.h:31:5: note: declared here int ipa_ccm_idtag_parse_off(struct tlv_parsed *dec, unsigned char *buf, int len, const int len_offset) ^~~~~~~~~~~~~~~~~~~~~~~ CC gprs_gea.lo CC gsm0503_conv.lo CC oap.lo CC gsm0808_utils.lo CC gsm23003.lo CC mncc.lo CC bts_features.lo CC oap_client.lo CC gsm29118.lo CC gsm48_rest_octets.lo CC milenage/aes-encblock.lo CCLD libgsmint.la ar: `u' modifier ignored since `D' is the default (see `U') CCLD libosmogsm.la make[4]: Entering directory ' make[4]: Nothing to be done for 'install-data-am'. /bin/mkdir -p ' /bin/bash ../../libtool --mode=install /usr/bin/install -c libosmogsm.la ' libtool: warning: relinking 'libosmogsm.la' libtool: install: (cd /bin/bash " --silent --tag CC --mode=relink gcc -Wall -g -O2 -DBUILDING_LIBOSMOCORE -Wall -Wl,--version-script=./libosmogsm.map -version-info 12:0:0 -no-undefined -o libosmogsm.la -rpath libgsmint.la -ltalloc -lgnutls ) libtool: install: /usr/bin/install -c .libs/libosmogsm.so.12.0.0T libtool: install: (cd && { ln -s -f libosmogsm.so.12.0.0 libosmogsm.so.12 || { rm -f libosmogsm.so.12 && ln -s libosmogsm.so.12.0.0 libosmogsm.so.12; }; }) libtool: install: (cd && { ln -s -f libosmogsm.so.12.0.0 libosmogsm.so || { rm -f libosmogsm.so && ln -s libosmogsm.so.12.0.0 libosmogsm.so; }; }) libtool: install: /usr/bin/install -c .libs/libosmogsm.lai libtool: finish: PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/home/osmocom-build/bin:/sbin" ldconfig -n ---------------------------------------------------------------------- Libraries have been installed in: If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the '-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the 'LD_RUN_PATH' environment variable during linking - use the '-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to '/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- make[4]: Leaving directory ' make[3]: Leaving directory ' make[2]: Leaving directory ' Making install in src/coding make[2]: Entering directory ' CC gsm0503_tables.lo CC gsm0503_interleaving.lo CC gsm0503_parity.lo CC gsm0503_mapping.lo CC gsm0503_coding.lo CCLD libosmocoding.la make[3]: Entering directory ' make[3]: Nothing to be done for 'install-data-am'. /bin/mkdir -p ' /bin/bash ../../libtool --mode=install /usr/bin/install -c libosmocoding.la ' libtool: warning: relinking 'libosmocoding.la' libtool: install: (cd /bin/bash " --silent --tag CC --mode=relink gcc -Wall -g -O2 -DBUILDING_LIBOSMOCORE -Wall -Wl,--version-script=./libosmocoding.map -version-info 1:1:1 -no-undefined -ltalloc -o libosmocoding.la -rpath gsm0503_interleaving.lo gsm0503_mapping.lo gsm0503_tables.lo gsm0503_parity.lo gsm0503_coding.lo ../libosmocore.la ../gsm/libosmogsm.la ../codec/libosmocodec.la ) libtool: install: /usr/bin/install -c .libs/libosmocoding.so.0.1.1T libtool: install: (cd && { ln -s -f libosmocoding.so.0.1.1 libosmocoding.so.0 || { rm -f libosmocoding.so.0 && ln -s libosmocoding.so.0.1.1 libosmocoding.so.0; }; }) libtool: install: (cd && { ln -s -f libosmocoding.so.0.1.1 libosmocoding.so || { rm -f libosmocoding.so && ln -s libosmocoding.so.0.1.1 libosmocoding.so; }; }) libtool: install: /usr/bin/install -c .libs/libosmocoding.lai libtool: finish: PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/home/osmocom-build/bin:/sbin" ldconfig -n ---------------------------------------------------------------------- Libraries have been installed in: If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the '-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the 'LD_RUN_PATH' environment variable during linking - use the '-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to '/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- make[3]: Leaving directory ' make[2]: Leaving directory ' Making install in src/gb make[2]: Entering directory ' CC gprs_ns.lo CC gprs_ns_frgre.lo CC gprs_ns_vty.lo CC gprs_ns_sns.lo CC gprs_bssgp_bss.lo CC gprs_bssgp.lo CC gprs_bssgp_util.lo CC gprs_bssgp_vty.lo /bin/bash: line 2: 32517 Segmentation fault /bin/bash ../../libtool --silent --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../include -DBUILDING_LIBOSMOCORE -Wall -Wall -fno-strict-aliasing -g -O2 -DBUILDING_LIBOSMOCORE -Wall -MT gprs_bssgp.lo -MD -MP -MF $depbase.Tpo -c -o gprs_bssgp.lo gprs_bssgp.c Makefile:497: recipe for target 'gprs_bssgp.lo' failed make[2]: *** [gprs_bssgp.lo] Error 139 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory ' Makefile:625: recipe for target 'install-recursive' failed make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory ' Makefile:924: recipe for target 'install' failed make: *** [install] Error 2 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 13 15:55:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 15:55:09 +0000 Subject: Change in ...osmo-bsc[master]: logging: introduce LOG_BTS and LOG_TRX and use it everywhere In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14439 ) Change subject: logging: introduce LOG_BTS and LOG_TRX and use it everywhere ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/14439/2/src/osmo-bsc/abis_nm.c File src/osmo-bsc/abis_nm.c: https://gerrit.osmocom.org/#/c/14439/2/src/osmo-bsc/abis_nm.c at 1704 PS2, Line 1704: int abis_nm_get_attr(struct gsm_bts *bts, uint8_t obj_class, uint8_t bts_nr, uint8_t trx_nr, uint8_t ts_nr, > Looks like we should be passing here "struct gsm_bts_trx *trx" instead of "bts" + "trx_nr". [?] bts->nr != the Abis OML BTS number! bts->nr relates to the logical BTS number inside the entire BSC scope, wherease the OML MO BTS number refers to the BTS in that given OML link. A site will typically have three BTSs, so there's always 0,1,2 at a three-sector setup. In Abis/IP you will have separate TCP/IPA connections for those, where each BTS is OML MO BTS Number 0. In [reasonable] E1 sestups, you will only have a single E1 signaling timeslot with ML MO BTS Number 0/1/2. https://gerrit.osmocom.org/#/c/14439/2/src/osmo-bsc/acc_ramp.c File src/osmo-bsc/acc_ramp.c: https://gerrit.osmocom.org/#/c/14439/2/src/osmo-bsc/acc_ramp.c at 170 PS2, Line 170: if (trx->nr != 0) > If we only care about first TRX, I'm not sure it makes sense to use LOG_TRX in this function and use [?] I agree. However, this patch is merely a "mechanical" change from the existing code to new code. Even the existing code is logging (bts=%d,trx=%d) so I keep it that way, without introducing more changes than needed in this one patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4a7814d164384eecfb6913c31802cf2faead6e6c Gerrit-Change-Number: 14439 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 15:55: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 13 15:59:29 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 15:59:29 +0000 Subject: Change in ...osmo-bsc[master]: logging: introduce LOG_BTS and LOG_TRX and use it everywhere In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14439 ) Change subject: logging: introduce LOG_BTS and LOG_TRX and use it everywhere ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/14439/2/src/osmo-bsc/abis_nm.c File src/osmo-bsc/abis_nm.c: https://gerrit.osmocom.org/#/c/14439/2/src/osmo-bsc/abis_nm.c at 1704 PS2, Line 1704: int abis_nm_get_attr(struct gsm_bts *bts, uint8_t obj_class, uint8_t bts_nr, uint8_t trx_nr, uint8_t ts_nr, > bts->nr != the Abis OML BTS number! [?] Thanks, very instructive. https://gerrit.osmocom.org/#/c/14439/2/src/osmo-bsc/acc_ramp.c File src/osmo-bsc/acc_ramp.c: https://gerrit.osmocom.org/#/c/14439/2/src/osmo-bsc/acc_ramp.c at 170 PS2, Line 170: if (trx->nr != 0) > I agree. However, this patch is merely a "mechanical" change from the existing code to new code. [?] Fine, but you are already changing BTS->TRX in some lines in this function, so I think it actually makes sense to change the other ones in TRX->BTS direction ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4a7814d164384eecfb6913c31802cf2faead6e6c Gerrit-Change-Number: 14439 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 15:59:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 16:13:32 2019 From: gerrit-no-reply at lists.osmocom.org (=?UTF-8?Q?K=C3=A9vin_Redon?=) Date: Thu, 13 Jun 2019 16:13:32 +0000 Subject: Change in ...libosmocore[master]: (minor) fix typo in comments Message-ID: K?vin Redon has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14442 Change subject: (minor) fix typo in comments ...................................................................... (minor) fix typo in comments Change-Id: I697af428a2ea9a0ccd3f04ba8ec4664935ae29f8 --- M include/osmocom/core/utils.h 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/42/14442/1 diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h index 0673444..601bb56 100644 --- a/include/osmocom/core/utils.h +++ b/include/osmocom/core/utils.h @@ -48,7 +48,7 @@ int get_string_value(const struct value_string *vs, const char *str); char osmo_bcd2char(uint8_t bcd); -/* only works for numbers in ascci */ +/* only works for numbers in ASCII */ uint8_t osmo_char2bcd(char c); int osmo_bcd2str(char *dst, size_t dst_size, const uint8_t *bcd, int start_nibble, int end_nibble, bool allow_hex); @@ -92,7 +92,7 @@ rem -= ret; \ } while (0) -/*! Helper macro to terminate when an assertion failes +/*! Helper macro to terminate when an assertion fails * \param[in] exp Predicate to verify * This function will generate a backtrace and terminate the program if * the predicate evaluates to false (0). @@ -105,7 +105,7 @@ /*! duplicate a string using talloc and release its prior content (if any) * \param[in] ctx Talloc context to use for allocation * \param[out] dst pointer to string, will be updated with ptr to new string - * \param[in] newstr String that will be copieed to newly allocated string */ + * \param[in] newstr String that will be copied to newly allocated string */ static inline void osmo_talloc_replace_string(void *ctx, char **dst, const char *newstr) { if (*dst) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I697af428a2ea9a0ccd3f04ba8ec4664935ae29f8 Gerrit-Change-Number: 14442 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 16:18:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 16:18:31 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Makefile: Allow user to override libosmocore install prefix Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14443 Change subject: Makefile: Allow user to override libosmocore install prefix ...................................................................... Makefile: Allow user to override libosmocore install prefix We should probably use PKG_CONFIG to do this in the next step.. Change-Id: Ie1eda223da3e22b6b1eea73cfcca499cf3ba7940 --- M sysmoOCTSIM/gcc/Makefile 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/43/14443/1 diff --git a/sysmoOCTSIM/gcc/Makefile b/sysmoOCTSIM/gcc/Makefile index 97c5ec1..d082bcb 100644 --- a/sysmoOCTSIM/gcc/Makefile +++ b/sysmoOCTSIM/gcc/Makefile @@ -2,8 +2,9 @@ # Manually edited. Do not overwrite with Automatically-generated file. ################################################################################ -EXTRA_LIBS=/usr/local/arm-none-eabi/lib/libosmocore.a -EXTRA_CFLAGS=-I/usr/local/arm-none-eabi/include -I../../ccid +SYSTEM_PREFIX:=/usr/local/arm-none-eabi +EXTRA_LIBS=$(SYSTEM_PREFIX)/lib/libosmocore.a +EXTRA_CFLAGS=-I$(SYSTEM_PREFIX)/include -I../../ccid CROSS_COMPILE= arm-none-eabi- CFLAGS_CPU=-D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14443 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: Ie1eda223da3e22b6b1eea73cfcca499cf3ba7940 Gerrit-Change-Number: 14443 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 13 16:18:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 16:18:32 +0000 Subject: Change in ...osmo-ccid-firmware[master]: contrib/jenkins.sh: Build libosmocore for Cortex-M4 during build testing Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14444 Change subject: contrib/jenkins.sh: Build libosmocore for Cortex-M4 during build testing ...................................................................... contrib/jenkins.sh: Build libosmocore for Cortex-M4 during build testing Change-Id: I9a64efe810fabe3edd54a4586f42e9100a0faab0 --- M contrib/jenkins.sh 1 file changed, 29 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/44/14444/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index b4ee280..19bc222 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -1,13 +1,40 @@ #!/bin/bash +if ! [ -x "$(command -v osmo-deps.sh)" ]; then + echo "Error: We need to have scripts/osmo-deps.sh from http://git.osmocom.org/osmo-ci/ in PATH !" + exit 2 +fi + +set -ex + TOPDIR=`pwd` -set -e +deps="$TOPDIR/deps" +inst="$TOPDIR/install" +export deps inst + +# adapted from +echo +echo "=============== libosmocore cross-build ===========" +mkdir -p "$deps" +cd "$deps" +osmo-deps.sh libosmocore master +cd libosmocore + +mkdir -p "$inst/stow" +autoreconf --install --force +./configure --enable-static --prefix="$inst/stow/libosmocore" --host=arm-none-eabi --enable-embedded --disable-doxygen --disable-shared --disable-pseudotalloc --enable-external-tests CFLAGS="-Os -ffunction-sections -fdata-sections -nostartfiles -nodefaultlibs -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations -Wno-error=cpp -mthumb -Os -mlong-calls -g3 -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -I /home/laforge/projects/git/osmo-ccid-firmware/sysmoOCTSIM -Wno-error=format" +make $PARALLEL_MAKE install +make clean +STOW_DIR="$inst/stow" stow --restow libosmocore + +export PKG_CONFIG_PATH="$inst/lib/pkgconfig" +export LD_LIBRARY_PATH="$inst/lib" echo echo "=============== sysmoOCTSIM firmware build ===========" cd $TOPDIR/sysmoOCTSIM cd gcc make clean -make $PARALLEL_MAKE +make SYSTEM_PREFIX="$inst" $PARALLEL_MAKE make clean -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14444 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: I9a64efe810fabe3edd54a4586f42e9100a0faab0 Gerrit-Change-Number: 14444 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 13 16:19:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 16:19:52 +0000 Subject: Change in ...libosmocore[master]: (minor) fix typo in comments In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14442 ) Change subject: (minor) fix typo in comments ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I697af428a2ea9a0ccd3f04ba8ec4664935ae29f8 Gerrit-Change-Number: 14442 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 13 Jun 2019 16:19: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 13 16:29:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 16:29:12 +0000 Subject: Change in ...libosmocore[master]: (minor) fix typo in comments In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14442 ) Change subject: (minor) fix typo in comments ...................................................................... (minor) fix typo in comments Change-Id: I697af428a2ea9a0ccd3f04ba8ec4664935ae29f8 --- M include/osmocom/core/utils.h 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h index 0673444..601bb56 100644 --- a/include/osmocom/core/utils.h +++ b/include/osmocom/core/utils.h @@ -48,7 +48,7 @@ int get_string_value(const struct value_string *vs, const char *str); char osmo_bcd2char(uint8_t bcd); -/* only works for numbers in ascci */ +/* only works for numbers in ASCII */ uint8_t osmo_char2bcd(char c); int osmo_bcd2str(char *dst, size_t dst_size, const uint8_t *bcd, int start_nibble, int end_nibble, bool allow_hex); @@ -92,7 +92,7 @@ rem -= ret; \ } while (0) -/*! Helper macro to terminate when an assertion failes +/*! Helper macro to terminate when an assertion fails * \param[in] exp Predicate to verify * This function will generate a backtrace and terminate the program if * the predicate evaluates to false (0). @@ -105,7 +105,7 @@ /*! duplicate a string using talloc and release its prior content (if any) * \param[in] ctx Talloc context to use for allocation * \param[out] dst pointer to string, will be updated with ptr to new string - * \param[in] newstr String that will be copieed to newly allocated string */ + * \param[in] newstr String that will be copied to newly allocated string */ static inline void osmo_talloc_replace_string(void *ctx, char **dst, const char *newstr) { if (*dst) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I697af428a2ea9a0ccd3f04ba8ec4664935ae29f8 Gerrit-Change-Number: 14442 Gerrit-PatchSet: 1 Gerrit-Owner: K?vin Redon 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 13 16:35:33 2019 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Thu, 13 Jun 2019 16:35:33 +0000 (UTC) Subject: =?UTF-8?Q?Jenkins_build_is_back_to_normal_:?= =?UTF-8?Q?_master-osmo-sip-connector_=C2=BB_a1=3Dde?= =?UTF-8?Q?fault,a2=3Ddefault,a3=3Ddefault,a4=3Dde?= =?UTF-8?Q?fault,osmocom-master-debian9_#1491?= In-Reply-To: <745931378.260.1560440490044.JavaMail.jenkins@jenkins.osmocom.org> References: <745931378.260.1560440490044.JavaMail.jenkins@jenkins.osmocom.org> Message-ID: <898207312.264.1560443733912.JavaMail.jenkins@jenkins.osmocom.org> See From gerrit-no-reply at lists.osmocom.org Thu Jun 13 16:35:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 16:35:36 +0000 Subject: Change in ...osmo-ccid-firmware[master]: contrib/jenkins.sh: Build libosmocore for Cortex-M4 during build testing In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14444 ) Change subject: contrib/jenkins.sh: Build libosmocore for Cortex-M4 during build testing ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14444 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: I9a64efe810fabe3edd54a4586f42e9100a0faab0 Gerrit-Change-Number: 14444 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 16:35: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 13 16:35:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 16:35:38 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Makefile: Allow user to override libosmocore install prefix In-Reply-To: References: Message-ID: laforge has removed a vote on this change. Change subject: Makefile: Allow user to override libosmocore install prefix ...................................................................... Removed Verified-1 by Jenkins Builder (1000002) -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14443 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: Ie1eda223da3e22b6b1eea73cfcca499cf3ba7940 Gerrit-Change-Number: 14443 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 16:35:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 16:35:41 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Makefile: Allow user to override libosmocore install prefix In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14443 ) Change subject: Makefile: Allow user to override libosmocore install prefix ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14443 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: Ie1eda223da3e22b6b1eea73cfcca499cf3ba7940 Gerrit-Change-Number: 14443 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 16:35:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 16:35:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 16:35:43 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Makefile: Allow user to override libosmocore install prefix In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14443 ) Change subject: Makefile: Allow user to override libosmocore install prefix ...................................................................... Makefile: Allow user to override libosmocore install prefix We should probably use PKG_CONFIG to do this in the next step.. Change-Id: Ie1eda223da3e22b6b1eea73cfcca499cf3ba7940 --- M sysmoOCTSIM/gcc/Makefile 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/sysmoOCTSIM/gcc/Makefile b/sysmoOCTSIM/gcc/Makefile index 01088cc..282a146 100644 --- a/sysmoOCTSIM/gcc/Makefile +++ b/sysmoOCTSIM/gcc/Makefile @@ -2,8 +2,9 @@ # Manually edited. Do not overwrite with Automatically-generated file. ################################################################################ -EXTRA_LIBS=/usr/local/arm-none-eabi/lib/libosmocore.a -EXTRA_CFLAGS=-I/usr/local/arm-none-eabi/include -I../../ccid +SYSTEM_PREFIX:=/usr/local/arm-none-eabi +EXTRA_LIBS=$(SYSTEM_PREFIX)/lib/libosmocore.a +EXTRA_CFLAGS=-I$(SYSTEM_PREFIX)/include -I../../ccid CROSS_COMPILE= arm-none-eabi- CFLAGS_CPU=-D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14443 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: Ie1eda223da3e22b6b1eea73cfcca499cf3ba7940 Gerrit-Change-Number: 14443 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 13 16:35:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 16:35:43 +0000 Subject: Change in ...osmo-ccid-firmware[master]: contrib/jenkins.sh: Build libosmocore for Cortex-M4 during build testing In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14444 ) Change subject: contrib/jenkins.sh: Build libosmocore for Cortex-M4 during build testing ...................................................................... contrib/jenkins.sh: Build libosmocore for Cortex-M4 during build testing Change-Id: I9a64efe810fabe3edd54a4586f42e9100a0faab0 --- M contrib/jenkins.sh 1 file changed, 29 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index b4ee280..19bc222 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -1,13 +1,40 @@ #!/bin/bash +if ! [ -x "$(command -v osmo-deps.sh)" ]; then + echo "Error: We need to have scripts/osmo-deps.sh from http://git.osmocom.org/osmo-ci/ in PATH !" + exit 2 +fi + +set -ex + TOPDIR=`pwd` -set -e +deps="$TOPDIR/deps" +inst="$TOPDIR/install" +export deps inst + +# adapted from +echo +echo "=============== libosmocore cross-build ===========" +mkdir -p "$deps" +cd "$deps" +osmo-deps.sh libosmocore master +cd libosmocore + +mkdir -p "$inst/stow" +autoreconf --install --force +./configure --enable-static --prefix="$inst/stow/libosmocore" --host=arm-none-eabi --enable-embedded --disable-doxygen --disable-shared --disable-pseudotalloc --enable-external-tests CFLAGS="-Os -ffunction-sections -fdata-sections -nostartfiles -nodefaultlibs -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations -Wno-error=cpp -mthumb -Os -mlong-calls -g3 -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -I /home/laforge/projects/git/osmo-ccid-firmware/sysmoOCTSIM -Wno-error=format" +make $PARALLEL_MAKE install +make clean +STOW_DIR="$inst/stow" stow --restow libosmocore + +export PKG_CONFIG_PATH="$inst/lib/pkgconfig" +export LD_LIBRARY_PATH="$inst/lib" echo echo "=============== sysmoOCTSIM firmware build ===========" cd $TOPDIR/sysmoOCTSIM cd gcc make clean -make $PARALLEL_MAKE +make SYSTEM_PREFIX="$inst" $PARALLEL_MAKE make clean -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14444 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: I9a64efe810fabe3edd54a4586f42e9100a0faab0 Gerrit-Change-Number: 14444 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 13 16:45:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 16:45:49 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ASF: update e54 library In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14391 ) Change subject: ASF: update e54 library ...................................................................... ASF: update e54 library E54 ASFv4 change from backend 1.5.122 update local files to stay in sync Change-Id: Ib9017744644357ba9ec99eddbcc89d7f95068c34 --- M sysmoOCTSIM/AtmelStart.gpdsc M sysmoOCTSIM/hri/hri_e54.h D sysmoOCTSIM/hri/hri_mpu_e54.h D sysmoOCTSIM/hri/hri_nvic_e54.h D sysmoOCTSIM/hri/hri_systemcontrol_e54.h D sysmoOCTSIM/hri/hri_systick_e54.h 6 files changed, 1 insertion(+), 2,057 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/sysmoOCTSIM/AtmelStart.gpdsc b/sysmoOCTSIM/AtmelStart.gpdsc index c7c5bd4..c2dfad4 100644 --- a/sysmoOCTSIM/AtmelStart.gpdsc +++ b/sysmoOCTSIM/AtmelStart.gpdsc @@ -127,8 +127,6 @@ - - @@ -144,8 +142,6 @@ - - diff --git a/sysmoOCTSIM/hri/hri_e54.h b/sysmoOCTSIM/hri/hri_e54.h index a562a2d..46e77ca 100644 --- a/sysmoOCTSIM/hri/hri_e54.h +++ b/sysmoOCTSIM/hri/hri_e54.h @@ -3,7 +3,7 @@ * * \brief SAM E54 HRI top-level header file * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. + * Copyright (c) 2016-2019 Microchip Technology Inc. and its subsidiaries. * * \asf_license_start * @@ -52,8 +52,6 @@ #include #include #include -#include -#include #include #include #include @@ -69,8 +67,6 @@ #include #include #include -#include -#include #include #include #include diff --git a/sysmoOCTSIM/hri/hri_mpu_e54.h b/sysmoOCTSIM/hri/hri_mpu_e54.h deleted file mode 100644 index b195272..0000000 --- a/sysmoOCTSIM/hri/hri_mpu_e54.h +++ /dev/null @@ -1,518 +0,0 @@ -/** - * \file - * - * \brief SAM MPU - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_MPU_COMPONENT_ -#ifndef _HRI_MPU_E54_H_INCLUDED_ -#define _HRI_MPU_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_MPU_CRITICAL_SECTIONS) -#define MPU_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define MPU_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define MPU_CRITICAL_SECTION_ENTER() -#define MPU_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_mpu_ctrl_reg_t; -typedef uint32_t hri_mpu_rasr_a1_reg_t; -typedef uint32_t hri_mpu_rasr_a2_reg_t; -typedef uint32_t hri_mpu_rasr_a3_reg_t; -typedef uint32_t hri_mpu_rasr_reg_t; -typedef uint32_t hri_mpu_rbar_a1_reg_t; -typedef uint32_t hri_mpu_rbar_a2_reg_t; -typedef uint32_t hri_mpu_rbar_a3_reg_t; -typedef uint32_t hri_mpu_rbar_reg_t; -typedef uint32_t hri_mpu_rnr_reg_t; -typedef uint32_t hri_mpu_type_reg_t; - -static inline bool hri_mpu_get_TYPE_SEPARATE_bit(const void *const hw) -{ - return (((Mpu *)hw)->TYPE.reg & MPU_TYPE_SEPARATE) >> 0; -} - -static inline hri_mpu_type_reg_t hri_mpu_get_TYPE_DREGION_bf(const void *const hw, hri_mpu_type_reg_t mask) -{ - return (((Mpu *)hw)->TYPE.reg & MPU_TYPE_DREGION(mask)) >> 8; -} - -static inline hri_mpu_type_reg_t hri_mpu_read_TYPE_DREGION_bf(const void *const hw) -{ - return (((Mpu *)hw)->TYPE.reg & MPU_TYPE_DREGION_Msk) >> 8; -} - -static inline hri_mpu_type_reg_t hri_mpu_get_TYPE_IREGION_bf(const void *const hw, hri_mpu_type_reg_t mask) -{ - return (((Mpu *)hw)->TYPE.reg & MPU_TYPE_IREGION(mask)) >> 16; -} - -static inline hri_mpu_type_reg_t hri_mpu_read_TYPE_IREGION_bf(const void *const hw) -{ - return (((Mpu *)hw)->TYPE.reg & MPU_TYPE_IREGION_Msk) >> 16; -} - -static inline hri_mpu_type_reg_t hri_mpu_get_TYPE_reg(const void *const hw, hri_mpu_type_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->TYPE.reg; - tmp &= mask; - return tmp; -} - -static inline hri_mpu_type_reg_t hri_mpu_read_TYPE_reg(const void *const hw) -{ - return ((Mpu *)hw)->TYPE.reg; -} - -static inline void hri_mpu_set_CTRL_reg(const void *const hw, hri_mpu_ctrl_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->CTRL.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_ctrl_reg_t hri_mpu_get_CTRL_reg(const void *const hw, hri_mpu_ctrl_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->CTRL.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_CTRL_reg(const void *const hw, hri_mpu_ctrl_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->CTRL.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_CTRL_reg(const void *const hw, hri_mpu_ctrl_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->CTRL.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_CTRL_reg(const void *const hw, hri_mpu_ctrl_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->CTRL.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_ctrl_reg_t hri_mpu_read_CTRL_reg(const void *const hw) -{ - return ((Mpu *)hw)->CTRL.reg; -} - -static inline void hri_mpu_set_RNR_reg(const void *const hw, hri_mpu_rnr_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RNR.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rnr_reg_t hri_mpu_get_RNR_reg(const void *const hw, hri_mpu_rnr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->RNR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_RNR_reg(const void *const hw, hri_mpu_rnr_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RNR.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_RNR_reg(const void *const hw, hri_mpu_rnr_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RNR.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_RNR_reg(const void *const hw, hri_mpu_rnr_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RNR.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rnr_reg_t hri_mpu_read_RNR_reg(const void *const hw) -{ - return ((Mpu *)hw)->RNR.reg; -} - -static inline void hri_mpu_set_RBAR_reg(const void *const hw, hri_mpu_rbar_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rbar_reg_t hri_mpu_get_RBAR_reg(const void *const hw, hri_mpu_rbar_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->RBAR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_RBAR_reg(const void *const hw, hri_mpu_rbar_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_RBAR_reg(const void *const hw, hri_mpu_rbar_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_RBAR_reg(const void *const hw, hri_mpu_rbar_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rbar_reg_t hri_mpu_read_RBAR_reg(const void *const hw) -{ - return ((Mpu *)hw)->RBAR.reg; -} - -static inline void hri_mpu_set_RASR_reg(const void *const hw, hri_mpu_rasr_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rasr_reg_t hri_mpu_get_RASR_reg(const void *const hw, hri_mpu_rasr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->RASR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_RASR_reg(const void *const hw, hri_mpu_rasr_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_RASR_reg(const void *const hw, hri_mpu_rasr_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_RASR_reg(const void *const hw, hri_mpu_rasr_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rasr_reg_t hri_mpu_read_RASR_reg(const void *const hw) -{ - return ((Mpu *)hw)->RASR.reg; -} - -static inline void hri_mpu_set_RBAR_A1_reg(const void *const hw, hri_mpu_rbar_a1_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A1.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rbar_a1_reg_t hri_mpu_get_RBAR_A1_reg(const void *const hw, hri_mpu_rbar_a1_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->RBAR_A1.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_RBAR_A1_reg(const void *const hw, hri_mpu_rbar_a1_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A1.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_RBAR_A1_reg(const void *const hw, hri_mpu_rbar_a1_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A1.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_RBAR_A1_reg(const void *const hw, hri_mpu_rbar_a1_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A1.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rbar_a1_reg_t hri_mpu_read_RBAR_A1_reg(const void *const hw) -{ - return ((Mpu *)hw)->RBAR_A1.reg; -} - -static inline void hri_mpu_set_RASR_A1_reg(const void *const hw, hri_mpu_rasr_a1_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A1.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rasr_a1_reg_t hri_mpu_get_RASR_A1_reg(const void *const hw, hri_mpu_rasr_a1_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->RASR_A1.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_RASR_A1_reg(const void *const hw, hri_mpu_rasr_a1_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A1.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_RASR_A1_reg(const void *const hw, hri_mpu_rasr_a1_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A1.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_RASR_A1_reg(const void *const hw, hri_mpu_rasr_a1_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A1.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rasr_a1_reg_t hri_mpu_read_RASR_A1_reg(const void *const hw) -{ - return ((Mpu *)hw)->RASR_A1.reg; -} - -static inline void hri_mpu_set_RBAR_A2_reg(const void *const hw, hri_mpu_rbar_a2_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A2.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rbar_a2_reg_t hri_mpu_get_RBAR_A2_reg(const void *const hw, hri_mpu_rbar_a2_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->RBAR_A2.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_RBAR_A2_reg(const void *const hw, hri_mpu_rbar_a2_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A2.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_RBAR_A2_reg(const void *const hw, hri_mpu_rbar_a2_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A2.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_RBAR_A2_reg(const void *const hw, hri_mpu_rbar_a2_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A2.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rbar_a2_reg_t hri_mpu_read_RBAR_A2_reg(const void *const hw) -{ - return ((Mpu *)hw)->RBAR_A2.reg; -} - -static inline void hri_mpu_set_RASR_A2_reg(const void *const hw, hri_mpu_rasr_a2_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A2.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rasr_a2_reg_t hri_mpu_get_RASR_A2_reg(const void *const hw, hri_mpu_rasr_a2_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->RASR_A2.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_RASR_A2_reg(const void *const hw, hri_mpu_rasr_a2_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A2.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_RASR_A2_reg(const void *const hw, hri_mpu_rasr_a2_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A2.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_RASR_A2_reg(const void *const hw, hri_mpu_rasr_a2_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A2.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rasr_a2_reg_t hri_mpu_read_RASR_A2_reg(const void *const hw) -{ - return ((Mpu *)hw)->RASR_A2.reg; -} - -static inline void hri_mpu_set_RBAR_A3_reg(const void *const hw, hri_mpu_rbar_a3_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A3.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rbar_a3_reg_t hri_mpu_get_RBAR_A3_reg(const void *const hw, hri_mpu_rbar_a3_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->RBAR_A3.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_RBAR_A3_reg(const void *const hw, hri_mpu_rbar_a3_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A3.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_RBAR_A3_reg(const void *const hw, hri_mpu_rbar_a3_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A3.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_RBAR_A3_reg(const void *const hw, hri_mpu_rbar_a3_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RBAR_A3.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rbar_a3_reg_t hri_mpu_read_RBAR_A3_reg(const void *const hw) -{ - return ((Mpu *)hw)->RBAR_A3.reg; -} - -static inline void hri_mpu_set_RASR_A3_reg(const void *const hw, hri_mpu_rasr_a3_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A3.reg |= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rasr_a3_reg_t hri_mpu_get_RASR_A3_reg(const void *const hw, hri_mpu_rasr_a3_reg_t mask) -{ - uint32_t tmp; - tmp = ((Mpu *)hw)->RASR_A3.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_mpu_write_RASR_A3_reg(const void *const hw, hri_mpu_rasr_a3_reg_t data) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A3.reg = data; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_clear_RASR_A3_reg(const void *const hw, hri_mpu_rasr_a3_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A3.reg &= ~mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_mpu_toggle_RASR_A3_reg(const void *const hw, hri_mpu_rasr_a3_reg_t mask) -{ - MPU_CRITICAL_SECTION_ENTER(); - ((Mpu *)hw)->RASR_A3.reg ^= mask; - MPU_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_mpu_rasr_a3_reg_t hri_mpu_read_RASR_A3_reg(const void *const hw) -{ - return ((Mpu *)hw)->RASR_A3.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_MPU_E54_H_INCLUDED */ -#endif /* _SAME54_MPU_COMPONENT_ */ diff --git a/sysmoOCTSIM/hri/hri_nvic_e54.h b/sysmoOCTSIM/hri/hri_nvic_e54.h deleted file mode 100644 index ce7d41f..0000000 --- a/sysmoOCTSIM/hri/hri_nvic_e54.h +++ /dev/null @@ -1,319 +0,0 @@ -/** - * \file - * - * \brief SAM NVIC - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_NVIC_COMPONENT_ -#ifndef _HRI_NVIC_E54_H_INCLUDED_ -#define _HRI_NVIC_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_NVIC_CRITICAL_SECTIONS) -#define NVIC_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define NVIC_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define NVIC_CRITICAL_SECTION_ENTER() -#define NVIC_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_nvic_iabr_reg_t; -typedef uint32_t hri_nvic_icer_reg_t; -typedef uint32_t hri_nvic_icpr_reg_t; -typedef uint32_t hri_nvic_iser_reg_t; -typedef uint32_t hri_nvic_ispr_reg_t; -typedef uint32_t hri_nvic_stir_reg_t; -typedef uint8_t hri_nvic_ip_reg_t; - -static inline void hri_nvic_set_ISER_reg(const void *const hw, uint8_t index, hri_nvic_iser_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ISER[index].reg |= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_iser_reg_t hri_nvic_get_ISER_reg(const void *const hw, uint8_t index, hri_nvic_iser_reg_t mask) -{ - uint32_t tmp; - tmp = ((Nvic *)hw)->ISER[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_nvic_write_ISER_reg(const void *const hw, uint8_t index, hri_nvic_iser_reg_t data) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ISER[index].reg = data; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_clear_ISER_reg(const void *const hw, uint8_t index, hri_nvic_iser_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ISER[index].reg &= ~mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_toggle_ISER_reg(const void *const hw, uint8_t index, hri_nvic_iser_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ISER[index].reg ^= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_iser_reg_t hri_nvic_read_ISER_reg(const void *const hw, uint8_t index) -{ - return ((Nvic *)hw)->ISER[index].reg; -} - -static inline void hri_nvic_set_ICER_reg(const void *const hw, uint8_t index, hri_nvic_icer_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ICER[index].reg |= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_icer_reg_t hri_nvic_get_ICER_reg(const void *const hw, uint8_t index, hri_nvic_icer_reg_t mask) -{ - uint32_t tmp; - tmp = ((Nvic *)hw)->ICER[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_nvic_write_ICER_reg(const void *const hw, uint8_t index, hri_nvic_icer_reg_t data) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ICER[index].reg = data; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_clear_ICER_reg(const void *const hw, uint8_t index, hri_nvic_icer_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ICER[index].reg &= ~mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_toggle_ICER_reg(const void *const hw, uint8_t index, hri_nvic_icer_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ICER[index].reg ^= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_icer_reg_t hri_nvic_read_ICER_reg(const void *const hw, uint8_t index) -{ - return ((Nvic *)hw)->ICER[index].reg; -} - -static inline void hri_nvic_set_ISPR_reg(const void *const hw, uint8_t index, hri_nvic_ispr_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ISPR[index].reg |= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_ispr_reg_t hri_nvic_get_ISPR_reg(const void *const hw, uint8_t index, hri_nvic_ispr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Nvic *)hw)->ISPR[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_nvic_write_ISPR_reg(const void *const hw, uint8_t index, hri_nvic_ispr_reg_t data) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ISPR[index].reg = data; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_clear_ISPR_reg(const void *const hw, uint8_t index, hri_nvic_ispr_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ISPR[index].reg &= ~mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_toggle_ISPR_reg(const void *const hw, uint8_t index, hri_nvic_ispr_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ISPR[index].reg ^= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_ispr_reg_t hri_nvic_read_ISPR_reg(const void *const hw, uint8_t index) -{ - return ((Nvic *)hw)->ISPR[index].reg; -} - -static inline void hri_nvic_set_ICPR_reg(const void *const hw, uint8_t index, hri_nvic_icpr_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ICPR[index].reg |= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_icpr_reg_t hri_nvic_get_ICPR_reg(const void *const hw, uint8_t index, hri_nvic_icpr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Nvic *)hw)->ICPR[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_nvic_write_ICPR_reg(const void *const hw, uint8_t index, hri_nvic_icpr_reg_t data) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ICPR[index].reg = data; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_clear_ICPR_reg(const void *const hw, uint8_t index, hri_nvic_icpr_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ICPR[index].reg &= ~mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_toggle_ICPR_reg(const void *const hw, uint8_t index, hri_nvic_icpr_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->ICPR[index].reg ^= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_icpr_reg_t hri_nvic_read_ICPR_reg(const void *const hw, uint8_t index) -{ - return ((Nvic *)hw)->ICPR[index].reg; -} - -static inline void hri_nvic_set_IABR_reg(const void *const hw, uint8_t index, hri_nvic_iabr_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->IABR[index].reg |= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_iabr_reg_t hri_nvic_get_IABR_reg(const void *const hw, uint8_t index, hri_nvic_iabr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Nvic *)hw)->IABR[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_nvic_write_IABR_reg(const void *const hw, uint8_t index, hri_nvic_iabr_reg_t data) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->IABR[index].reg = data; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_clear_IABR_reg(const void *const hw, uint8_t index, hri_nvic_iabr_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->IABR[index].reg &= ~mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_toggle_IABR_reg(const void *const hw, uint8_t index, hri_nvic_iabr_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->IABR[index].reg ^= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_iabr_reg_t hri_nvic_read_IABR_reg(const void *const hw, uint8_t index) -{ - return ((Nvic *)hw)->IABR[index].reg; -} - -static inline void hri_nvic_set_IP_reg(const void *const hw, uint8_t index, hri_nvic_ip_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->IP[index].reg |= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_ip_reg_t hri_nvic_get_IP_reg(const void *const hw, uint8_t index, hri_nvic_ip_reg_t mask) -{ - uint8_t tmp; - tmp = ((Nvic *)hw)->IP[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_nvic_write_IP_reg(const void *const hw, uint8_t index, hri_nvic_ip_reg_t data) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->IP[index].reg = data; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_clear_IP_reg(const void *const hw, uint8_t index, hri_nvic_ip_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->IP[index].reg &= ~mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_nvic_toggle_IP_reg(const void *const hw, uint8_t index, hri_nvic_ip_reg_t mask) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->IP[index].reg ^= mask; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_nvic_ip_reg_t hri_nvic_read_IP_reg(const void *const hw, uint8_t index) -{ - return ((Nvic *)hw)->IP[index].reg; -} - -static inline void hri_nvic_write_STIR_reg(const void *const hw, hri_nvic_stir_reg_t data) -{ - NVIC_CRITICAL_SECTION_ENTER(); - ((Nvic *)hw)->STIR.reg = data; - NVIC_CRITICAL_SECTION_LEAVE(); -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_NVIC_E54_H_INCLUDED */ -#endif /* _SAME54_NVIC_COMPONENT_ */ diff --git a/sysmoOCTSIM/hri/hri_systemcontrol_e54.h b/sysmoOCTSIM/hri/hri_systemcontrol_e54.h deleted file mode 100644 index 000ef90..0000000 --- a/sysmoOCTSIM/hri/hri_systemcontrol_e54.h +++ /dev/null @@ -1,992 +0,0 @@ -/** - * \file - * - * \brief SAM SystemControl - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_SystemControl_COMPONENT_ -#ifndef _HRI_SystemControl_E54_H_INCLUDED_ -#define _HRI_SystemControl_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_SystemControl_CRITICAL_SECTIONS) -#define SystemControl_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define SystemControl_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define SystemControl_CRITICAL_SECTION_ENTER() -#define SystemControl_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_systemcontrol_actlr_reg_t; -typedef uint32_t hri_systemcontrol_adr_reg_t; -typedef uint32_t hri_systemcontrol_afsr_reg_t; -typedef uint32_t hri_systemcontrol_aircr_reg_t; -typedef uint32_t hri_systemcontrol_bfar_reg_t; -typedef uint32_t hri_systemcontrol_ccr_reg_t; -typedef uint32_t hri_systemcontrol_cfsr_reg_t; -typedef uint32_t hri_systemcontrol_cpacr_reg_t; -typedef uint32_t hri_systemcontrol_cpuid_reg_t; -typedef uint32_t hri_systemcontrol_dfr_reg_t; -typedef uint32_t hri_systemcontrol_dfsr_reg_t; -typedef uint32_t hri_systemcontrol_hfsr_reg_t; -typedef uint32_t hri_systemcontrol_icsr_reg_t; -typedef uint32_t hri_systemcontrol_ictr_reg_t; -typedef uint32_t hri_systemcontrol_isar_reg_t; -typedef uint32_t hri_systemcontrol_mmfar_reg_t; -typedef uint32_t hri_systemcontrol_mmfr_reg_t; -typedef uint32_t hri_systemcontrol_pfr_reg_t; -typedef uint32_t hri_systemcontrol_scr_reg_t; -typedef uint32_t hri_systemcontrol_shcsr_reg_t; -typedef uint32_t hri_systemcontrol_shpr1_reg_t; -typedef uint32_t hri_systemcontrol_shpr2_reg_t; -typedef uint32_t hri_systemcontrol_shpr3_reg_t; -typedef uint32_t hri_systemcontrol_vtor_reg_t; - -static inline hri_systemcontrol_ictr_reg_t hri_systemcontrol_get_ICTR_INTLINESNUM_bf(const void *const hw, - hri_systemcontrol_ictr_reg_t mask) -{ - return (((Systemcontrol *)hw)->ICTR.reg & SystemControl_ICTR_INTLINESNUM(mask)) >> 0; -} - -static inline hri_systemcontrol_ictr_reg_t hri_systemcontrol_read_ICTR_INTLINESNUM_bf(const void *const hw) -{ - return (((Systemcontrol *)hw)->ICTR.reg & SystemControl_ICTR_INTLINESNUM_Msk) >> 0; -} - -static inline hri_systemcontrol_ictr_reg_t hri_systemcontrol_get_ICTR_reg(const void *const hw, - hri_systemcontrol_ictr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->ICTR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_systemcontrol_ictr_reg_t hri_systemcontrol_read_ICTR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->ICTR.reg; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_get_CPUID_REVISION_bf(const void *const hw, - hri_systemcontrol_cpuid_reg_t mask) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_REVISION(mask)) >> 0; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_read_CPUID_REVISION_bf(const void *const hw) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_REVISION_Msk) >> 0; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_get_CPUID_PARTNO_bf(const void *const hw, - hri_systemcontrol_cpuid_reg_t mask) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_PARTNO(mask)) >> 4; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_read_CPUID_PARTNO_bf(const void *const hw) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_PARTNO_Msk) >> 4; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_get_CPUID_CONSTANT_bf(const void *const hw, - hri_systemcontrol_cpuid_reg_t mask) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_CONSTANT(mask)) >> 16; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_read_CPUID_CONSTANT_bf(const void *const hw) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_CONSTANT_Msk) >> 16; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_get_CPUID_VARIANT_bf(const void *const hw, - hri_systemcontrol_cpuid_reg_t mask) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_VARIANT(mask)) >> 20; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_read_CPUID_VARIANT_bf(const void *const hw) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_VARIANT_Msk) >> 20; -} - -static inline hri_systemcontrol_cpuid_reg_t -hri_systemcontrol_get_CPUID_IMPLEMENTER_bf(const void *const hw, hri_systemcontrol_cpuid_reg_t mask) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_IMPLEMENTER(mask)) >> 24; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_read_CPUID_IMPLEMENTER_bf(const void *const hw) -{ - return (((Systemcontrol *)hw)->CPUID.reg & SystemControl_CPUID_IMPLEMENTER_Msk) >> 24; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_get_CPUID_reg(const void *const hw, - hri_systemcontrol_cpuid_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->CPUID.reg; - tmp &= mask; - return tmp; -} - -static inline hri_systemcontrol_cpuid_reg_t hri_systemcontrol_read_CPUID_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->CPUID.reg; -} - -static inline hri_systemcontrol_dfr_reg_t hri_systemcontrol_get_DFR_reg(const void *const hw, - hri_systemcontrol_dfr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->DFR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_systemcontrol_dfr_reg_t hri_systemcontrol_read_DFR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->DFR.reg; -} - -static inline hri_systemcontrol_adr_reg_t hri_systemcontrol_get_ADR_reg(const void *const hw, - hri_systemcontrol_adr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->ADR.reg; - tmp &= mask; - return tmp; -} - -static inline hri_systemcontrol_adr_reg_t hri_systemcontrol_read_ADR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->ADR.reg; -} - -static inline hri_systemcontrol_mmfr_reg_t hri_systemcontrol_get_MMFR_reg(const void *const hw, uint8_t index, - hri_systemcontrol_mmfr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->MMFR[index].reg; - tmp &= mask; - return tmp; -} - -static inline hri_systemcontrol_mmfr_reg_t hri_systemcontrol_read_MMFR_reg(const void *const hw, uint8_t index) -{ - return ((Systemcontrol *)hw)->MMFR[index].reg; -} - -static inline hri_systemcontrol_isar_reg_t hri_systemcontrol_get_ISAR_reg(const void *const hw, uint8_t index, - hri_systemcontrol_isar_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->ISAR[index].reg; - tmp &= mask; - return tmp; -} - -static inline hri_systemcontrol_isar_reg_t hri_systemcontrol_read_ISAR_reg(const void *const hw, uint8_t index) -{ - return ((Systemcontrol *)hw)->ISAR[index].reg; -} - -static inline void hri_systemcontrol_set_ACTLR_reg(const void *const hw, hri_systemcontrol_actlr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->ACTLR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_actlr_reg_t hri_systemcontrol_get_ACTLR_reg(const void *const hw, - hri_systemcontrol_actlr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->ACTLR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_ACTLR_reg(const void *const hw, hri_systemcontrol_actlr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->ACTLR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_ACTLR_reg(const void *const hw, hri_systemcontrol_actlr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->ACTLR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_ACTLR_reg(const void *const hw, hri_systemcontrol_actlr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->ACTLR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_actlr_reg_t hri_systemcontrol_read_ACTLR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->ACTLR.reg; -} - -static inline void hri_systemcontrol_set_ICSR_reg(const void *const hw, hri_systemcontrol_icsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->ICSR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_icsr_reg_t hri_systemcontrol_get_ICSR_reg(const void *const hw, - hri_systemcontrol_icsr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->ICSR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_ICSR_reg(const void *const hw, hri_systemcontrol_icsr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->ICSR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_ICSR_reg(const void *const hw, hri_systemcontrol_icsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->ICSR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_ICSR_reg(const void *const hw, hri_systemcontrol_icsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->ICSR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_icsr_reg_t hri_systemcontrol_read_ICSR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->ICSR.reg; -} - -static inline void hri_systemcontrol_set_VTOR_reg(const void *const hw, hri_systemcontrol_vtor_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->VTOR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_vtor_reg_t hri_systemcontrol_get_VTOR_reg(const void *const hw, - hri_systemcontrol_vtor_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->VTOR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_VTOR_reg(const void *const hw, hri_systemcontrol_vtor_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->VTOR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_VTOR_reg(const void *const hw, hri_systemcontrol_vtor_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->VTOR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_VTOR_reg(const void *const hw, hri_systemcontrol_vtor_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->VTOR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_vtor_reg_t hri_systemcontrol_read_VTOR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->VTOR.reg; -} - -static inline void hri_systemcontrol_set_AIRCR_reg(const void *const hw, hri_systemcontrol_aircr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->AIRCR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_aircr_reg_t hri_systemcontrol_get_AIRCR_reg(const void *const hw, - hri_systemcontrol_aircr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->AIRCR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_AIRCR_reg(const void *const hw, hri_systemcontrol_aircr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->AIRCR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_AIRCR_reg(const void *const hw, hri_systemcontrol_aircr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->AIRCR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_AIRCR_reg(const void *const hw, hri_systemcontrol_aircr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->AIRCR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_aircr_reg_t hri_systemcontrol_read_AIRCR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->AIRCR.reg; -} - -static inline void hri_systemcontrol_set_SCR_reg(const void *const hw, hri_systemcontrol_scr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SCR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_scr_reg_t hri_systemcontrol_get_SCR_reg(const void *const hw, - hri_systemcontrol_scr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->SCR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_SCR_reg(const void *const hw, hri_systemcontrol_scr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SCR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_SCR_reg(const void *const hw, hri_systemcontrol_scr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SCR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_SCR_reg(const void *const hw, hri_systemcontrol_scr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SCR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_scr_reg_t hri_systemcontrol_read_SCR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->SCR.reg; -} - -static inline void hri_systemcontrol_set_CCR_reg(const void *const hw, hri_systemcontrol_ccr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CCR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_ccr_reg_t hri_systemcontrol_get_CCR_reg(const void *const hw, - hri_systemcontrol_ccr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->CCR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_CCR_reg(const void *const hw, hri_systemcontrol_ccr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CCR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_CCR_reg(const void *const hw, hri_systemcontrol_ccr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CCR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_CCR_reg(const void *const hw, hri_systemcontrol_ccr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CCR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_ccr_reg_t hri_systemcontrol_read_CCR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->CCR.reg; -} - -static inline void hri_systemcontrol_set_SHPR1_reg(const void *const hw, hri_systemcontrol_shpr1_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR1.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_shpr1_reg_t hri_systemcontrol_get_SHPR1_reg(const void *const hw, - hri_systemcontrol_shpr1_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->SHPR1.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_SHPR1_reg(const void *const hw, hri_systemcontrol_shpr1_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR1.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_SHPR1_reg(const void *const hw, hri_systemcontrol_shpr1_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR1.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_SHPR1_reg(const void *const hw, hri_systemcontrol_shpr1_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR1.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_shpr1_reg_t hri_systemcontrol_read_SHPR1_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->SHPR1.reg; -} - -static inline void hri_systemcontrol_set_SHPR2_reg(const void *const hw, hri_systemcontrol_shpr2_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR2.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_shpr2_reg_t hri_systemcontrol_get_SHPR2_reg(const void *const hw, - hri_systemcontrol_shpr2_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->SHPR2.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_SHPR2_reg(const void *const hw, hri_systemcontrol_shpr2_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR2.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_SHPR2_reg(const void *const hw, hri_systemcontrol_shpr2_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR2.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_SHPR2_reg(const void *const hw, hri_systemcontrol_shpr2_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR2.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_shpr2_reg_t hri_systemcontrol_read_SHPR2_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->SHPR2.reg; -} - -static inline void hri_systemcontrol_set_SHPR3_reg(const void *const hw, hri_systemcontrol_shpr3_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR3.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_shpr3_reg_t hri_systemcontrol_get_SHPR3_reg(const void *const hw, - hri_systemcontrol_shpr3_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->SHPR3.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_SHPR3_reg(const void *const hw, hri_systemcontrol_shpr3_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR3.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_SHPR3_reg(const void *const hw, hri_systemcontrol_shpr3_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR3.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_SHPR3_reg(const void *const hw, hri_systemcontrol_shpr3_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHPR3.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_shpr3_reg_t hri_systemcontrol_read_SHPR3_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->SHPR3.reg; -} - -static inline void hri_systemcontrol_set_SHCSR_reg(const void *const hw, hri_systemcontrol_shcsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHCSR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_shcsr_reg_t hri_systemcontrol_get_SHCSR_reg(const void *const hw, - hri_systemcontrol_shcsr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->SHCSR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_SHCSR_reg(const void *const hw, hri_systemcontrol_shcsr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHCSR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_SHCSR_reg(const void *const hw, hri_systemcontrol_shcsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHCSR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_SHCSR_reg(const void *const hw, hri_systemcontrol_shcsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->SHCSR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_shcsr_reg_t hri_systemcontrol_read_SHCSR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->SHCSR.reg; -} - -static inline void hri_systemcontrol_set_CFSR_reg(const void *const hw, hri_systemcontrol_cfsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CFSR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_cfsr_reg_t hri_systemcontrol_get_CFSR_reg(const void *const hw, - hri_systemcontrol_cfsr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->CFSR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_CFSR_reg(const void *const hw, hri_systemcontrol_cfsr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CFSR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_CFSR_reg(const void *const hw, hri_systemcontrol_cfsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CFSR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_CFSR_reg(const void *const hw, hri_systemcontrol_cfsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CFSR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_cfsr_reg_t hri_systemcontrol_read_CFSR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->CFSR.reg; -} - -static inline void hri_systemcontrol_set_HFSR_reg(const void *const hw, hri_systemcontrol_hfsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->HFSR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_hfsr_reg_t hri_systemcontrol_get_HFSR_reg(const void *const hw, - hri_systemcontrol_hfsr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->HFSR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_HFSR_reg(const void *const hw, hri_systemcontrol_hfsr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->HFSR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_HFSR_reg(const void *const hw, hri_systemcontrol_hfsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->HFSR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_HFSR_reg(const void *const hw, hri_systemcontrol_hfsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->HFSR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_hfsr_reg_t hri_systemcontrol_read_HFSR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->HFSR.reg; -} - -static inline void hri_systemcontrol_set_DFSR_reg(const void *const hw, hri_systemcontrol_dfsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->DFSR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_dfsr_reg_t hri_systemcontrol_get_DFSR_reg(const void *const hw, - hri_systemcontrol_dfsr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->DFSR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_DFSR_reg(const void *const hw, hri_systemcontrol_dfsr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->DFSR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_DFSR_reg(const void *const hw, hri_systemcontrol_dfsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->DFSR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_DFSR_reg(const void *const hw, hri_systemcontrol_dfsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->DFSR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_dfsr_reg_t hri_systemcontrol_read_DFSR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->DFSR.reg; -} - -static inline void hri_systemcontrol_set_MMFAR_reg(const void *const hw, hri_systemcontrol_mmfar_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->MMFAR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_mmfar_reg_t hri_systemcontrol_get_MMFAR_reg(const void *const hw, - hri_systemcontrol_mmfar_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->MMFAR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_MMFAR_reg(const void *const hw, hri_systemcontrol_mmfar_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->MMFAR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_MMFAR_reg(const void *const hw, hri_systemcontrol_mmfar_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->MMFAR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_MMFAR_reg(const void *const hw, hri_systemcontrol_mmfar_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->MMFAR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_mmfar_reg_t hri_systemcontrol_read_MMFAR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->MMFAR.reg; -} - -static inline void hri_systemcontrol_set_BFAR_reg(const void *const hw, hri_systemcontrol_bfar_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->BFAR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_bfar_reg_t hri_systemcontrol_get_BFAR_reg(const void *const hw, - hri_systemcontrol_bfar_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->BFAR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_BFAR_reg(const void *const hw, hri_systemcontrol_bfar_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->BFAR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_BFAR_reg(const void *const hw, hri_systemcontrol_bfar_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->BFAR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_BFAR_reg(const void *const hw, hri_systemcontrol_bfar_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->BFAR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_bfar_reg_t hri_systemcontrol_read_BFAR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->BFAR.reg; -} - -static inline void hri_systemcontrol_set_AFSR_reg(const void *const hw, hri_systemcontrol_afsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->AFSR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_afsr_reg_t hri_systemcontrol_get_AFSR_reg(const void *const hw, - hri_systemcontrol_afsr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->AFSR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_AFSR_reg(const void *const hw, hri_systemcontrol_afsr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->AFSR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_AFSR_reg(const void *const hw, hri_systemcontrol_afsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->AFSR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_AFSR_reg(const void *const hw, hri_systemcontrol_afsr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->AFSR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_afsr_reg_t hri_systemcontrol_read_AFSR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->AFSR.reg; -} - -static inline void hri_systemcontrol_set_PFR_reg(const void *const hw, uint8_t index, hri_systemcontrol_pfr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->PFR[index].reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_pfr_reg_t hri_systemcontrol_get_PFR_reg(const void *const hw, uint8_t index, - hri_systemcontrol_pfr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->PFR[index].reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_PFR_reg(const void *const hw, uint8_t index, - hri_systemcontrol_pfr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->PFR[index].reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_PFR_reg(const void *const hw, uint8_t index, - hri_systemcontrol_pfr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->PFR[index].reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_PFR_reg(const void *const hw, uint8_t index, - hri_systemcontrol_pfr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->PFR[index].reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_pfr_reg_t hri_systemcontrol_read_PFR_reg(const void *const hw, uint8_t index) -{ - return ((Systemcontrol *)hw)->PFR[index].reg; -} - -static inline void hri_systemcontrol_set_CPACR_reg(const void *const hw, hri_systemcontrol_cpacr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CPACR.reg |= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_cpacr_reg_t hri_systemcontrol_get_CPACR_reg(const void *const hw, - hri_systemcontrol_cpacr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systemcontrol *)hw)->CPACR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systemcontrol_write_CPACR_reg(const void *const hw, hri_systemcontrol_cpacr_reg_t data) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CPACR.reg = data; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_clear_CPACR_reg(const void *const hw, hri_systemcontrol_cpacr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CPACR.reg &= ~mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systemcontrol_toggle_CPACR_reg(const void *const hw, hri_systemcontrol_cpacr_reg_t mask) -{ - SystemControl_CRITICAL_SECTION_ENTER(); - ((Systemcontrol *)hw)->CPACR.reg ^= mask; - SystemControl_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systemcontrol_cpacr_reg_t hri_systemcontrol_read_CPACR_reg(const void *const hw) -{ - return ((Systemcontrol *)hw)->CPACR.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_SystemControl_E54_H_INCLUDED */ -#endif /* _SAME54_SystemControl_COMPONENT_ */ diff --git a/sysmoOCTSIM/hri/hri_systick_e54.h b/sysmoOCTSIM/hri/hri_systick_e54.h deleted file mode 100644 index 11a9224..0000000 --- a/sysmoOCTSIM/hri/hri_systick_e54.h +++ /dev/null @@ -1,219 +0,0 @@ -/** - * \file - * - * \brief SAM SysTick - * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. - * - * \asf_license_start - * - * \page License - * - * Subject to your compliance with these terms, you may use Microchip - * software and any derivatives exclusively with Microchip products. - * It is your responsibility to comply with third party license terms applicable - * to your use of third party software (including open source software) that - * may accompany Microchip software. - * - * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, - * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, - * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, - * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE - * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL - * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE - * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE - * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT - * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY - * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, - * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. - * - * \asf_license_stop - * - */ - -#ifdef _SAME54_SysTick_COMPONENT_ -#ifndef _HRI_SysTick_E54_H_INCLUDED_ -#define _HRI_SysTick_E54_H_INCLUDED_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#if defined(ENABLE_SysTick_CRITICAL_SECTIONS) -#define SysTick_CRITICAL_SECTION_ENTER() CRITICAL_SECTION_ENTER() -#define SysTick_CRITICAL_SECTION_LEAVE() CRITICAL_SECTION_LEAVE() -#else -#define SysTick_CRITICAL_SECTION_ENTER() -#define SysTick_CRITICAL_SECTION_LEAVE() -#endif - -typedef uint32_t hri_systick_calib_reg_t; -typedef uint32_t hri_systick_csr_reg_t; -typedef uint32_t hri_systick_cvr_reg_t; -typedef uint32_t hri_systick_rvr_reg_t; - -static inline bool hri_systick_get_CALIB_SKEW_bit(const void *const hw) -{ - return (((Systick *)hw)->CALIB.reg & SysTick_CALIB_SKEW) >> 30; -} - -static inline bool hri_systick_get_CALIB_NOREF_bit(const void *const hw) -{ - return (((Systick *)hw)->CALIB.reg & SysTick_CALIB_NOREF) >> 31; -} - -static inline hri_systick_calib_reg_t hri_systick_get_CALIB_TENMS_bf(const void *const hw, hri_systick_calib_reg_t mask) -{ - return (((Systick *)hw)->CALIB.reg & SysTick_CALIB_TENMS(mask)) >> 0; -} - -static inline hri_systick_calib_reg_t hri_systick_read_CALIB_TENMS_bf(const void *const hw) -{ - return (((Systick *)hw)->CALIB.reg & SysTick_CALIB_TENMS_Msk) >> 0; -} - -static inline hri_systick_calib_reg_t hri_systick_get_CALIB_reg(const void *const hw, hri_systick_calib_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systick *)hw)->CALIB.reg; - tmp &= mask; - return tmp; -} - -static inline hri_systick_calib_reg_t hri_systick_read_CALIB_reg(const void *const hw) -{ - return ((Systick *)hw)->CALIB.reg; -} - -static inline void hri_systick_set_CSR_reg(const void *const hw, hri_systick_csr_reg_t mask) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->CSR.reg |= mask; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systick_csr_reg_t hri_systick_get_CSR_reg(const void *const hw, hri_systick_csr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systick *)hw)->CSR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systick_write_CSR_reg(const void *const hw, hri_systick_csr_reg_t data) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->CSR.reg = data; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systick_clear_CSR_reg(const void *const hw, hri_systick_csr_reg_t mask) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->CSR.reg &= ~mask; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systick_toggle_CSR_reg(const void *const hw, hri_systick_csr_reg_t mask) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->CSR.reg ^= mask; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systick_csr_reg_t hri_systick_read_CSR_reg(const void *const hw) -{ - return ((Systick *)hw)->CSR.reg; -} - -static inline void hri_systick_set_RVR_reg(const void *const hw, hri_systick_rvr_reg_t mask) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->RVR.reg |= mask; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systick_rvr_reg_t hri_systick_get_RVR_reg(const void *const hw, hri_systick_rvr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systick *)hw)->RVR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systick_write_RVR_reg(const void *const hw, hri_systick_rvr_reg_t data) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->RVR.reg = data; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systick_clear_RVR_reg(const void *const hw, hri_systick_rvr_reg_t mask) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->RVR.reg &= ~mask; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systick_toggle_RVR_reg(const void *const hw, hri_systick_rvr_reg_t mask) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->RVR.reg ^= mask; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systick_rvr_reg_t hri_systick_read_RVR_reg(const void *const hw) -{ - return ((Systick *)hw)->RVR.reg; -} - -static inline void hri_systick_set_CVR_reg(const void *const hw, hri_systick_cvr_reg_t mask) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->CVR.reg |= mask; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systick_cvr_reg_t hri_systick_get_CVR_reg(const void *const hw, hri_systick_cvr_reg_t mask) -{ - uint32_t tmp; - tmp = ((Systick *)hw)->CVR.reg; - tmp &= mask; - return tmp; -} - -static inline void hri_systick_write_CVR_reg(const void *const hw, hri_systick_cvr_reg_t data) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->CVR.reg = data; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systick_clear_CVR_reg(const void *const hw, hri_systick_cvr_reg_t mask) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->CVR.reg &= ~mask; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline void hri_systick_toggle_CVR_reg(const void *const hw, hri_systick_cvr_reg_t mask) -{ - SysTick_CRITICAL_SECTION_ENTER(); - ((Systick *)hw)->CVR.reg ^= mask; - SysTick_CRITICAL_SECTION_LEAVE(); -} - -static inline hri_systick_cvr_reg_t hri_systick_read_CVR_reg(const void *const hw) -{ - return ((Systick *)hw)->CVR.reg; -} - -#ifdef __cplusplus -} -#endif - -#endif /* _HRI_SysTick_E54_H_INCLUDED */ -#endif /* _SAME54_SysTick_COMPONENT_ */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14391 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: Ib9017744644357ba9ec99eddbcc89d7f95068c34 Gerrit-Change-Number: 14391 Gerrit-PatchSet: 2 Gerrit-Owner: K?vin Redon 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 13 17:19:14 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 17:19:14 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Have authentication required on by default Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14445 Change subject: sgsn: Have authentication required on by default ...................................................................... sgsn: Have authentication required on by default Previous commit introduced command "authentication (optional|required)", which is only meaningful if auth-policy is remote. Upon adding the cmd, it changed the default logic for remote policy to not require authentication, which broke TTCN3 tests because sgsn no longer tries to authenticate the users. Since it's actually good to enable authentication by default where possible, let's enable it by default when on auth-policy remote. In order to do so, let's simply not care about the value of variable require_authentication if auth_policy is not REMOTE. As a result, we drop parts of the previous patch and remove unneeded checks (which are only partially useful based on order of commands during VTY read). Fixes: 794f446a284ed1ac6d31eb79a8f4c874d66fc34e Change-Id: Ic707a95af178b44f08809df3d3bc8354bf34273c --- M doc/manuals/vty/sgsn_vty_reference.xml M include/osmocom/sgsn/sgsn.h M src/gprs/gprs_sgsn.c M src/gprs/sgsn_vty.c 4 files changed, 11 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/45/14445/1 diff --git a/doc/manuals/vty/sgsn_vty_reference.xml b/doc/manuals/vty/sgsn_vty_reference.xml index ed11777..e9cd322 100644 --- a/doc/manuals/vty/sgsn_vty_reference.xml +++ b/doc/manuals/vty/sgsn_vty_reference.xml @@ -2232,9 +2232,9 @@ - - - + + + diff --git a/include/osmocom/sgsn/sgsn.h b/include/osmocom/sgsn/sgsn.h index c80355d..0a6ea29 100644 --- a/include/osmocom/sgsn/sgsn.h +++ b/include/osmocom/sgsn/sgsn.h @@ -78,7 +78,9 @@ struct sockaddr_in gsup_server_addr; int gsup_server_port; + /* Only meaningful if auth_policy is SGSN_AUTH_POLICY_REMOTE */ int require_authentication; + int require_update_location; /* CDR configuration */ diff --git a/src/gprs/gprs_sgsn.c b/src/gprs/gprs_sgsn.c index f725811..5801107 100644 --- a/src/gprs/gprs_sgsn.c +++ b/src/gprs/gprs_sgsn.c @@ -987,6 +987,7 @@ inst = talloc_zero(talloc_ctx, struct sgsn_instance); inst->cfg.gtp_statedir = talloc_strdup(inst, "./"); inst->cfg.auth_policy = SGSN_AUTH_POLICY_CLOSED; + inst->cfg.require_authentication = true; /* only applies if auth_policy is REMOTE */ inst->cfg.gsup_server_port = OSMO_GSUP_PORT; return inst; } diff --git a/src/gprs/sgsn_vty.c b/src/gprs/sgsn_vty.c index 29c9771..c7ec48b 100644 --- a/src/gprs/sgsn_vty.c +++ b/src/gprs/sgsn_vty.c @@ -211,8 +211,8 @@ if (g_cfg->gsup_server_port) vty_out(vty, " gsup remote-port %d%s", g_cfg->gsup_server_port, VTY_NEWLINE); - vty_out(vty, " authentication %s%s", - g_cfg->require_authentication ? "required" : "optional", VTY_NEWLINE); + if (cfg->auth_policy == SGSN_AUTH_POLICY_REMOTE && !g_cfg->require_authentication) + vty_out(vty, " authentication optional%s", VTY_NEWLINE); vty_out(vty, " auth-policy %s%s", get_value_string(sgsn_auth_pol_strs, g_cfg->auth_policy), VTY_NEWLINE); @@ -697,9 +697,9 @@ DEFUN(cfg_authentication, cfg_authentication_cmd, "authentication (optional|required)", - "Whether to enforce MS authentication in GERAN\n" - "Allow MS to attach via GERAN without authentication\n" - "Always require authentication\n") + "Whether to enforce MS authentication in GERAN (only with auth-policy remote)\n" + "Allow MS to attach via GERAN without authentication (default and only possible value for non-remote auth-policy)\n" + "Always require authentication (only available for auth-policy remote, default with that auth-policy)\n") { int required = (argv[0][0] == 'r'); @@ -730,10 +730,6 @@ g_cfg->auth_policy = val; g_cfg->require_update_location = (val == SGSN_AUTH_POLICY_REMOTE); - /* Authentication is not possible without HLR */ - if (val != SGSN_AUTH_POLICY_REMOTE) - g_cfg->require_authentication = 0; - return CMD_SUCCESS; } @@ -1489,14 +1485,6 @@ return rc; } - if (g_cfg->auth_policy != SGSN_AUTH_POLICY_REMOTE - && g_cfg->require_authentication) { - fprintf(stderr, "Configuration error:" - " authentication is not possible without HLR." - " Consider setting 'auth-policy' to 'remote'\n"); - return -EINVAL; - } - if (g_cfg->auth_policy == SGSN_AUTH_POLICY_REMOTE && !(g_cfg->gsup_server_addr.sin_addr.s_addr && g_cfg->gsup_server_port)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ic707a95af178b44f08809df3d3bc8354bf34273c Gerrit-Change-Number: 14445 Gerrit-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 13 17:24:11 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 17:24:11 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Have authentication required on by default In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14445 to look at the new patch set (#2). Change subject: sgsn: Have authentication required on by default ...................................................................... sgsn: Have authentication required on by default Previous commit introduced command "authentication (optional|required)", which is only meaningful if auth-policy is remote. Upon adding the cmd, it changed the default logic for remote policy to not require authentication, which broke TTCN3 tests because sgsn no longer tries to authenticate the users. Since it's actually good to enable authentication by default where possible, let's enable it by default when on auth-policy remote. In order to do so, let's simply not care about the value of variable require_authentication if auth_policy is not REMOTE. As a result, we drop parts of the previous patch and remove unneeded checks (which are only partially useful based on order of commands during VTY read). Fixes: 794f446a284ed1ac6d31eb79a8f4c874d66fc34e Change-Id: Ic707a95af178b44f08809df3d3bc8354bf34273c --- M doc/manuals/vty/sgsn_vty_reference.xml M include/osmocom/sgsn/sgsn.h M src/gprs/gprs_sgsn.c M src/gprs/sgsn_vty.c 4 files changed, 11 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/45/14445/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ic707a95af178b44f08809df3d3bc8354bf34273c Gerrit-Change-Number: 14445 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 17:38:50 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 17:38:50 +0000 Subject: Change in ...libosmocore[master]: logging: Use reentrant ctime_r instead of ctime In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14429 ) Change subject: logging: Use reentrant ctime_r instead of ctime ...................................................................... Patch Set 4: Code-Review+2 1+1=+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I19ebf29a2f1fc855bb7d56766b338c7c3432dfd1 Gerrit-Change-Number: 14429 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 17: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 Thu Jun 13 17:40:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 17:40:25 +0000 Subject: Change in ...libosmocore[master]: logging: Use reentrant ctime_r instead of ctime In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14429 ) Change subject: logging: Use reentrant ctime_r instead of ctime ...................................................................... logging: Use reentrant ctime_r instead of ctime It was noticed that multithreaded processes like osmo-trx can crash upon using ctime(). Related: OS#4055 Change-Id: I19ebf29a2f1fc855bb7d56766b338c7c3432dfd1 --- M src/logging.c 1 file changed, 8 insertions(+), 5 deletions(-) Approvals: pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/logging.c b/src/logging.c index 4c86473..1c3544f 100644 --- a/src/logging.c +++ b/src/logging.c @@ -359,15 +359,18 @@ OSMO_SNPRINTF_RET(ret, rem, offset, len); #endif } else if (target->print_timestamp) { - char *timestr; time_t tm; if ((tm = time(NULL)) == (time_t) -1) goto err; - timestr = ctime(&tm); - timestr[strlen(timestr)-1] = '\0'; - ret = snprintf(buf + offset, rem, "%s ", timestr); - if (ret < 0) + /* Get human-readable representation of time. + man ctime: we need at least 26 bytes in buf */ + if (rem < 26 || !ctime_r(&tm, buf + offset)) goto err; + ret = strlen(buf + offset); + if (ret <= 0) + goto err; + /* Get rid of useless final '\n' added by ctime_r. We want a space instead. */ + buf[offset + ret - 1] = ' '; OSMO_SNPRINTF_RET(ret, rem, offset, len); } if (target->print_category) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I19ebf29a2f1fc855bb7d56766b338c7c3432dfd1 Gerrit-Change-Number: 14429 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 17:42:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 17:42:03 +0000 Subject: Change in ...osmo-bts[master]: gsm_data_shared.h: Remove unused loc_list from struct gsm_bts In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14398 ) Change subject: gsm_data_shared.h: Remove unused loc_list from struct gsm_bts ...................................................................... Patch Set 1: Code-Review+2 Adding +2 myself after getting +1, since it's trivial commit. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I52880962dfb0399c613048aa7ddfd828d3c6c933 Gerrit-Change-Number: 14398 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 13 Jun 2019 17:42:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 17:42:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 13 Jun 2019 17:42:06 +0000 Subject: Change in ...osmo-bts[master]: gsm_data_shared.h: Remove unused loc_list from struct gsm_bts In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14398 ) Change subject: gsm_data_shared.h: Remove unused loc_list from struct gsm_bts ...................................................................... gsm_data_shared.h: Remove unused loc_list from struct gsm_bts Change-Id: I52880962dfb0399c613048aa7ddfd828d3c6c933 --- M include/osmo-bts/gsm_data_shared.h 1 file changed, 0 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index f972a67..a4e326a 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -557,9 +557,6 @@ /* list header in net->bts_list */ struct llist_head list; - /* Geographical location of the BTS */ - struct llist_head loc_list; - /* number of ths BTS in network */ uint8_t nr; /* human readable name / description */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I52880962dfb0399c613048aa7ddfd828d3c6c933 Gerrit-Change-Number: 14398 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 19:33:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 19:33:15 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Have authentication required on by default In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14445 ) Change subject: sgsn: Have authentication required on by default ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ic707a95af178b44f08809df3d3bc8354bf34273c Gerrit-Change-Number: 14445 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 19: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 Thu Jun 13 19:33:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 19:33:39 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ASF: update E54 SERCOM library In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14392 ) Change subject: ASF: update E54 SERCOM library ...................................................................... ASF: update E54 SERCOM library E54 ASFv4 change from backend 1.5.122 update local files to stay in sync Change-Id: Iabeb2b94d51743a0347ea81fef8fa6236d8b12c0 --- M sysmoOCTSIM/hri/hri_sercom_e54.h 1 file changed, 19 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/sysmoOCTSIM/hri/hri_sercom_e54.h b/sysmoOCTSIM/hri/hri_sercom_e54.h index f5a52b0..fed00ff 100644 --- a/sysmoOCTSIM/hri/hri_sercom_e54.h +++ b/sysmoOCTSIM/hri/hri_sercom_e54.h @@ -3,7 +3,7 @@ * * \brief SAM SERCOM * - * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. + * Copyright (c) 2016-2019 Microchip Technology Inc. and its subsidiaries. * * \asf_license_start * @@ -3682,7 +3682,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_SMEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3702,7 +3702,7 @@ tmp &= ~SERCOM_I2CM_CTRLB_SMEN; tmp |= value << SERCOM_I2CM_CTRLB_SMEN_Pos; ((Sercom *)hw)->I2CM.CTRLB.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3710,7 +3710,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg &= ~SERCOM_I2CM_CTRLB_SMEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3718,7 +3718,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg ^= SERCOM_I2CM_CTRLB_SMEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3726,7 +3726,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_QCEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3746,7 +3746,7 @@ tmp &= ~SERCOM_I2CM_CTRLB_QCEN; tmp |= value << SERCOM_I2CM_CTRLB_QCEN_Pos; ((Sercom *)hw)->I2CM.CTRLB.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3754,7 +3754,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg &= ~SERCOM_I2CM_CTRLB_QCEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3762,7 +3762,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg ^= SERCOM_I2CM_CTRLB_QCEN; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3770,7 +3770,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg |= SERCOM_I2CM_CTRLB_ACKACT; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3790,7 +3790,7 @@ tmp &= ~SERCOM_I2CM_CTRLB_ACKACT; tmp |= value << SERCOM_I2CM_CTRLB_ACKACT_Pos; ((Sercom *)hw)->I2CM.CTRLB.reg = tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3798,7 +3798,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg &= ~SERCOM_I2CM_CTRLB_ACKACT; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3806,7 +3806,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg ^= SERCOM_I2CM_CTRLB_ACKACT; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3867,7 +3867,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg |= mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3875,7 +3875,7 @@ hri_sercomi2cm_ctrlb_reg_t mask) { uint32_t tmp; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); tmp = ((Sercom *)hw)->I2CM.CTRLB.reg; tmp &= mask; return tmp; @@ -3885,7 +3885,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg = data; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3893,7 +3893,7 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg &= ~mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } @@ -3901,13 +3901,13 @@ { SERCOM_CRITICAL_SECTION_ENTER(); ((Sercom *)hw)->I2CM.CTRLB.reg ^= mask; - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); SERCOM_CRITICAL_SECTION_LEAVE(); } static inline hri_sercomi2cm_ctrlb_reg_t hri_sercomi2cm_read_CTRLB_reg(const void *const hw) { - hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_MASK); + hri_sercomi2cm_wait_for_sync(hw, SERCOM_I2CM_SYNCBUSY_SYSOP); return ((Sercom *)hw)->I2CM.CTRLB.reg; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14392 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: Iabeb2b94d51743a0347ea81fef8fa6236d8b12c0 Gerrit-Change-Number: 14392 Gerrit-PatchSet: 2 Gerrit-Owner: K?vin Redon 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 13 19:33:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 19:33:39 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ASF: minor, update copyright In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14393 ) Change subject: ASF: minor, update copyright ...................................................................... ASF: minor, update copyright upstream ASFv4 updated the copyright year. somehow they don't know you should use the range instead of the last year :/ this change is just so I can't continue diffing ASF files without false positive. Change-Id: Ic90e692815b30921bc8750c240ba0a5d3f4ccc70 --- M sysmoOCTSIM/gcc/gcc/same54n19a_flash.ld M sysmoOCTSIM/gcc/gcc/same54n19a_sram.ld M sysmoOCTSIM/gcc/gcc/startup_same54.c M sysmoOCTSIM/hal/utils/include/parts.h M sysmoOCTSIM/include/component/ac.h M sysmoOCTSIM/include/component/adc.h M sysmoOCTSIM/include/component/aes.h M sysmoOCTSIM/include/component/can.h M sysmoOCTSIM/include/component/ccl.h M sysmoOCTSIM/include/component/cmcc.h M sysmoOCTSIM/include/component/dac.h M sysmoOCTSIM/include/component/dmac.h M sysmoOCTSIM/include/component/eic.h M sysmoOCTSIM/include/component/evsys.h M sysmoOCTSIM/include/component/freqm.h M sysmoOCTSIM/include/component/gclk.h M sysmoOCTSIM/include/component/gmac.h M sysmoOCTSIM/include/component/hmatrixb.h M sysmoOCTSIM/include/component/i2s.h M sysmoOCTSIM/include/component/icm.h M sysmoOCTSIM/include/component/mclk.h M sysmoOCTSIM/include/component/osc32kctrl.h M sysmoOCTSIM/include/component/oscctrl.h M sysmoOCTSIM/include/component/pac.h M sysmoOCTSIM/include/component/pcc.h M sysmoOCTSIM/include/component/pdec.h M sysmoOCTSIM/include/component/pm.h M sysmoOCTSIM/include/component/port.h M sysmoOCTSIM/include/component/qspi.h M sysmoOCTSIM/include/component/ramecc.h M sysmoOCTSIM/include/component/rstc.h M sysmoOCTSIM/include/component/rtc.h M sysmoOCTSIM/include/component/sdhc.h M sysmoOCTSIM/include/component/sercom.h M sysmoOCTSIM/include/component/tc.h M sysmoOCTSIM/include/component/tcc.h M sysmoOCTSIM/include/component/trng.h M sysmoOCTSIM/include/component/usb.h M sysmoOCTSIM/include/component/wdt.h M sysmoOCTSIM/include/instance/ac.h M sysmoOCTSIM/include/instance/adc0.h M sysmoOCTSIM/include/instance/adc1.h M sysmoOCTSIM/include/instance/aes.h M sysmoOCTSIM/include/instance/can0.h M sysmoOCTSIM/include/instance/can1.h M sysmoOCTSIM/include/instance/ccl.h M sysmoOCTSIM/include/instance/cmcc.h M sysmoOCTSIM/include/instance/dac.h M sysmoOCTSIM/include/instance/dmac.h M sysmoOCTSIM/include/instance/eic.h M sysmoOCTSIM/include/instance/freqm.h M sysmoOCTSIM/include/instance/gclk.h M sysmoOCTSIM/include/instance/gmac.h M sysmoOCTSIM/include/instance/hmatrix.h M sysmoOCTSIM/include/instance/i2s.h M sysmoOCTSIM/include/instance/icm.h M sysmoOCTSIM/include/instance/mclk.h M sysmoOCTSIM/include/instance/nvmctrl.h M sysmoOCTSIM/include/instance/osc32kctrl.h M sysmoOCTSIM/include/instance/oscctrl.h M sysmoOCTSIM/include/instance/pac.h M sysmoOCTSIM/include/instance/pcc.h M sysmoOCTSIM/include/instance/pdec.h M sysmoOCTSIM/include/instance/pm.h M sysmoOCTSIM/include/instance/port.h M sysmoOCTSIM/include/instance/pukcc.h M sysmoOCTSIM/include/instance/qspi.h M sysmoOCTSIM/include/instance/ramecc.h M sysmoOCTSIM/include/instance/rstc.h M sysmoOCTSIM/include/instance/rtc.h M sysmoOCTSIM/include/instance/sdhc0.h M sysmoOCTSIM/include/instance/sdhc1.h M sysmoOCTSIM/include/instance/tc0.h M sysmoOCTSIM/include/instance/tc1.h M sysmoOCTSIM/include/instance/tc2.h M sysmoOCTSIM/include/instance/tc3.h M sysmoOCTSIM/include/instance/tc4.h M sysmoOCTSIM/include/instance/tc5.h M sysmoOCTSIM/include/instance/tc6.h M sysmoOCTSIM/include/instance/tc7.h M sysmoOCTSIM/include/instance/tcc0.h M sysmoOCTSIM/include/instance/tcc1.h M sysmoOCTSIM/include/instance/tcc2.h M sysmoOCTSIM/include/instance/tcc3.h M sysmoOCTSIM/include/instance/tcc4.h M sysmoOCTSIM/include/instance/trng.h M sysmoOCTSIM/include/instance/usb.h M sysmoOCTSIM/include/instance/wdt.h M sysmoOCTSIM/include/pio/same54n19a.h M sysmoOCTSIM/include/pio/same54n20a.h M sysmoOCTSIM/include/pio/same54p19a.h M sysmoOCTSIM/include/pio/same54p20a.h M sysmoOCTSIM/include/sam.h M sysmoOCTSIM/include/same54.h M sysmoOCTSIM/include/system_same54.h 95 files changed, 46,611 insertions(+), 46,611 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14393 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: Ic90e692815b30921bc8750c240ba0a5d3f4ccc70 Gerrit-Change-Number: 14393 Gerrit-PatchSet: 2 Gerrit-Owner: K?vin Redon 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 13 19:33:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 19:33:40 +0000 Subject: Change in ...osmo-ccid-firmware[master]: ASF: add new utils In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14394 ) Change subject: ASF: add new utils ...................................................................... ASF: add new utils AFAIK these are not used yet, but have been added to the upstream ASFv4 library. I added them to avoid future false negative when diffing files. Change-Id: Icf6fb641050a1e7132ff2b14c1ce537ec9403b9f --- A sysmoOCTSIM/hal/utils/include/utils_decrement_macro.h A sysmoOCTSIM/hal/utils/include/utils_recursion_macro.h 2 files changed, 378 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/sysmoOCTSIM/hal/utils/include/utils_decrement_macro.h b/sysmoOCTSIM/hal/utils/include/utils_decrement_macro.h new file mode 100644 index 0000000..2b52469 --- /dev/null +++ b/sysmoOCTSIM/hal/utils/include/utils_decrement_macro.h @@ -0,0 +1,309 @@ +/** + * \file + * + * \brief Decrement macro. + * + * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. + * + * \asf_license_start + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip + * software and any derivatives exclusively with Microchip products. + * It is your responsibility to comply with third party license terms applicable + * to your use of third party software (including open source software) that + * may accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, + * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, + * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, + * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE + * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL + * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE + * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE + * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT + * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY + * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, + * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. + * + * \asf_license_stop + * + */ + +#ifndef _UTILS_DECREMENT_MACRO_H +#define _UTILS_DECREMENT_MACRO_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief Compile time decrement, result value is entire integer literal + * + * \param[in] val - value to be decremented + */ +#define DEC_VALUE(val) DEC_##val + +// Preprocessor increment implementation +#define DEC_256 255 +#define DEC_255 254 +#define DEC_254 253 +#define DEC_253 252 +#define DEC_252 251 +#define DEC_251 250 +#define DEC_250 249 +#define DEC_249 248 +#define DEC_248 247 +#define DEC_247 246 +#define DEC_246 245 +#define DEC_245 244 +#define DEC_244 243 +#define DEC_243 242 +#define DEC_242 241 +#define DEC_241 240 +#define DEC_240 239 +#define DEC_239 238 +#define DEC_238 237 +#define DEC_237 236 +#define DEC_236 235 +#define DEC_235 234 +#define DEC_234 233 +#define DEC_233 232 +#define DEC_232 231 +#define DEC_231 230 +#define DEC_230 229 +#define DEC_229 228 +#define DEC_228 227 +#define DEC_227 226 +#define DEC_226 225 +#define DEC_225 224 +#define DEC_224 223 +#define DEC_223 222 +#define DEC_222 221 +#define DEC_221 220 +#define DEC_220 219 +#define DEC_219 218 +#define DEC_218 217 +#define DEC_217 216 +#define DEC_216 215 +#define DEC_215 214 +#define DEC_214 213 +#define DEC_213 212 +#define DEC_212 211 +#define DEC_211 210 +#define DEC_210 209 +#define DEC_209 208 +#define DEC_208 207 +#define DEC_207 206 +#define DEC_206 205 +#define DEC_205 204 +#define DEC_204 203 +#define DEC_203 202 +#define DEC_202 201 +#define DEC_201 200 +#define DEC_200 199 +#define DEC_199 198 +#define DEC_198 197 +#define DEC_197 196 +#define DEC_196 195 +#define DEC_195 194 +#define DEC_194 193 +#define DEC_193 192 +#define DEC_192 191 +#define DEC_191 190 +#define DEC_190 189 +#define DEC_189 188 +#define DEC_188 187 +#define DEC_187 186 +#define DEC_186 185 +#define DEC_185 184 +#define DEC_184 183 +#define DEC_183 182 +#define DEC_182 181 +#define DEC_181 180 +#define DEC_180 179 +#define DEC_179 178 +#define DEC_178 177 +#define DEC_177 176 +#define DEC_176 175 +#define DEC_175 174 +#define DEC_174 173 +#define DEC_173 172 +#define DEC_172 171 +#define DEC_171 170 +#define DEC_170 169 +#define DEC_169 168 +#define DEC_168 167 +#define DEC_167 166 +#define DEC_166 165 +#define DEC_165 164 +#define DEC_164 163 +#define DEC_163 162 +#define DEC_162 161 +#define DEC_161 160 +#define DEC_160 159 +#define DEC_159 158 +#define DEC_158 157 +#define DEC_157 156 +#define DEC_156 155 +#define DEC_155 154 +#define DEC_154 153 +#define DEC_153 152 +#define DEC_152 151 +#define DEC_151 150 +#define DEC_150 149 +#define DEC_149 148 +#define DEC_148 147 +#define DEC_147 146 +#define DEC_146 145 +#define DEC_145 144 +#define DEC_144 143 +#define DEC_143 142 +#define DEC_142 141 +#define DEC_141 140 +#define DEC_140 139 +#define DEC_139 138 +#define DEC_138 137 +#define DEC_137 136 +#define DEC_136 135 +#define DEC_135 134 +#define DEC_134 133 +#define DEC_133 132 +#define DEC_132 131 +#define DEC_131 130 +#define DEC_130 129 +#define DEC_129 128 +#define DEC_128 127 +#define DEC_127 126 +#define DEC_126 125 +#define DEC_125 124 +#define DEC_124 123 +#define DEC_123 122 +#define DEC_122 121 +#define DEC_121 120 +#define DEC_120 119 +#define DEC_119 118 +#define DEC_118 117 +#define DEC_117 116 +#define DEC_116 115 +#define DEC_115 114 +#define DEC_114 113 +#define DEC_113 112 +#define DEC_112 111 +#define DEC_111 110 +#define DEC_110 109 +#define DEC_109 108 +#define DEC_108 107 +#define DEC_107 106 +#define DEC_106 105 +#define DEC_105 104 +#define DEC_104 103 +#define DEC_103 102 +#define DEC_102 101 +#define DEC_101 100 +#define DEC_100 99 +#define DEC_99 98 +#define DEC_98 97 +#define DEC_97 96 +#define DEC_96 95 +#define DEC_95 94 +#define DEC_94 93 +#define DEC_93 92 +#define DEC_92 91 +#define DEC_91 90 +#define DEC_90 89 +#define DEC_89 88 +#define DEC_88 87 +#define DEC_87 86 +#define DEC_86 85 +#define DEC_85 84 +#define DEC_84 83 +#define DEC_83 82 +#define DEC_82 81 +#define DEC_81 80 +#define DEC_80 79 +#define DEC_79 78 +#define DEC_78 77 +#define DEC_77 76 +#define DEC_76 75 +#define DEC_75 74 +#define DEC_74 73 +#define DEC_73 72 +#define DEC_72 71 +#define DEC_71 70 +#define DEC_70 69 +#define DEC_69 68 +#define DEC_68 67 +#define DEC_67 66 +#define DEC_66 65 +#define DEC_65 64 +#define DEC_64 63 +#define DEC_63 62 +#define DEC_62 61 +#define DEC_61 60 +#define DEC_60 59 +#define DEC_59 58 +#define DEC_58 57 +#define DEC_57 56 +#define DEC_56 55 +#define DEC_55 54 +#define DEC_54 53 +#define DEC_53 52 +#define DEC_52 51 +#define DEC_51 50 +#define DEC_50 49 +#define DEC_49 48 +#define DEC_48 47 +#define DEC_47 46 +#define DEC_46 45 +#define DEC_45 44 +#define DEC_44 43 +#define DEC_43 42 +#define DEC_42 41 +#define DEC_41 40 +#define DEC_40 39 +#define DEC_39 38 +#define DEC_38 37 +#define DEC_37 36 +#define DEC_36 35 +#define DEC_35 34 +#define DEC_34 33 +#define DEC_33 32 +#define DEC_32 31 +#define DEC_31 30 +#define DEC_30 29 +#define DEC_29 28 +#define DEC_28 27 +#define DEC_27 26 +#define DEC_26 25 +#define DEC_25 24 +#define DEC_24 23 +#define DEC_23 22 +#define DEC_22 21 +#define DEC_21 20 +#define DEC_20 19 +#define DEC_19 18 +#define DEC_18 17 +#define DEC_17 16 +#define DEC_16 15 +#define DEC_15 14 +#define DEC_14 13 +#define DEC_13 12 +#define DEC_12 11 +#define DEC_11 10 +#define DEC_10 9 +#define DEC_9 8 +#define DEC_8 7 +#define DEC_7 6 +#define DEC_6 5 +#define DEC_5 4 +#define DEC_4 3 +#define DEC_3 2 +#define DEC_2 1 +#define DEC_1 0 + +#ifdef __cplusplus +} +#endif +#endif /* _UTILS_DECREMENT_MACRO_H */ diff --git a/sysmoOCTSIM/hal/utils/include/utils_recursion_macro.h b/sysmoOCTSIM/hal/utils/include/utils_recursion_macro.h new file mode 100644 index 0000000..294314c --- /dev/null +++ b/sysmoOCTSIM/hal/utils/include/utils_recursion_macro.h @@ -0,0 +1,69 @@ +/** + * \file + * + * \brief Recursion macro. + * + * Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries. + * + * \asf_license_start + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip + * software and any derivatives exclusively with Microchip products. + * It is your responsibility to comply with third party license terms applicable + * to your use of third party software (including open source software) that + * may accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, + * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, + * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, + * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE + * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL + * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE + * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE + * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT + * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY + * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, + * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. + * + * \asf_license_stop + * + */ + +#ifndef _UTILS_RECURSION_MACRO_H +#define _UTILS_RECURSION_MACRO_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * \brief Macro recursion + * + * \param[in] macro Macro to be repeated recursively + * \param[in] arg A recursive threshold, building on this to decline by times + * defined with parameter n + * \param[in] n The number of repetitious calls to macro + */ +#define RECURSION_MACRO(macro, arg, n) RECURSION_MACRO_I(macro, arg, n) + +/* + * \brief Second level is needed to get integer literal from "n" if it is + * defined as macro + */ +#define RECURSION_MACRO_I(macro, arg, n) RECURSION##n(macro, arg) + +#define RECURSION0(macro, arg) +#define RECURSION1(macro, arg) RECURSION0(macro, DEC_VALUE(arg)) macro(arg, 0) +#define RECURSION2(macro, arg) RECURSION1(macro, DEC_VALUE(arg)) macro(arg, 1) +#define RECURSION3(macro, arg) RECURSION2(macro, DEC_VALUE(arg)) macro(arg, 2) +#define RECURSION4(macro, arg) RECURSION3(macro, DEC_VALUE(arg)) macro(arg, 3) +#define RECURSION5(macro, arg) RECURSION4(macro, DEC_VALUE(arg)) macro(arg, 4) + +#ifdef __cplusplus +} +#endif + +#include +#endif /* _UTILS_RECURSION_MACRO_H */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14394 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: Icf6fb641050a1e7132ff2b14c1ce537ec9403b9f Gerrit-Change-Number: 14394 Gerrit-PatchSet: 2 Gerrit-Owner: K?vin Redon 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 13 19:33:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 19:33:41 +0000 Subject: Change in ...osmo-ccid-firmware[master]: Makefile: automatically get output directory list In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14395 ) Change subject: Makefile: automatically get output directory list ...................................................................... Makefile: automatically get output directory list Change-Id: I8a18a5f04b03f9fa95a1b4f5ee77945e4fa8db07 --- M sysmoOCTSIM/gcc/Makefile 1 file changed, 2 insertions(+), 28 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/sysmoOCTSIM/gcc/Makefile b/sysmoOCTSIM/gcc/Makefile index 282a146..d5c11e8 100644 --- a/sysmoOCTSIM/gcc/Makefile +++ b/sysmoOCTSIM/gcc/Makefile @@ -46,34 +46,6 @@ endif endif -# List the subdirectories for creating object files -SUB_DIRS += \ - ccid \ - dma_m2m \ - gcc \ - gcc/gcc \ - hal/src \ - hal/utils/src \ - hpl/cmcc \ - hpl/core \ - hpl/dmac \ - hpl/gclk \ - hpl/mclk \ - hpl/osc32kctrl \ - hpl/oscctrl \ - hpl/pm \ - hpl/ramecc \ - hpl/sercom \ - hpl/rtc \ - hpl/usb \ - stdio_redirect \ - stdio_redirect/gcc \ - usb \ - usb/class/ccid/device \ - usb/class/cdc/device \ - usb/device \ - $(NULL) - INC_DIRS = \ -I"../" \ -I"../CMSIS/Core/Include" \ @@ -168,6 +140,8 @@ # List the dependency files DEPS := $(OBJS:%.o=%.d) +# List the subdirectories for creating object files +SUB_DIRS := $(sort $(foreach obj,$(OBJS),$(dir $(obj)))) OUTPUT_FILE_NAME := sysmoOCTSIM QUOTE := " -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14395 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: I8a18a5f04b03f9fa95a1b4f5ee77945e4fa8db07 Gerrit-Change-Number: 14395 Gerrit-PatchSet: 2 Gerrit-Owner: K?vin Redon 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 13 19:35:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 19:35:16 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Fix: multi-choice args are no longer passed incomplet... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14436 ) Change subject: vty: command.c: Fix: multi-choice args are no longer passed incomplete to vty func ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I91b6621ac3d87fda5412a9b415e7bfb4736c8a9a Gerrit-Change-Number: 14436 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 19:35: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 13 19:35:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 19:35:24 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Get rid of big indentation block In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14430 ) Change subject: vty: command.c: Get rid of big indentation block ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibc1494014b1e77ce10950f7268a44d2d2091a6f2 Gerrit-Change-Number: 14430 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 19:35:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 13 19:35:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 19:35:53 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Fix: single-choice optional args are no longer passed... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14437 ) Change subject: vty: command.c: Fix: single-choice optional args are no longer passed incomplete to vty func ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5f4e2d16c62a2d22717989c6acc77450957168cb Gerrit-Change-Number: 14437 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 19:35: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 13 21:26:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 21:26:10 +0000 Subject: Change in ...osmo-pcu[master]: encoding: correct encoding of CRBB in ACK/NACK when not byte aligned In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14302 ) Change subject: encoding: correct encoding of CRBB in ACK/NACK when not byte aligned ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7261aa71b37d7ead52992f8db462f72a3804988e Gerrit-Change-Number: 14302 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 13 Jun 2019 21: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 Thu Jun 13 21:26:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 13 Jun 2019 21:26:12 +0000 Subject: Change in ...osmo-pcu[master]: encoding: correct encoding of CRBB in ACK/NACK when not byte aligned In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14302 ) Change subject: encoding: correct encoding of CRBB in ACK/NACK when not byte aligned ...................................................................... encoding: correct encoding of CRBB in ACK/NACK when not byte aligned The last bits of the CRBB (compressed receive block bitmap) was incorrect encoded when the CRBB is not byte aligned. Related: OS#3728 Change-Id: I7261aa71b37d7ead52992f8db462f72a3804988e --- M src/encoding.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/encoding.cpp b/src/encoding.cpp index 1b325b4..b6879cc 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -965,7 +965,7 @@ crbb_len = crbb_len - 8; iter++; } else { - bitvec_write_field(dest, &wp, crbb_bitmap[iter], crbb_len); + bitvec_write_field(dest, &wp, crbb_bitmap[iter] >> (8 - crbb_len), crbb_len); crbb_len = 0; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7261aa71b37d7ead52992f8db462f72a3804988e Gerrit-Change-Number: 14302 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Jun 14 02:40:54 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Jun 2019 02:40:54 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0309529aaf3_5e0845c5f42267cc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 566s] | This file was extended by libosmocore config.status 1.1.0.61-cc794e, which was [ 566s] | generated by GNU Autoconf 2.69. Invocation command line was [ 566s] | [ 566s] | CONFIG_FILES = [ 566s] | CONFIG_HEADERS = [ 566s] | CONFIG_LINKS = [ 566s] | CONFIG_COMMANDS = [ 566s] | $ ./config.status Doxyfile.core [ 566s] | [ 566s] | on armbuild21 [ 566s] | [ 566s] | config.status:1200: creating Doxyfile.core [ 566s] [ 566s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 566s] make[1]: *** [override_dh_auto_test] Error 1 [ 566s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 566s] debian/rules:15: recipe for target 'build' failed [ 566s] make: *** [build] Error 2 [ 566s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 566s] [ 566s] armbuild21 failed "build libosmocore_1.1.0.61.cc794e.dsc" at Fri Jun 14 02:40:49 UTC 2019. [ 566s] [ 566s] ### VM INTERACTION START ### [ 568s] [ 549.170607] sysrq: SysRq : Power Off [ 568s] [ 549.221582] reboot: Power down [ 569s] ### VM INTERACTION END ### [ 569s] [ 569s] armbuild21 failed "build libosmocore_1.1.0.61.cc794e.dsc" at Fri Jun 14 02:40:53 UTC 2019. [ 569s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Jun 14 03:07:28 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Jun 2019 03:07:28 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5d030f87ede2a_5e0845c5f42281f8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_9.0/armv7l Package network:osmocom:nightly/libosmo-netif failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 259s] | ac_cv_env_CPP_set= [ 259s] | ac_cv_env_CPP_value= [ 259s] | ac_cv_env_LDFLAGS_set=set [ 259s] | ac_cv_env_LDFLAGS_value='-Wl,-z,relro -Wl,-z,now' [ 259s] | ac_cv_env_LIBOSMOABIS_CFLAGS_set= [ 259s] | ac_cv_env_LIBOSMOABIS_CFLAGS_value= [ 259s] | ac_cv_env_LIBOSMOABIS_LIBS_set= [ 259s] | ac_cv_env_LIBOSMOABIS_LIBS_value= [ 259s] | ac_cv_env_LIBOSMOCORE_CFLAGS_set= [ 259s] | ac_cv_env_LIBOSMOCORE_CFLAGS_value= [ 259s] | ac_cv_env_LIBOSMOCORE_LIBS_set= [ 259s] | ac_cv_env_LIBOSMOCORE_LIBS_value= [ 259s] | ac_cv_env_LIBOSMOGSM_CFLAGS_set= [ 259s] | ac_cv_env_LIBOSMOGSM_CFLAGS_value= [ 259s] | ac_cv_env_LIBOSMOGSM_LIBS_set= [ 259s] | ac_cv_env_LIBOSMOGSM_LIBS_value= [ 259s] | ac_cv_env_LIBS_set= [ 259s] | ac_cv_env_LIBS_value= [ 259s] | ac_cv_env_LT_SYS_LIBRARY_PATH_set= [ 259s] | ac_cv_env_LT_SYS_LIBRARY_PATH_value= [ 259s] | ac_cv_env_PKG_CONFIG_LIBDIR_set= [ 259s] | ac_cv_env_PKG_CONFIG_LIBDIR_value= [ 259s] | ac_cv_env_PKG_CONFIG_PATH_set= [ 261s] | ac_cv_env_[ 220.469371] sysrq: SysRq : Power Off [ 261s] [ 220.471420] reboot: Power down [ 262s] ### VM INTERACTION END ### [ 262s] [ 262s] armbuild14 failed "build libosmo-netif_0.5.0.1.f0f1.dsc" at Fri Jun 14 03:07:13 UTC 2019. [ 262s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Jun 14 06:59:36 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 06:59:36 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Have authentication required on by default In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14445 ) Change subject: sgsn: Have authentication required on by default ...................................................................... Patch Set 2: Code-Review-1 Please see: http://lists.osmocom.org/pipermail/openbsc/2019-June/012941.html -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ic707a95af178b44f08809df3d3bc8354bf34273c Gerrit-Change-Number: 14445 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 06:59:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 07:08:43 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 07:08:43 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Get rid of big indentation block In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14430 ) Change subject: vty: command.c: Get rid of big indentation block ...................................................................... Patch Set 2: Code-Review+1 (5 comments) My warnings are not critical. https://gerrit.osmocom.org/#/c/14430/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14430/2//COMMIT_MSG at 11 PS2, Line 11: Check against MAX argc is changed Any reason to do it as a part of this change? https://gerrit.osmocom.org/#/c/14430/2/src/vty/command.c File src/vty/command.c: https://gerrit.osmocom.org/#/c/14430/2/src/vty/command.c at 2299 PS2, Line 2299: if (argc == CMD_ARGC_MAX) This could be done at the beginning of the 'for' loop, so we would avoid code duplication. https://gerrit.osmocom.org/#/c/14430/2/src/vty/command.c at 2319 PS2, Line 2319: == This cosmetic change is unrelated. https://gerrit.osmocom.org/#/c/14430/2/src/vty/command.c at 2447 PS2, Line 2447: if (argc == CMD_ARGC_MAX) Same here. https://gerrit.osmocom.org/#/c/14430/2/src/vty/command.c at 2467 PS2, Line 2467: == This cosmetic change is unrelated. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibc1494014b1e77ce10950f7268a44d2d2091a6f2 Gerrit-Change-Number: 14430 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 07:08:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 09:45:28 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 14 Jun 2019 09:45:28 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: clean up old tests and make them work again Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14446 Change subject: bts: clean up old tests and make them work again ...................................................................... bts: clean up old tests and make them work again Change-Id: Ie9d73cd9777b6fdda5115ed5dc103979d79c8cd9 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 83 insertions(+), 133 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/46/14446/1 diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index edbd37b..2ee7911 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -71,201 +71,152 @@ sapi := sapi, lapdm := frame } -/* template for a valid SABM frame */ -template LapdmFrame LAPDm_B_SABM(template GsmSapi sapi, octetstring payload) := { - ab := { - addr := tr_LapdmAddr(sapi, false), - ctrl := tr_LapdmCtrlSABM(true), - len := lengthof(payload), - m := false, - el := 1, - payload := payload - } -} -/* template for a valid UA frame */ -template LapdmFrame tr_LAPDm_B_UA(template GsmSapi sapi, template octetstring payload) := { - ab := { - addr := tr_LapdmAddr(sapi, false), - ctrl := tr_LapdmCtrlUA(true), - len := ?, - m := false, - el := 1, - payload := payload - } -} - -/* template for a valid UA frame */ -template LapdmFrame LAPDm_B_UA(template GsmSapi sapi, octetstring payload) := { - ab := { - addr := tr_LapdmAddr(sapi, false), - ctrl := tr_LapdmCtrlUA(true), - len := lengthof(payload), - m := false, - el := 1, - payload := payload - } -} - -/* template for a valid UI frame */ -template LapdmFrame LAPDm_B_UI(template GsmSapi sapi, octetstring payload) := { - ab := { - addr := tr_LapdmAddr(sapi, true), - ctrl := tr_LapdmCtrlUI(false), - len := lengthof(payload), - m := false, - el := 1, - payload := payload - } -} - -template LapdmFrame t_nopayload(template GsmSapi sapi) := { - ab := { - addr := tr_LapdmAddr(sapi, true), - ctrl := ?, - len := 0, - m := false, - el := 1, - payload := ''O - } -} - -template LapdmFrame LAPDm_B_DISC(template GsmSapi sapi) modifies t_nopayload := { - ab := { - ctrl := tr_LapdmCtrlDISC(true) - } -} - -template LapdmFrame LAPDm_B_RR(template GsmSapi sapi, template uint3_t nr) modifies t_nopayload := { - ab := { - ctrl := tr_LapdmCtrlRR(nr, false) - } -} - - -function f_test_sabm_results_in_ua(uint8_t sapi, boolean use_sacch, octetstring payload) runs on lapdm_test_CT return boolean { +function f_test_sabm_results_in_ua(uint8_t sapi, boolean use_sacch, octetstring payload) runs on ConnHdlr return boolean { var LAPDm_ph_data phd; var boolean result := false; timer T := 5.0; - f_establish_dcch(); - LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_SABM(sapi, payload))); - log("====> expecting ", t_PH_DATA(sapi, use_sacch, LAPDm_B_UA(sapi, payload))); + LAPDM.send(t_PH_DATA(sapi, use_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=false, l3:=payload))); T.start alt { - [] LAPDM.receive(t_PH_DATA(?, use_sacch, LAPDm_B_UA(sapi, payload))) { result := true; } - [] LAPDM.receive(t_PH_DATA(?, use_sacch, ?)) -> value phd { log("Other msg on DCH: ", phd); repeat; } - [] LAPDM.receive(t_PH_DATA(?, ?, ?)) -> value phd { log("Other PH-DATA: ", phd); repeat; } + [] LAPDM.receive(t_PH_DATA(?, use_sacch, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=false, l3:=payload))) { result := true; } + [] RSL.receive {repeat;} + [] LAPDM.receive { repeat; } [] T.timeout { } } - LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_RR(sapi, 0))); - f_release_dcch(); + LAPDM.send(t_PH_DATA(sapi, use_sacch, ts_LAPDm_RR(sapi, c_r:=cr_MT_CMD, p:=false, nr:=0))); return result; } -testcase TC_sabm_ua_dcch_sapi0() runs on lapdm_test_CT { - f_lapdm_init(); +function f_TC_sabm_ua_dcch_sapi0(charstring id) runs on ConnHdlr { + fp_common_init(); + RSL.clear; + LAPDM.clear; + var default d := activate(as_ignore_background()); if (not f_test_sabm_results_in_ua(0, false, 'FEFE'O)) { setverdict(fail); } setverdict(pass); + deactivate(d); + fp_common_fini(); } -testcase TC_sabm_ua_dcch_sapi0_nopayload() runs on lapdm_test_CT { - f_lapdm_init(); +function f_TC_sabm_ua_dcch_sapi0_nopayload(charstring id) runs on ConnHdlr { + fp_common_init(); + RSL.clear; + LAPDM.clear; + var default d := activate(as_ignore_background()); if (f_test_sabm_results_in_ua(0, false, ''O)) { setverdict(fail, "Initial SABM/UA must contain L3 payload but BTS accepts without"); } setverdict(pass); + deactivate(d); + fp_common_fini(); } -testcase TC_sabm_ua_dcch_sapi3() runs on lapdm_test_CT { - f_lapdm_init(); +function f_TC_sabm_ua_dcch_sapi3(charstring id) runs on ConnHdlr { + fp_common_init(); + RSL.clear; + LAPDM.clear; + var default d := activate(as_ignore_background()); if (f_test_sabm_results_in_ua(3, false, 'FEFE'O)) { setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=3"); } setverdict(pass); + deactivate(d); + fp_common_fini(); } -testcase TC_sabm_ua_dcch_sapi4() runs on lapdm_test_CT { - f_lapdm_init(); +function f_TC_sabm_ua_dcch_sapi4(charstring id) runs on ConnHdlr { + fp_common_init(); + RSL.clear; + LAPDM.clear; + var default d := activate(as_ignore_background()); if (f_test_sabm_results_in_ua(4, false, 'FEFE'O)) { setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=4"); } setverdict(pass); + deactivate(d); + fp_common_fini(); } -testcase TC_sabm_contention() runs on lapdm_test_CT { +testcase TC_sabm_ua_dcch_sapi0() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_ua_dcch_sapi0)); +} + +testcase TC_sabm_ua_dcch_sapi0_nopayload() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_ua_dcch_sapi0_nopayload)); +} + +testcase TC_sabm_ua_dcch_sapi3() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_ua_dcch_sapi3)); +} + +testcase TC_sabm_ua_dcch_sapi4() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_ua_dcch_sapi4)); +} + +function f_TC_sabm_contention(charstring id) runs on ConnHdlr { var LAPDm_ph_data phd; const octetstring payload := '0102030405'O; const GsmSapi sapi := 0; const boolean use_sacch := false; timer T := 5.0; - f_lapdm_init(); + fp_common_init(); + RSL.clear; + LAPDM.clear; - f_establish_dcch(); /* first frame is our real SABM */ - LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_SABM(sapi, payload))); + LAPDM.send(t_PH_DATA(sapi, use_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=false, l3:=payload))); /* second frame is a SABM with different payload, which BTS has to ignore according to 8.4.1.4 */ - LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_SABM(sapi, 'ABCDEF'O))); - log("====> expecting ", t_PH_DATA(sapi, use_sacch, LAPDm_B_UA(sapi, payload))); + LAPDM.send(t_PH_DATA(sapi, use_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=false, l3:='ABCDEF'O))); T.start alt { - [] LAPDM.receive(t_PH_DATA(?, use_sacch, LAPDm_B_UA(sapi, payload))) { setverdict(pass); repeat; } - [] LAPDM.receive(t_PH_DATA(?, use_sacch, tr_LAPDm_B_UA(sapi, ?))) { + [] LAPDM.receive(t_PH_DATA(?, use_sacch, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=false, l3:=payload))) { setverdict(pass); repeat; } + [] LAPDM.receive(t_PH_DATA(?, use_sacch, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=false, l3:=?))) { setverdict(fail, "Second SABM was responded to during contention resolution"); - } + } + [] RSL.receive {repeat;} [] LAPDM.receive { repeat }; [] T.timeout { } } - f_release_dcch(); + + fp_common_fini(); +} + +testcase TC_sabm_contention() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_contention)); } /* we test that a re-transmitted SABM with identical payload will result in the retransmission of a * UA. This is required during the contention resolution procedure as specified in 8.4.1.4 */ -testcase TC_sabm_retransmit() runs on lapdm_test_CT { +function f_TC_sabm_retransmit(charstring id) runs on ConnHdlr { const octetstring payload := '00FEFEDEADBEEF'O; - f_lapdm_init(); + fp_common_init(); + RSL.clear; + LAPDM.clear; + var default d := activate(as_ignore_background()); if (not f_test_sabm_results_in_ua(0, false, payload)) { - setverdict(fail, "UA not received for first SABM"); + setverdict(fail); } if (not f_test_sabm_results_in_ua(0, false, payload)) { - setverdict(fail, "UA not received for second SABM"); + setverdict(fail); } setverdict(pass); + deactivate(d); + fp_common_fini(); } -testcase TC_foo() runs on lapdm_test_CT { - var LapdmFrame lf; -/* - var LapdmFrame lf := valueof(LAPDm_B_UA(0, ''O)); - log("ENC UA: ", enc_LapdmFrame(lf)); - lf := valueof(LAPDm_B_UI(0, ''O)); - log("ENC UI B: ", enc_LapdmFrame(lf)); - log("ENC UI B: ", enc_LapdmFrameB(lf.b)); - - log("DEC UI AF: ", dec_LapdmAddressField('03'O)); -*/ - - lf := valueof(LAPDm_B_RR(0, 0)); - log("ENC RR: ", enc_LapdmFrame(lf)); - - lf := valueof(LAPDm_B_UA(0, ''O)); - log("ENC UA: ", enc_LapdmFrame(lf)); - - lf := valueof(LAPDm_B_UI(0, ''O)); - log("ENC UI: ", enc_LapdmFrame(lf)); - - log("DEC UI CU: ", dec_LapdmCtrlU('03'O)); - log("DEC UI CT: ", dec_LapdmCtrl('03'O)); - - log("DEC UA: ", dec_LapdmFrameAB('017301'O)); - log("DEC UI: ", dec_LapdmFrameAB('030301'O)); - log("DEC I: ", dec_LapdmFrameAB('030001'O)); - log("DEC S: ", dec_LapdmFrameAB('030101'O)); - log("DEC: ", dec_LapdmFrameAB('030301'O)); - log("DEC: ", dec_LapdmFrameAB('0303012B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B'O)); +testcase TC_sabm_retransmit() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_retransmit)); } /********************************************************************************* @@ -1102,7 +1053,6 @@ } control { - execute(TC_foo()); execute(TC_sabm_ua_dcch_sapi0()); execute(TC_sabm_ua_dcch_sapi0_nopayload()); execute(TC_sabm_ua_dcch_sapi3()); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie9d73cd9777b6fdda5115ed5dc103979d79c8cd9 Gerrit-Change-Number: 14446 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 14 10:46:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 14 Jun 2019 10:46:27 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Get rid of big indentation block In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/14430 to look at the new patch set (#3). Change subject: vty: command.c: Get rid of big indentation block ...................................................................... vty: command.c: Get rid of big indentation block This block will become bigger in forthcoming commits. Change-Id: Ibc1494014b1e77ce10950f7268a44d2d2091a6f2 --- M src/vty/command.c 1 file changed, 38 insertions(+), 38 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/30/14430/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibc1494014b1e77ce10950f7268a44d2d2091a6f2 Gerrit-Change-Number: 14430 Gerrit-PatchSet: 3 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 14 10:46:27 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 14 Jun 2019 10:46:27 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Fix: multi-choice args are no longer passed incomplet... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/14436 to look at the new patch set (#2). Change subject: vty: command.c: Fix: multi-choice args are no longer passed incomplete to vty func ...................................................................... vty: command.c: Fix: multi-choice args are no longer passed incomplete to vty func For instance, take command "multi0 (one|two|three)": If user executes "multi0 tw", VTY func will receive argv[0]="two" instead of argv[0]="tw". Fixes: OS#4045 Change-Id: I91b6621ac3d87fda5412a9b415e7bfb4736c8a9a --- M src/vty/command.c M tests/tdef/tdef_vty_test_config_root.vty M tests/vty/vty_transcript_test.vty 3 files changed, 79 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/36/14436/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I91b6621ac3d87fda5412a9b415e7bfb4736c8a9a Gerrit-Change-Number: 14436 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 10:46:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 14 Jun 2019 10:46:57 +0000 Subject: Change in ...libosmocore[master]: command.c: Improve return check condition in cmd_execut_command_real() Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14447 Change subject: command.c: Improve return check condition in cmd_execut_command_real() ...................................................................... command.c: Improve return check condition in cmd_execut_command_real() Check against MAX argc is changed to == since it cannot be incremented twice without passing the check. Change-Id: Ia330e475989fda863bedcc3cbf94deaf8dd83037 --- M src/vty/command.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/14447/1 diff --git a/src/vty/command.c b/src/vty/command.c index 4189c7c..b26e991 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2313,7 +2313,7 @@ argv[argc++] = vector_slot(vline, i); } - if (argc >= CMD_ARGC_MAX) + if (argc == CMD_ARGC_MAX) return CMD_ERR_EXEED_ARGC_MAX; } @@ -2458,7 +2458,7 @@ argv[argc++] = vector_slot(vline, i); } - if (argc >= CMD_ARGC_MAX) + if (argc == CMD_ARGC_MAX) return CMD_ERR_EXEED_ARGC_MAX; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia330e475989fda863bedcc3cbf94deaf8dd83037 Gerrit-Change-Number: 14447 Gerrit-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 14 10:52:33 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 10:52:33 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Get rid of big indentation block In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14430 ) Change subject: vty: command.c: Get rid of big indentation block ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibc1494014b1e77ce10950f7268a44d2d2091a6f2 Gerrit-Change-Number: 14430 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 10:52: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 14 10:53:04 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 10:53:04 +0000 Subject: Change in ...libosmocore[master]: command.c: Improve return check condition in cmd_execut_command_real() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14447 ) Change subject: command.c: Improve return check condition in cmd_execut_command_real() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia330e475989fda863bedcc3cbf94deaf8dd83037 Gerrit-Change-Number: 14447 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 14 Jun 2019 10:53:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Jun 14 11:46:33 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 14 Jun 2019 11:46:33 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0389313ac01_3a2e33a5f410074d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 1040s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 1040s] ./src/common/bts.c:423: undefined reference to `lapdm_channel_init2' [ 1040s] collect2: error: ld returned 1 exit status [ 1040s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 1040s] make[4]: *** [osmo-bts-virtual] Error 1 [ 1040s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 1040s] Makefile:385: recipe for target 'all-recursive' failed [ 1040s] make[3]: *** [all-recursive] Error 1 [ 1040s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 1040s] Makefile:434: recipe for target 'all-recursive' failed [ 1040s] make[2]: *** [all-recursive] Error 1 [ 1040s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 1040s] Makefile:366: recipe for target 'all' failed [ 1040s] make[1]: *** [all] Error 2 [ 1040s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 1040s] dh_auto_build: make -j1 returned exit code 2 [ 1040s] debian/rules:12: recipe for target 'build' failed [ 1040s] make: *** [build] Error 2 [ 1040s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 1040s] [ 1040s] obs-arm-5 failed "build osmo-bts_0.8.1.326.5a3e.dsc" at Fri Jun 14 11:46:20 UTC 2019. [ 1040s] [ 1040s] ### VM INTERACTION START ### [ 1043s] [ 998.792606] sysrq: SysRq : Power Off [ 1043s] [ 998.805829] reboot: Power down [ 1044s] ### VM INTERACTION END ### [ 1044s] [ 1045s] obs-arm-5 failed "build osmo-bts_0.8.1.326.5a3e.dsc" at Fri Jun 14 11:46:25 UTC 2019. [ 1045s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Jun 14 13:48:10 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 13:48:10 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Have authentication required on by default In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14445 ) Change subject: sgsn: Have authentication required on by default ...................................................................... Patch Set 2: Code-Review+1 Sorry, I have been reading "default and only possible value for non-remote auth-policy" wrong. Fine with me now. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ic707a95af178b44f08809df3d3bc8354bf34273c Gerrit-Change-Number: 14445 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 13: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 Fri Jun 14 14:11:41 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 14:11:41 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Fix: multi-choice args are no longer passed incomplet... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14436 ) Change subject: vty: command.c: Fix: multi-choice args are no longer passed incomplete to vty func ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/14436/2/tests/tdef/tdef_vty_test_config_root.vty File tests/tdef/tdef_vty_test_config_root.vty: https://gerrit.osmocom.org/#/c/14436/2/tests/tdef/tdef_vty_test_config_root.vty at a255 PS2, Line 255: Looks like a matching pattern: anything excluding 'timer'. If my guess is correct, makes sense to keep it. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I91b6621ac3d87fda5412a9b415e7bfb4736c8a9a Gerrit-Change-Number: 14436 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 14:11: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 Fri Jun 14 14:12:28 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 14 Jun 2019 14:12:28 +0000 Subject: Change in ...osmo-msc[master]: libvlr: fix sgsn tmsi creation Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14448 Change subject: libvlr: fix sgsn tmsi creation ...................................................................... libvlr: fix sgsn tmsi creation reported by _dev_zero in #osmocom Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba --- M src/libvlr/vlr.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/48/14448/1 diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c index 2753096..63f156d 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -336,7 +336,7 @@ /* Section 2.4 of 23.003: MSC has two MSB 00/01/10, SGSN 11 */ if (vlr->cfg.is_ps) { /* SGSN */ - tmsi |= 0xC000000; + tmsi |= 0xC0000000; } else { /* MSC */ if ((tmsi & 0xC0000000) == 0xC0000000) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba Gerrit-Change-Number: 14448 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 14 14:16:51 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 14:16:51 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Fix: single-choice optional args are no longer passed... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14437 ) Change subject: vty: command.c: Fix: single-choice optional args are no longer passed incomplete to vty func ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5f4e2d16c62a2d22717989c6acc77450957168cb Gerrit-Change-Number: 14437 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 14:16:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 15:10:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 14 Jun 2019 15:10:24 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Fix: multi-choice args are no longer passed incomplet... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14436 ) Change subject: vty: command.c: Fix: multi-choice args are no longer passed incomplete to vty func ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14436/2/tests/tdef/tdef_vty_test_config_root.vty File tests/tdef/tdef_vty_test_config_root.vty: https://gerrit.osmocom.org/#/c/14436/2/tests/tdef/tdef_vty_test_config_root.vty at a255 PS2, Line 255: > Looks like a matching pattern: anything excluding 'timer'. [?] TBH no idea how that works, I was expecting somebody to comment on it :) So iiuc I can write this and it should work? """ ... !timer timer tea T3 32 timer software T1 13 timer software T2 0 timer software T3 23 ... !timer """ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I91b6621ac3d87fda5412a9b415e7bfb4736c8a9a Gerrit-Change-Number: 14436 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 14 Jun 2019 15:10:24 +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 14 15:13:39 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 15:13:39 +0000 Subject: Change in ...osmo-msc[master]: libvlr: fix sgsn tmsi creation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14448 ) Change subject: libvlr: fix sgsn tmsi creation ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/14448/1/src/libvlr/vlr.c File src/libvlr/vlr.c: https://gerrit.osmocom.org/#/c/14448/1/src/libvlr/vlr.c at 339 PS1, Line 339: 0xC0000000 Nice catch of course, but where does this magic constant comes from? I also see it's used in OsmoSGSN, so maybe we should introduce some #define in libosmocore? We already have GSM_RESERVED_TMSI there. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba Gerrit-Change-Number: 14448 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 14 Jun 2019 15:13: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 Fri Jun 14 15:39:07 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 15:39:07 +0000 Subject: Change in ...libosmocore[master]: fsm.c: Print error message for FSM with allstate_action but no events In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14361 ) Change subject: fsm.c: Print error message for FSM with allstate_action but no events ...................................................................... Patch Set 2: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/14361/2/src/fsm.c File src/fsm.c: https://gerrit.osmocom.org/#/c/14361/2/src/fsm.c at 260 PS2, Line 260: if (fsm->allstate_action && !fsm->allstate_event_mask) Probably, vice versa too, i.e. allstate_event_mask != 0x00 and allstate_action == NULL. https://gerrit.osmocom.org/#/c/14361/2/src/fsm.c at 261 PS2, Line 261: ,f cosmetic: space is missing -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9e73f7363ab15a00843e3f0d1e5776f4be7ebc46 Gerrit-Change-Number: 14361 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 14 Jun 2019 15:39:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 15:45:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 14 Jun 2019 15:45:16 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Fix: multi-choice args are no longer passed incomplet... In-Reply-To: References: Message-ID: Hello fixeria, Neels Hofmeyr, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/14436 to look at the new patch set (#3). Change subject: vty: command.c: Fix: multi-choice args are no longer passed incomplete to vty func ...................................................................... vty: command.c: Fix: multi-choice args are no longer passed incomplete to vty func For instance, take command "multi0 (one|two|three)": If user executes "multi0 tw", VTY func will receive argv[0]="two" instead of argv[0]="tw". Fixes: OS#4045 Change-Id: I91b6621ac3d87fda5412a9b415e7bfb4736c8a9a --- M src/vty/command.c M tests/tdef/tdef_vty_test_config_root.vty M tests/vty/vty_transcript_test.vty 3 files changed, 56 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/36/14436/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I91b6621ac3d87fda5412a9b415e7bfb4736c8a9a Gerrit-Change-Number: 14436 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr 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 14 15:58:48 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 15:58:48 +0000 Subject: Change in ...osmo-msc[master]: libmsc/mncc_builtin.c: drop dummy switch in int_mncc_recv() Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14449 Change subject: libmsc/mncc_builtin.c: drop dummy switch in int_mncc_recv() ...................................................................... libmsc/mncc_builtin.c: drop dummy switch in int_mncc_recv() Change-Id: I24153919596d58b495f9c9057dfc230e1501b95f --- M src/libmsc/mncc_builtin.c 1 file changed, 0 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/49/14449/1 diff --git a/src/libmsc/mncc_builtin.c b/src/libmsc/mncc_builtin.c index 5754976..da096c6 100644 --- a/src/libmsc/mncc_builtin.c +++ b/src/libmsc/mncc_builtin.c @@ -263,10 +263,6 @@ struct gsm_call *call = NULL, *callt; int rc = 0; - /* Special messages */ - switch(msg_type) { - } - /* find callref */ callref = data->callref; llist_for_each_entry(callt, &call_list, entry) { -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I24153919596d58b495f9c9057dfc230e1501b95f Gerrit-Change-Number: 14449 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 14 16:01:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 14 Jun 2019 16:01:05 +0000 Subject: Change in ...osmo-msc[master]: libmsc/mncc_builtin.c: drop dummy switch in int_mncc_recv() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14449 ) Change subject: libmsc/mncc_builtin.c: drop dummy switch in int_mncc_recv() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I24153919596d58b495f9c9057dfc230e1501b95f Gerrit-Change-Number: 14449 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 14 Jun 2019 16:01:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 16:30:56 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 16:30:56 +0000 Subject: Change in ...libosmocore[master]: command.c: Improve return check condition in cmd_execut_command_real() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14447 ) Change subject: command.c: Improve return check condition in cmd_execut_command_real() ...................................................................... Patch Set 1: ... and how is this an improvement? The question is not rhethorical. I typically vote in favor of "better be safe than sorry" and always check for >= even if I know something can be at max "==". Code might be changed / restructured, and that assumption might not always be true. I'm also not aware that checking for equality vs. greater-or-equal has any performance difference. What's the argument favoring "==" over ">="? And should we spend time on it? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia330e475989fda863bedcc3cbf94deaf8dd83037 Gerrit-Change-Number: 14447 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 16:30: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 Fri Jun 14 16:36:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 16:36:22 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: more lapdm tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14419 ) Change subject: bts: more lapdm tests ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0db71de5f600022935f47573aa919990de4bfec0 Gerrit-Change-Number: 14419 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 16:36:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 16:36:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 16:36:27 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: more lapdm tests In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14419 ) Change subject: bts: more lapdm tests ...................................................................... bts: more lapdm tests Change-Id: I0db71de5f600022935f47573aa919990de4bfec0 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 266 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index edbd37b..ae87e6d 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -548,12 +548,13 @@ } } /* all of the above */ -private altstep as_ignore_background(boolean want_dcch := true) runs on ConnHdlr { +private altstep as_ignore_background(boolean want_dcch := true, boolean ignore_rsl_errors := false) runs on ConnHdlr { [want_dcch] as_lapdm_acch(); [not want_dcch] as_lapdm_dcch(); [] as_lapdm_idle(); [] as_rsl_meas_rep(); - [] as_rsl_fail_err(); + [not ignore_rsl_errors] as_rsl_fail_err(); + [ignore_rsl_errors] RSL.receive(tr_RSL_ERROR_IND(g_chan_nr, ?, ?)) { repeat;} } /* Test the operation of Layer 2 sequence numbering. @@ -720,6 +721,266 @@ f_testmatrix_each_chan(pars, refers(f_TC_iframe_timer_recovery)); } +/* 25.2.6.1 ns sequence error +sends wrong N(S), expects REJ, sends wrong N(S) with P=1, expects REJ with F=1 */ +private function f_TC_ns_seq_error(charstring id) runs on ConnHdlr { + const integer sapi := 0; + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(sapi)); + var default d; + timer T := 3.0; + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background(ignore_rsl_errors := true)); + RSL.clear; + LAPDM.clear; + + var octetstring l3_mo := f_rnd_octstring(12); + var octetstring l3_mt := f_rnd_octstring(12); + + /* 1) The BTS is brought into the multiple frame established state */ + + /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); + /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ + LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); + + /* 2) The MS sends an L3 Request to the BTS */ + l3_mo := f_rnd_octstring(18); + /* SAPI = 0, C = 1, P = 0, M = 0, 0 ? L ? N201, N(S) = 0, N(R) = 0. * */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=false, + nr:=0, ns:=0, l3:=l3_mo))); + RSL.receive(tr_RSL_DATA_IND(g_chan_nr, link_id, l3_mo)); + /* 3) The BTS shall respond with a RR frame though this may be incorporated with + the L3 Response I frame. */ + RSL.send(ts_RSL_DATA_REQ(g_chan_nr, link_id, l3_mt)); + alt { + /* SAPI = 0, R = 1, F = 0, M = 0, L = 0, N(R) = 1. */ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=false, nr:=1))) { + repeat; + } + /* SAPI = 0, C = 0, P = 0, M = 0, 0 ? L ? N201, N(R) = 1, N(S) = 0 */ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_I(sapi, c_r:=cr_MT_CMD, p:=false, + nr:=1, ns:=0, l3:=l3_mt))); + } + + /* 4) The MS shall then send an I frame containing Identity Request with incorrect N(S) + but correctly acknowledging the MS's I frame; P bit set to zero. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=false, + nr:=1, ns:=0, l3:=l3_mo))); + + /* no rsl data ind due to wrong ns */ + + /* The BTS shall send a REJ frame. */ + timer T1 := 2.0; + T1.start; + alt{ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_REJ(sapi, c_r:=cr_MT_RSP, p:=false, nr:=1))); + [] T1.timeout{ setverdict(fail, "Missing first REJ")} + } + + f_sleep(2.0); // T200 + + /* The MS shall, after T200, send another I frame with incorrect N(S), P bit set to 1 this time. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=true, + nr:=1, ns:=0, l3:=l3_mo))); + + /* The BTS shall respond with a REJ, F bit set to 1. */ + T1.start; + alt{ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_REJ(sapi, c_r:=cr_MT_RSP, p:=true, nr:=1))); + [] T1.timeout{ setverdict(fail, "Missing second REJ")} + } + + deactivate(d); + fp_common_fini(); + setverdict(pass); +} + +testcase TC_ns_seq_error() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_ns_seq_error)); +} + +/* 25.2.6.2 nr sequence error */ +private function f_TC_nr_seq_error(charstring id) runs on ConnHdlr { + const integer sapi := 0; + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(sapi)); + var default d; + var integer n201 := 20; + if (link_id.c == SACCH) { + n201 := 18; + } + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background(ignore_rsl_errors := true)); + RSL.clear; + LAPDM.clear; + + var octetstring l3_mo := f_rnd_octstring(12); + var octetstring l3_mt := f_rnd_octstring(12); + + /* 1) The BTS is brought into the multiple frame established state */ + + /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); + /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ + LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); + + /* 2) The MS shall send an I frame containing an information field of length N201 and an + incorrect receive sequence number. */ + l3_mo := f_rnd_octstring(n201); + /* SAPI = 0, C = 1, P = 0, M = 0, L = N201, N(S) = 0, N(R) = 1. * */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=false, + nr:=1, ns:=0, l3:=l3_mo))); + + /* The BTS may: a) send a DISC frame within N200?T200; */ + /* DISC SAPI = 0, C = 0, P = 1, M = 0, L = 0. */ + timer T1 := 2.0; + T1.start; + alt{ + [] LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_DISC(sapi, c_r:=cr_MT_CMD, p:=true))); + [] T1.timeout{ setverdict(fail, "Missing DISC from BTS")} + } + + /* a) the MS shall respond with a UA frame. + SAPI = 0, R = 0, F = 1, M = 0, L = 0. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_UA(sapi, c_r:=cr_MO_CMD, f:=true, l3:=l3_mo))); + + deactivate(d); + fp_common_fini(); + setverdict(pass); +} + +testcase TC_nr_seq_error() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_nr_seq_error)); +} + +private function f_TC_rec_invalid_frame_txrx(integer sapi, LapdmFrame x) runs on ConnHdlr { + LAPDM.send(t_PH_DATA(0, false, x)); + f_sleep(2.0); // T200 + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=true, nr:=0))); + LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_RR(sapi, c_r:=cr_MT_RSP, p:=true , nr := 0))); +} + +/* 25.2.7 Test on receipt of invalid frames +sends a bunch of different invalid frames, expects the BTS to ignore all of them */ +private function f_TC_rec_invalid_frame(charstring id) runs on ConnHdlr { + const integer sapi := 0; + var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(sapi)); + var default d; + timer T := 3.0; + + fp_common_init(); + + /* some common altstep for meas res and other background noise */ + d := activate(as_ignore_background(ignore_rsl_errors := true)); + RSL.clear; + LAPDM.clear; + + var octetstring l3_mo := f_rnd_octstring(12); + var octetstring l3_mt := f_rnd_octstring(12); + + /* 1) The BTS is brought into the multiple frame established state */ + + /* MO Establish Request via LADPm: SAPI = 0, C = 0, P = 1, M = 0, 0 ? L ? N201.. */ + LAPDM.send(t_PH_DATA(0, false, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo))); + RSL.receive(tr_RSL_EST_IND(g_chan_nr, link_id, l3_mo)); + /* UA: SAPI = 0, R = 0, F = 1, M = 0, L = L of SABM. */ + LAPDM.receive(t_PH_DATA(0, false, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=true, l3:=l3_mo))); + + + /* 1: One RR frame: SAPI = 0, R = 0, F = 0, M = 0, L > 0, N(R) = 1. + RR frame with the Length indicator greater than zero and a faulty N(R); */ + var LapdmFrame x:= valueof(ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=false, nr:=1)); + x.ab.payload := f_rnd_octstring(5); + f_TC_rec_invalid_frame_txrx(0, x); + /* 3: One REJ frame: SAPI = 0, R = 0, F = 0, M = 0, L = 0, N(R) = 1, EA = 0. + EJ frame with the EA bit set to zero and a faulty N(R); */ + x:= valueof(ts_LAPDm_REJ(sapi, c_r:=cr_MO_CMD, p:=false, nr:=1)); + x.ab.addr.ea := false; + f_TC_rec_invalid_frame_txrx(0, x); + /* 4: One SABM frame: SAPI = 0, C = 1, P = 1, M = 0, L = 0, EL = 0. + SABM frame with the EL bit set to zero; */ + l3_mo := ''O; + x:= valueof(ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=true, l3:=l3_mo)); + x.ab.el := 0; + f_TC_rec_invalid_frame_txrx(0, x); + /* 5: One DM frame: SAPI = 0, R = 0, F = 1, M = 0, L > 0. + DM frame with the Length indicator greater than zero;*/ + x:= valueof(ts_LAPDm_DM(sapi, c_r:=cr_MO_CMD, f:=true)); + x.ab.payload := f_rnd_octstring(5); + f_TC_rec_invalid_frame_txrx(0, x); + /* 6: One DISC frame: SAPI = 0, C = 1, P = 1, M = 1, L = 0. + DISC frame with the M bit set to 1; */ + x:= valueof(ts_LAPDm_DISC(sapi, c_r:=cr_MO_CMD, p:=true)); + x.ab.m := true; + f_TC_rec_invalid_frame_txrx(0, x); + /* 7: One UA frame: SAPI = 0, R = 0, F = 0, M = 0, L = 0, EA = 0. + UA frame with the EA bit set to zero*/ + x:= valueof(ts_LAPDm_UA(sapi, c_r:=cr_MO_CMD, f:=false, l3:=''O)); + x.ab.addr.ea := false; + f_TC_rec_invalid_frame_txrx(0, x); + /* 8: One I frame: SAPI = 0, C = 1, P = 0, M = 0, L > N201, N(R) = 0, N(S) = 6. + I frame with the Length indicator greater than N201;*/ + x:= valueof(ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=true, nr := 0, ns := 6, l3 := f_rnd_octstring(25))) + f_TC_rec_invalid_frame_txrx(0, x); + /* 9: One I frame: SAPI = 0, C = 1, P = 0, M = 1, L < N201, N(R) = 0, N(S) = 7. + I frame with the M bit set to 1 and the Length indicator less than N201;*/ + x:= valueof(ts_LAPDm_I(sapi, c_r:=cr_MO_CMD, p:=true, nr := 0, ns := 7, l3 := f_rnd_octstring(5))) + x.ab.m := true; + f_TC_rec_invalid_frame_txrx(0, x); + /* 10: One RR frame: SAPI = 0, C = 1, P = 1, M = 0, L = 0, N(R) = 0. */ + x:= valueof(ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=true, nr:=0)); + f_TC_rec_invalid_frame_txrx(0, x); + + /* command frames with correct Address and Length indicator field and a non-implemented control field */ + /* 12: One command frame with Control Field = xxx1 1101. */ + x:= valueof(ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=false, nr:=1)); + x.ab.ctrl.other := bit2int('00011101'B); + f_TC_rec_invalid_frame_txrx(0, x); + /* 13: One command frame with Control field = xxx1 1011. */ + x:= valueof(ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=false, nr:=1)); + x.ab.ctrl.other := bit2int('00011011'B); + f_TC_rec_invalid_frame_txrx(0, x); + /* 14: One command frame with Control field = xxx1 0111. */ + x:= valueof(ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=false, nr:=1)); + x.ab.ctrl.other := bit2int('00010001'B); + f_TC_rec_invalid_frame_txrx(0, x); + /* 15: One command frame with Control field = 01x1 1111. */ + x:= valueof(ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=false, nr:=1)); + x.ab.ctrl.other := bit2int('01011111'B); + f_TC_rec_invalid_frame_txrx(0, x); + /* 16: One command frame with Control field = 1xx1 1111. */ + x:= valueof(ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=false, nr:=1)); + x.ab.ctrl.other := bit2int('10011111'B); + f_TC_rec_invalid_frame_txrx(0, x); + /* 17: One command frame with Control field = 0011 0011. */ + x:= valueof(ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=false, nr:=1)); + x.ab.ctrl.other := bit2int('00110011'B); + f_TC_rec_invalid_frame_txrx(0, x); + /* 18: One command frame with Control field = 1xx1 0011. */ + x:= valueof(ts_LAPDm_RR(sapi, c_r:=cr_MO_CMD, p:=false, nr:=1)); + x.ab.ctrl.other := bit2int('10010011'B); + f_TC_rec_invalid_frame_txrx(0, x); + + deactivate(d); + fp_common_fini(); + setverdict(pass); +} + +testcase TC_rec_invalid_frame() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + pars.t_guard := 60.0; + f_testmatrix_each_chan(pars, refers(f_TC_rec_invalid_frame)); +} + type record LapdmDlConfig { integer n201, integer t200 @@ -1115,6 +1376,9 @@ execute(TC_establish_ign_first_sabm()); execute(TC_iframe_seq_and_ack()); execute(TC_iframe_timer_recovery()); + execute(TC_ns_seq_error()); + execute(TC_nr_seq_error()); + execute(TC_rec_invalid_frame()); execute(TC_segm_concat_dcch()); execute(TC_segm_concat_sacch()); execute(TC_t200_n200()); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0db71de5f600022935f47573aa919990de4bfec0 Gerrit-Change-Number: 14419 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: 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 14 16:37:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 16:37:00 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: clean up old tests and make them work again In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14446 ) Change subject: bts: clean up old tests and make them work again ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie9d73cd9777b6fdda5115ed5dc103979d79c8cd9 Gerrit-Change-Number: 14446 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 16: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 Fri Jun 14 16:37:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 16:37:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bts: clean up old tests and make them work again In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14446 ) Change subject: bts: clean up old tests and make them work again ...................................................................... bts: clean up old tests and make them work again Change-Id: Ie9d73cd9777b6fdda5115ed5dc103979d79c8cd9 --- M bts/BTS_Tests_LAPDm.ttcn 1 file changed, 83 insertions(+), 133 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn index ae87e6d..da78ccb 100644 --- a/bts/BTS_Tests_LAPDm.ttcn +++ b/bts/BTS_Tests_LAPDm.ttcn @@ -71,201 +71,152 @@ sapi := sapi, lapdm := frame } -/* template for a valid SABM frame */ -template LapdmFrame LAPDm_B_SABM(template GsmSapi sapi, octetstring payload) := { - ab := { - addr := tr_LapdmAddr(sapi, false), - ctrl := tr_LapdmCtrlSABM(true), - len := lengthof(payload), - m := false, - el := 1, - payload := payload - } -} -/* template for a valid UA frame */ -template LapdmFrame tr_LAPDm_B_UA(template GsmSapi sapi, template octetstring payload) := { - ab := { - addr := tr_LapdmAddr(sapi, false), - ctrl := tr_LapdmCtrlUA(true), - len := ?, - m := false, - el := 1, - payload := payload - } -} - -/* template for a valid UA frame */ -template LapdmFrame LAPDm_B_UA(template GsmSapi sapi, octetstring payload) := { - ab := { - addr := tr_LapdmAddr(sapi, false), - ctrl := tr_LapdmCtrlUA(true), - len := lengthof(payload), - m := false, - el := 1, - payload := payload - } -} - -/* template for a valid UI frame */ -template LapdmFrame LAPDm_B_UI(template GsmSapi sapi, octetstring payload) := { - ab := { - addr := tr_LapdmAddr(sapi, true), - ctrl := tr_LapdmCtrlUI(false), - len := lengthof(payload), - m := false, - el := 1, - payload := payload - } -} - -template LapdmFrame t_nopayload(template GsmSapi sapi) := { - ab := { - addr := tr_LapdmAddr(sapi, true), - ctrl := ?, - len := 0, - m := false, - el := 1, - payload := ''O - } -} - -template LapdmFrame LAPDm_B_DISC(template GsmSapi sapi) modifies t_nopayload := { - ab := { - ctrl := tr_LapdmCtrlDISC(true) - } -} - -template LapdmFrame LAPDm_B_RR(template GsmSapi sapi, template uint3_t nr) modifies t_nopayload := { - ab := { - ctrl := tr_LapdmCtrlRR(nr, false) - } -} - - -function f_test_sabm_results_in_ua(uint8_t sapi, boolean use_sacch, octetstring payload) runs on lapdm_test_CT return boolean { +function f_test_sabm_results_in_ua(uint8_t sapi, boolean use_sacch, octetstring payload) runs on ConnHdlr return boolean { var LAPDm_ph_data phd; var boolean result := false; timer T := 5.0; - f_establish_dcch(); - LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_SABM(sapi, payload))); - log("====> expecting ", t_PH_DATA(sapi, use_sacch, LAPDm_B_UA(sapi, payload))); + LAPDM.send(t_PH_DATA(sapi, use_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=false, l3:=payload))); T.start alt { - [] LAPDM.receive(t_PH_DATA(?, use_sacch, LAPDm_B_UA(sapi, payload))) { result := true; } - [] LAPDM.receive(t_PH_DATA(?, use_sacch, ?)) -> value phd { log("Other msg on DCH: ", phd); repeat; } - [] LAPDM.receive(t_PH_DATA(?, ?, ?)) -> value phd { log("Other PH-DATA: ", phd); repeat; } + [] LAPDM.receive(t_PH_DATA(?, use_sacch, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=false, l3:=payload))) { result := true; } + [] RSL.receive {repeat;} + [] LAPDM.receive { repeat; } [] T.timeout { } } - LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_RR(sapi, 0))); - f_release_dcch(); + LAPDM.send(t_PH_DATA(sapi, use_sacch, ts_LAPDm_RR(sapi, c_r:=cr_MT_CMD, p:=false, nr:=0))); return result; } -testcase TC_sabm_ua_dcch_sapi0() runs on lapdm_test_CT { - f_lapdm_init(); +function f_TC_sabm_ua_dcch_sapi0(charstring id) runs on ConnHdlr { + fp_common_init(); + RSL.clear; + LAPDM.clear; + var default d := activate(as_ignore_background()); if (not f_test_sabm_results_in_ua(0, false, 'FEFE'O)) { setverdict(fail); } setverdict(pass); + deactivate(d); + fp_common_fini(); } -testcase TC_sabm_ua_dcch_sapi0_nopayload() runs on lapdm_test_CT { - f_lapdm_init(); +function f_TC_sabm_ua_dcch_sapi0_nopayload(charstring id) runs on ConnHdlr { + fp_common_init(); + RSL.clear; + LAPDM.clear; + var default d := activate(as_ignore_background()); if (f_test_sabm_results_in_ua(0, false, ''O)) { setverdict(fail, "Initial SABM/UA must contain L3 payload but BTS accepts without"); } setverdict(pass); + deactivate(d); + fp_common_fini(); } -testcase TC_sabm_ua_dcch_sapi3() runs on lapdm_test_CT { - f_lapdm_init(); +function f_TC_sabm_ua_dcch_sapi3(charstring id) runs on ConnHdlr { + fp_common_init(); + RSL.clear; + LAPDM.clear; + var default d := activate(as_ignore_background()); if (f_test_sabm_results_in_ua(3, false, 'FEFE'O)) { setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=3"); } setverdict(pass); + deactivate(d); + fp_common_fini(); } -testcase TC_sabm_ua_dcch_sapi4() runs on lapdm_test_CT { - f_lapdm_init(); +function f_TC_sabm_ua_dcch_sapi4(charstring id) runs on ConnHdlr { + fp_common_init(); + RSL.clear; + LAPDM.clear; + var default d := activate(as_ignore_background()); if (f_test_sabm_results_in_ua(4, false, 'FEFE'O)) { setverdict(fail, "Initial SABM/UA must be on SAPI0, but BTS accepts SAPI=4"); } setverdict(pass); + deactivate(d); + fp_common_fini(); } -testcase TC_sabm_contention() runs on lapdm_test_CT { +testcase TC_sabm_ua_dcch_sapi0() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_ua_dcch_sapi0)); +} + +testcase TC_sabm_ua_dcch_sapi0_nopayload() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_ua_dcch_sapi0_nopayload)); +} + +testcase TC_sabm_ua_dcch_sapi3() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_ua_dcch_sapi3)); +} + +testcase TC_sabm_ua_dcch_sapi4() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_ua_dcch_sapi4)); +} + +function f_TC_sabm_contention(charstring id) runs on ConnHdlr { var LAPDm_ph_data phd; const octetstring payload := '0102030405'O; const GsmSapi sapi := 0; const boolean use_sacch := false; timer T := 5.0; - f_lapdm_init(); + fp_common_init(); + RSL.clear; + LAPDM.clear; - f_establish_dcch(); /* first frame is our real SABM */ - LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_SABM(sapi, payload))); + LAPDM.send(t_PH_DATA(sapi, use_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=false, l3:=payload))); /* second frame is a SABM with different payload, which BTS has to ignore according to 8.4.1.4 */ - LAPDM.send(t_PH_DATA(sapi, use_sacch, LAPDm_B_SABM(sapi, 'ABCDEF'O))); - log("====> expecting ", t_PH_DATA(sapi, use_sacch, LAPDm_B_UA(sapi, payload))); + LAPDM.send(t_PH_DATA(sapi, use_sacch, ts_LAPDm_SABM(sapi, c_r:=cr_MO_CMD, p:=false, l3:='ABCDEF'O))); T.start alt { - [] LAPDM.receive(t_PH_DATA(?, use_sacch, LAPDm_B_UA(sapi, payload))) { setverdict(pass); repeat; } - [] LAPDM.receive(t_PH_DATA(?, use_sacch, tr_LAPDm_B_UA(sapi, ?))) { + [] LAPDM.receive(t_PH_DATA(?, use_sacch, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=false, l3:=payload))) { setverdict(pass); repeat; } + [] LAPDM.receive(t_PH_DATA(?, use_sacch, tr_LAPDm_UA(sapi, cr_MT_RSP, f:=false, l3:=?))) { setverdict(fail, "Second SABM was responded to during contention resolution"); - } + } + [] RSL.receive {repeat;} [] LAPDM.receive { repeat }; [] T.timeout { } } - f_release_dcch(); + + fp_common_fini(); +} + +testcase TC_sabm_contention() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_contention)); } /* we test that a re-transmitted SABM with identical payload will result in the retransmission of a * UA. This is required during the contention resolution procedure as specified in 8.4.1.4 */ -testcase TC_sabm_retransmit() runs on lapdm_test_CT { +function f_TC_sabm_retransmit(charstring id) runs on ConnHdlr { const octetstring payload := '00FEFEDEADBEEF'O; - f_lapdm_init(); + fp_common_init(); + RSL.clear; + LAPDM.clear; + var default d := activate(as_ignore_background()); if (not f_test_sabm_results_in_ua(0, false, payload)) { - setverdict(fail, "UA not received for first SABM"); + setverdict(fail); } if (not f_test_sabm_results_in_ua(0, false, payload)) { - setverdict(fail, "UA not received for second SABM"); + setverdict(fail); } setverdict(pass); + deactivate(d); + fp_common_fini(); } -testcase TC_foo() runs on lapdm_test_CT { - var LapdmFrame lf; -/* - var LapdmFrame lf := valueof(LAPDm_B_UA(0, ''O)); - log("ENC UA: ", enc_LapdmFrame(lf)); - lf := valueof(LAPDm_B_UI(0, ''O)); - log("ENC UI B: ", enc_LapdmFrame(lf)); - log("ENC UI B: ", enc_LapdmFrameB(lf.b)); - - log("DEC UI AF: ", dec_LapdmAddressField('03'O)); -*/ - - lf := valueof(LAPDm_B_RR(0, 0)); - log("ENC RR: ", enc_LapdmFrame(lf)); - - lf := valueof(LAPDm_B_UA(0, ''O)); - log("ENC UA: ", enc_LapdmFrame(lf)); - - lf := valueof(LAPDm_B_UI(0, ''O)); - log("ENC UI: ", enc_LapdmFrame(lf)); - - log("DEC UI CU: ", dec_LapdmCtrlU('03'O)); - log("DEC UI CT: ", dec_LapdmCtrl('03'O)); - - log("DEC UA: ", dec_LapdmFrameAB('017301'O)); - log("DEC UI: ", dec_LapdmFrameAB('030301'O)); - log("DEC I: ", dec_LapdmFrameAB('030001'O)); - log("DEC S: ", dec_LapdmFrameAB('030101'O)); - log("DEC: ", dec_LapdmFrameAB('030301'O)); - log("DEC: ", dec_LapdmFrameAB('0303012B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B'O)); +testcase TC_sabm_retransmit() runs on test_CT { + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_testmatrix_each_chan(pars, refers(f_TC_sabm_retransmit)); } /********************************************************************************* @@ -1363,7 +1314,6 @@ } control { - execute(TC_foo()); execute(TC_sabm_ua_dcch_sapi0()); execute(TC_sabm_ua_dcch_sapi0_nopayload()); execute(TC_sabm_ua_dcch_sapi3()); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie9d73cd9777b6fdda5115ed5dc103979d79c8cd9 Gerrit-Change-Number: 14446 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: 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 14 16:38:56 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 16:38:56 +0000 Subject: Change in ...osmo-msc[master]: libvlr: fix sgsn tmsi creation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14448 ) Change subject: libvlr: fix sgsn tmsi creation ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14448/1/src/libvlr/vlr.c File src/libvlr/vlr.c: https://gerrit.osmocom.org/#/c/14448/1/src/libvlr/vlr.c at 339 PS1, Line 339: 0xC0000000 > Nice catch of course, but where does this magic constant comes from? I also see it's used in OsmoSG [?] Indeed, we should add this to include/osmocom/gsm/protocol/gms_23003.h and then use it here. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba Gerrit-Change-Number: 14448 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 16:38: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 Fri Jun 14 16:39:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 16:39:17 +0000 Subject: Change in ...osmo-msc[master]: libvlr: fix sgsn tmsi creation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14448 ) Change subject: libvlr: fix sgsn tmsi creation ...................................................................... Patch Set 1: gsm_23_003.h -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba Gerrit-Change-Number: 14448 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 16:39:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 16:44:20 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 14 Jun 2019 16:44:20 +0000 Subject: Change in ...libosmocore[master]: command.c: Improve return check condition in cmd_execut_command_real() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14447 ) Change subject: command.c: Improve return check condition in cmd_execut_command_real() ...................................................................... Patch Set 1: Because it clarifies that counter cannot be incremented more than once per loop iteration. I was not pretending to lose time on this neither... -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia330e475989fda863bedcc3cbf94deaf8dd83037 Gerrit-Change-Number: 14447 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 16: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 14 18:07:02 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 18:07:02 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_mt_ussd_for_unknown_subscr Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14450 Change subject: MSC_Tests.ttcn: introduce TC_mt_ussd_for_unknown_subscr ...................................................................... MSC_Tests.ttcn: introduce TC_mt_ussd_for_unknown_subscr The idea of this test case is to check that OsmoMSC properly rejects SS/USSD requests for unknown subscribers. Running this test case against the current OsmoMSC helped to discover several problems: - OsmoMSC doesn't print anything in such cases; - IMSI in the response error message is empty; - both session state and ID IEs are omited; which are going to be fixed soon. Change-Id: Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Related: OS#2931 --- M msc/MSC_Tests.ttcn 1 file changed, 51 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/50/14450/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 2c898fc..c57328f 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3453,6 +3453,55 @@ f_vty_config(MSCVTY, "msc", "ncss guard-timeout 0"); } +/* MT (network-originated) USSD for unknown subscriber */ +friend function f_tc_mt_ussd_for_unknown_subscr(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + var hexstring imsi := '000000000000000'H; /* Some unknown IMSI */ + var OCT4 sid := '20000222'O; + timer T := 2.0; + + f_init_handler(pars); + f_ran_register_imsi(imsi, 'FFFFFFFF'O); + f_create_gsup_expect(hex2str(imsi)); + + var template (value) GSUP_PDU gsup_req := ts_GSUP_PROC_SS_REQ( + imsi := imsi, + sid := sid, + state := OSMO_GSUP_SESSION_STATE_BEGIN, + ss := f_rnd_octstring(23) + ); + + /* Error with cause GMM_CAUSE_IMSI_UNKNOWN */ + var template GSUP_PDU gsup_rsp := tr_GSUP_PROC_SS_ERR( + imsi := imsi, + sid := sid, + state := OSMO_GSUP_SESSION_STATE_END, + cause := 2 /* FIXME: introduce an enumerated type! */ + ); + + /* Initiate a MT USSD notification */ + GSUP.send(gsup_req); + + /* Expect GSUP PROC_SS_ERROR message */ + T.start; + alt { + [] GSUP.receive(gsup_rsp) { + setverdict(pass); + }; + [] T.timeout { + setverdict(fail, "Timeout waiting for GSUP PROC_SS_ERROR message"); + } + /* We don't expect anything else */ + [] as_unexp_gsup_or_bssap_msg(); + } +} +testcase TC_mt_ussd_for_unknown_subscr() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_mt_ussd_for_unknown_subscr), 0); + vc_conn.done; +} + /* A5/1 only permitted on network side; attempt an invalid CIPHER MODE COMPLETE with A5/3 which MSC should reject. */ private function f_tc_cipher_complete_with_invalid_cipher(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -5301,6 +5350,8 @@ execute( TC_lu_and_mo_ussd_mo_release() ); execute( TC_lu_and_ss_session_timeout() ); + execute( TC_mt_ussd_for_unknown_subscr() ); + execute( TC_cipher_complete_with_invalid_cipher() ); execute( TC_cipher_complete_1_without_cipher() ); execute( TC_cipher_complete_3_without_cipher() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Gerrit-Change-Number: 14450 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 14 18:16:16 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 18:16:16 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_0(4|9)_11_gsup.c: print error message if subscr is not known Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14451 Change subject: libmsc/gsm_0(4|9)_11_gsup.c: print error message if subscr is not known ...................................................................... libmsc/gsm_0(4|9)_11_gsup.c: print error message if subscr is not known Change-Id: I0b9d4128c853866d7d834f381ad520f78f441afe Related: (TTCN-3) Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Related: OS#2931 --- M src/libmsc/gsm_04_11_gsup.c M src/libmsc/gsm_09_11.c 2 files changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/51/14451/1 diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index a1ec634..b4d74c7 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -300,6 +300,8 @@ struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(vlr, gsup_msg->imsi, __func__); if (!vsub) { + LOGP(DLSMS, LOGL_ERROR, "Rx %s for unknown subscriber, rejecting\n", + osmo_gsup_message_type_name(gsup_msg->message_type)); gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_IMSI_UNKNOWN); return -GMM_CAUSE_IMSI_UNKNOWN; } diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 6558272..3de933c 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -443,6 +443,8 @@ struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(vlr, gsup_msg->imsi, __func__); if (!vsub) { + LOGP(DSS, LOGL_ERROR, "Rx %s for unknown subscriber, rejecting\n", + osmo_gsup_message_type_name(gsup_msg->message_type)); gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_IMSI_UNKNOWN); return -GMM_CAUSE_IMSI_UNKNOWN; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0b9d4128c853866d7d834f381ad520f78f441afe Gerrit-Change-Number: 14451 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 14 18:16:18 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 18:16:18 +0000 Subject: Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not override IMSI Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14452 Change subject: gsup_client_mux_tx_error_reply(): fix: do not override IMSI ...................................................................... gsup_client_mux_tx_error_reply(): fix: do not override IMSI I am not a big fun of using such syntax sugar for initializing structures, and this is one of the reasons: it's much easier to shoot yourself in the foot. IMSI was copied to the new GSUP message, but then overridden. Found using the new TC_mt_ussd_for_unknown_subscr test case. Change-Id: If81c3fa56951185339f33a523ab6364594101be1 Related: (TTCN-3) Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Related: OS#2931 --- M src/libmsc/gsup_client_mux.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/52/14452/1 diff --git a/src/libmsc/gsup_client_mux.c b/src/libmsc/gsup_client_mux.c index 7ec1712..292c2a9 100644 --- a/src/libmsc/gsup_client_mux.c +++ b/src/libmsc/gsup_client_mux.c @@ -150,13 +150,13 @@ if (!OSMO_GSUP_IS_MSGT_REQUEST(gsup_orig->message_type)) return; - OSMO_STRLCPY_ARRAY(gsup_reply.imsi, gsup_orig->imsi); - gsup_reply = (struct osmo_gsup_message){ .cause = cause, .message_type = OSMO_GSUP_TO_MSGT_ERROR(gsup_orig->message_type), }; + OSMO_STRLCPY_ARRAY(gsup_reply.imsi, gsup_orig->imsi); + if (osmo_gsup_client_enc_send(gcm->gsup_client, &gsup_reply)) LOGP(DLGSUP, LOGL_ERROR, "Failed to send Error reply (imsi=%s)\n", osmo_quote_str(gsup_orig->imsi, -1)); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If81c3fa56951185339f33a523ab6364594101be1 Gerrit-Change-Number: 14452 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 14 18:34:45 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 18:34:45 +0000 Subject: Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit session IEs Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14453 Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit session IEs ...................................................................... gsup_client_mux_tx_error_reply(): fix: do not omit session IEs For SS/USSD, it's important to have both session state and ID IEs. Found using the new TC_mt_ussd_for_unknown_subscr test case. Change-Id: I57317a7b8036d1ffd36e2021efc146db4633da84 Related: (TTCN-3) Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Related: OS#2931 --- M src/libmsc/gsup_client_mux.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/53/14453/1 diff --git a/src/libmsc/gsup_client_mux.c b/src/libmsc/gsup_client_mux.c index 292c2a9..6bac7b2 100644 --- a/src/libmsc/gsup_client_mux.c +++ b/src/libmsc/gsup_client_mux.c @@ -157,6 +157,12 @@ OSMO_STRLCPY_ARRAY(gsup_reply.imsi, gsup_orig->imsi); + /* For SS/USSD, it's important to keep both session state and ID IEs */ + if (gsup_orig->session_state != OSMO_GSUP_SESSION_STATE_NONE) { + gsup_reply.session_state = gsup_orig->session_state; + gsup_reply.session_id = gsup_orig->session_id; + } + if (osmo_gsup_client_enc_send(gcm->gsup_client, &gsup_reply)) LOGP(DLGSUP, LOGL_ERROR, "Failed to send Error reply (imsi=%s)\n", osmo_quote_str(gsup_orig->imsi, -1)); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I57317a7b8036d1ffd36e2021efc146db4633da84 Gerrit-Change-Number: 14453 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 14 18:34:59 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 18:34:59 +0000 Subject: Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit message class IE Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14454 Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit message class IE ...................................................................... gsup_client_mux_tx_error_reply(): fix: do not omit message class IE Found using the new TC_mt_ussd_for_unknown_subscr test case. Change-Id: Id00a99b713a6b97c455b8e6ae49abea163e8281f Related: (TTCN-3) Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Related: OS#2931 --- M src/libmsc/gsup_client_mux.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/54/14454/1 diff --git a/src/libmsc/gsup_client_mux.c b/src/libmsc/gsup_client_mux.c index 6bac7b2..f5f6927 100644 --- a/src/libmsc/gsup_client_mux.c +++ b/src/libmsc/gsup_client_mux.c @@ -153,6 +153,7 @@ gsup_reply = (struct osmo_gsup_message){ .cause = cause, .message_type = OSMO_GSUP_TO_MSGT_ERROR(gsup_orig->message_type), + .message_class = gsup_orig->message_class, }; OSMO_STRLCPY_ARRAY(gsup_reply.imsi, gsup_orig->imsi); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id00a99b713a6b97c455b8e6ae49abea163e8281f Gerrit-Change-Number: 14454 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 18:37:22 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 18:37:22 +0000 Subject: Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit session IEs In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14453 ) Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit session IEs ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I57317a7b8036d1ffd36e2021efc146db4633da84 Gerrit-Change-Number: 14453 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 14 Jun 2019 18:37:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 20:06:56 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 20:06:56 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSUP_Types.ttcn: refactor PROC_SS IEs generation Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14455 Change subject: library/GSUP_Types.ttcn: refactor PROC_SS IEs generation ...................................................................... library/GSUP_Types.ttcn: refactor PROC_SS IEs generation Both ts_GSUP_PROC_SS_ERR() and tr_GSUP_PROC_SS_ERR() templates used to compose the set of GSUP IEs manually, while similar ones were using both f_gen_ts_ss_ies() and f_gen_tr_ss_ies(). This led to the following problems: - tr_GSUP_PROC_SS_ERR was not tolerant to omitted message class IE, which was recently introduced; - code duplication. Let's modify the both functions in order to accept an optional Cause IE value, which is omitted by default, and use them in the both templates. Change-Id: I5cd6d2bc754bcedd1e721b3bd95ada9cdd44bcf0 --- M library/GSUP_Types.ttcn 1 file changed, 39 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/55/14455/1 diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn index 8081347..e627538 100644 --- a/library/GSUP_Types.ttcn +++ b/library/GSUP_Types.ttcn @@ -1089,18 +1089,26 @@ hexstring imsi, OCT4 sid, GSUP_SessionState state, - template (omit) octetstring ss + template (omit) octetstring ss := omit, + template (omit) integer cause := omit ) return GSUP_IEs { /* Mandatory IEs */ var GSUP_IEs ies := { - valueof(ts_GSUP_IE_IMSI(imsi)), - valueof(ts_GSUP_IE_SessionId(sid)), - valueof(ts_GSUP_IE_SessionState(state)) + valueof(ts_GSUP_IE_IMSI(imsi)) }; + /* Cause IE is needed for PROC_SS_ERR */ + if (isvalue(cause)) { + ies := ies & { valueof(ts_GSUP_IE_Cause(valueof(cause))) }; + } + + /* Mandatory session IEs */ + ies := ies & { valueof(ts_GSUP_IE_SessionId(sid)) }; + ies := ies & { valueof(ts_GSUP_IE_SessionState(state)) }; + /* Optional SS payload */ if (isvalue(ss)) { - ies[3] := valueof(ts_GSUP_IE_SSInfo(valueof(ss))); + ies := ies & { valueof(ts_GSUP_IE_SSInfo(valueof(ss))) }; } return ies; @@ -1109,29 +1117,42 @@ template hexstring imsi, template OCT4 sid := ?, template GSUP_SessionState state := ?, - template octetstring ss := ? + template octetstring ss := omit, + template integer cause := omit ) return template GSUP_IEs { /* Mandatory IEs */ var template GSUP_IEs ies := { - tr_GSUP_IE_IMSI(imsi), - tr_GSUP_IE_SessionId(sid), - tr_GSUP_IE_SessionState(state) + tr_GSUP_IE_IMSI(imsi) }; - var integer last_idx := 3; + var integer idx := 1; + + /* Cause IE is needed for PROC_SS_ERR */ + if (istemplatekind(cause, "*")) { + ies[idx] := *; + idx := idx + 1; + } else if (not istemplatekind(cause, "omit")) { + ies[idx] := tr_GSUP_IE_Cause(cause); + idx := idx + 1; + } + + /* Mandatory session IEs */ + ies[idx] := tr_GSUP_IE_SessionId(sid); + ies[idx + 1] := tr_GSUP_IE_SessionState(state); + idx := idx + 2; /* Optional SS payload */ if (istemplatekind(ss, "*")) { - ies[3] := *; - last_idx := last_idx + 1; + ies[idx] := *; + idx := idx + 1; } else if (not istemplatekind(ss, "omit")) { - ies[3] := tr_GSUP_IE_SSInfo(ss); - last_idx := last_idx + 1; + ies[idx] := tr_GSUP_IE_SSInfo(ss); + idx := idx + 1; } /* the GSUP Message Class IE is optional, as old implementations don't have it yet */ var template GSUP_IEs ies2 := ies; - ies2[last_idx] := tr_GSUP_IE_Message_Class(OSMO_GSUP_MESSAGE_CLASS_USSD); - last_idx := last_idx + 1; + ies2[idx] := tr_GSUP_IE_Message_Class(OSMO_GSUP_MESSAGE_CLASS_USSD); + idx := idx + 1; return (ies, ies2); } @@ -1181,12 +1202,7 @@ integer cause ) := ts_GSUP( OSMO_GSUP_MSGT_PROC_SS_ERROR, - { - valueof(ts_GSUP_IE_IMSI(imsi)), - valueof(ts_GSUP_IE_Cause(cause)), - valueof(ts_GSUP_IE_SessionId(sid)), - valueof(ts_GSUP_IE_SessionState(state)) - } + f_gen_ts_ss_ies(imsi, sid, state, cause := cause) ); template GSUP_PDU tr_GSUP_PROC_SS_ERR( template hexstring imsi, @@ -1195,13 +1211,7 @@ template integer cause := ? ) := tr_GSUP( OSMO_GSUP_MSGT_PROC_SS_ERROR, - { - tr_GSUP_IE_IMSI(imsi), - tr_GSUP_IE_Cause(cause), - tr_GSUP_IE_SessionId(sid), - tr_GSUP_IE_SessionState(state), - tr_GSUP_IE_Message_Class(OSMO_GSUP_MESSAGE_CLASS_USSD) - } + f_gen_tr_ss_ies(imsi, sid, state, cause := cause) ); template (value) GSUP_PDU ts_GSUP_MO_FORWARD_SM_REQ( -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5cd6d2bc754bcedd1e721b3bd95ada9cdd44bcf0 Gerrit-Change-Number: 14455 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 14 20:12:38 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 20:12:38 +0000 Subject: Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14456 Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE ...................................................................... gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE The SM-RP-MR (Message Reference for SM Service) value in the response (no matter result or error) shall match the value from the request. Change-Id: Ifb6e749928548e6febfe7768aefe9a2a3ecf4de0 --- M src/libmsc/gsup_client_mux.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/56/14456/1 diff --git a/src/libmsc/gsup_client_mux.c b/src/libmsc/gsup_client_mux.c index 495318f..e425651 100644 --- a/src/libmsc/gsup_client_mux.c +++ b/src/libmsc/gsup_client_mux.c @@ -154,6 +154,9 @@ .cause = cause, .message_type = OSMO_GSUP_TO_MSGT_ERROR(gsup_orig->message_type), .message_class = gsup_orig->message_class, + + /* RP-Message-Reference is mandatory for SM Service */ + .sm_rp_mr = gsup_orig->sm_rp_mr, }; OSMO_STRLCPY_ARRAY(gsup_reply.imsi, gsup_orig->imsi); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ifb6e749928548e6febfe7768aefe9a2a3ecf4de0 Gerrit-Change-Number: 14456 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 14 20:41:11 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 20:41:11 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: add timeouts to SS/USSD test cases Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14457 Change subject: MSC_Tests.ttcn: add timeouts to SS/USSD test cases ...................................................................... MSC_Tests.ttcn: add timeouts to SS/USSD test cases Change-Id: I1883bae34a9fe0435a6138cb7594461dee3bb232 --- M msc/MSC_Tests.ttcn 1 file changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/57/14457/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index c57328f..7e62c34 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -2820,13 +2820,18 @@ private function f_expect_gsup_msg(template GSUP_PDU msg) runs on BSC_ConnHdlr return GSUP_PDU { var GSUP_PDU gsup_msg_complete; + timer T := 2.0; + T.start; alt { [] GSUP.receive(msg) -> value gsup_msg_complete { setverdict(pass); } /* We don't expect anything else */ [] as_unexp_gsup_or_bssap_msg(); + [] T.timeout { + setverdict(fail, "Timeout waiting for GSUP message: ", msg); + } } return gsup_msg_complete; @@ -2835,13 +2840,18 @@ private function f_expect_mt_dtap_msg(template PDU_ML3_NW_MS msg) runs on BSC_ConnHdlr return PDU_ML3_NW_MS { var PDU_DTAP_MT bssap_msg_complete; + timer T := 2.0; + T.start; alt { [] BSSAP.receive(tr_PDU_DTAP_MT(msg)) -> value bssap_msg_complete { setverdict(pass); } /* We don't expect anything else */ [] as_unexp_gsup_or_bssap_msg(); + [] T.timeout { + setverdict(fail, "Timeout waiting for BSSAP message: ", msg); + } } return bssap_msg_complete.dtap; @@ -2928,6 +2938,8 @@ /* LU followed by MT USSD notification */ friend function f_tc_lu_and_mt_ussd_notification(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + timeout T := 5.0; + f_init_handler(pars); /* Perform location update */ @@ -2967,6 +2979,7 @@ /* Send it to MSC and expect Paging Request */ GSUP.send(gsup_req); + T.start; alt { [pars.ran_is_geran] BSSAP.receive(tr_BSSMAP_Paging(g_pars.imsi)) { setverdict(pass); @@ -2976,6 +2989,9 @@ } /* We don't expect anything else */ [] as_unexp_gsup_or_bssap_msg(); + [] T.timeout { + setverdict(fail, "Timeout waiting for Paging Request"); + } } /* Send Paging Response and expect USSD notification */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1883bae34a9fe0435a6138cb7594461dee3bb232 Gerrit-Change-Number: 14457 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 14 20:43:12 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 14 Jun 2019 20:43:12 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: add timers to SS/USSD 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/+/14457 to look at the new patch set (#2). Change subject: MSC_Tests.ttcn: add timers to SS/USSD test cases ...................................................................... MSC_Tests.ttcn: add timers to SS/USSD test cases Change-Id: I1883bae34a9fe0435a6138cb7594461dee3bb232 --- M msc/MSC_Tests.ttcn 1 file changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/57/14457/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1883bae34a9fe0435a6138cb7594461dee3bb232 Gerrit-Change-Number: 14457 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 21:48:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:48:49 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: add timers to SS/USSD test cases In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14457 ) Change subject: MSC_Tests.ttcn: add timers to SS/USSD test cases ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1883bae34a9fe0435a6138cb7594461dee3bb232 Gerrit-Change-Number: 14457 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 21: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 14 21:49:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:49:32 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSUP_Types.ttcn: refactor PROC_SS IEs generation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14455 ) Change subject: library/GSUP_Types.ttcn: refactor PROC_SS IEs generation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5cd6d2bc754bcedd1e721b3bd95ada9cdd44bcf0 Gerrit-Change-Number: 14455 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 21: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 14 21:49:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:49:54 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_mt_ussd_for_unknown_subscr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14450 ) Change subject: MSC_Tests.ttcn: introduce TC_mt_ussd_for_unknown_subscr ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Gerrit-Change-Number: 14450 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 21:49: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 14 21:49:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:49:57 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/GSUP_Types.ttcn: refactor PROC_SS IEs generation In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14455 ) Change subject: library/GSUP_Types.ttcn: refactor PROC_SS IEs generation ...................................................................... library/GSUP_Types.ttcn: refactor PROC_SS IEs generation Both ts_GSUP_PROC_SS_ERR() and tr_GSUP_PROC_SS_ERR() templates used to compose the set of GSUP IEs manually, while similar ones were using both f_gen_ts_ss_ies() and f_gen_tr_ss_ies(). This led to the following problems: - tr_GSUP_PROC_SS_ERR was not tolerant to omitted message class IE, which was recently introduced; - code duplication. Let's modify the both functions in order to accept an optional Cause IE value, which is omitted by default, and use them in the both templates. Change-Id: I5cd6d2bc754bcedd1e721b3bd95ada9cdd44bcf0 --- M library/GSUP_Types.ttcn 1 file changed, 39 insertions(+), 29 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn index 8081347..e627538 100644 --- a/library/GSUP_Types.ttcn +++ b/library/GSUP_Types.ttcn @@ -1089,18 +1089,26 @@ hexstring imsi, OCT4 sid, GSUP_SessionState state, - template (omit) octetstring ss + template (omit) octetstring ss := omit, + template (omit) integer cause := omit ) return GSUP_IEs { /* Mandatory IEs */ var GSUP_IEs ies := { - valueof(ts_GSUP_IE_IMSI(imsi)), - valueof(ts_GSUP_IE_SessionId(sid)), - valueof(ts_GSUP_IE_SessionState(state)) + valueof(ts_GSUP_IE_IMSI(imsi)) }; + /* Cause IE is needed for PROC_SS_ERR */ + if (isvalue(cause)) { + ies := ies & { valueof(ts_GSUP_IE_Cause(valueof(cause))) }; + } + + /* Mandatory session IEs */ + ies := ies & { valueof(ts_GSUP_IE_SessionId(sid)) }; + ies := ies & { valueof(ts_GSUP_IE_SessionState(state)) }; + /* Optional SS payload */ if (isvalue(ss)) { - ies[3] := valueof(ts_GSUP_IE_SSInfo(valueof(ss))); + ies := ies & { valueof(ts_GSUP_IE_SSInfo(valueof(ss))) }; } return ies; @@ -1109,29 +1117,42 @@ template hexstring imsi, template OCT4 sid := ?, template GSUP_SessionState state := ?, - template octetstring ss := ? + template octetstring ss := omit, + template integer cause := omit ) return template GSUP_IEs { /* Mandatory IEs */ var template GSUP_IEs ies := { - tr_GSUP_IE_IMSI(imsi), - tr_GSUP_IE_SessionId(sid), - tr_GSUP_IE_SessionState(state) + tr_GSUP_IE_IMSI(imsi) }; - var integer last_idx := 3; + var integer idx := 1; + + /* Cause IE is needed for PROC_SS_ERR */ + if (istemplatekind(cause, "*")) { + ies[idx] := *; + idx := idx + 1; + } else if (not istemplatekind(cause, "omit")) { + ies[idx] := tr_GSUP_IE_Cause(cause); + idx := idx + 1; + } + + /* Mandatory session IEs */ + ies[idx] := tr_GSUP_IE_SessionId(sid); + ies[idx + 1] := tr_GSUP_IE_SessionState(state); + idx := idx + 2; /* Optional SS payload */ if (istemplatekind(ss, "*")) { - ies[3] := *; - last_idx := last_idx + 1; + ies[idx] := *; + idx := idx + 1; } else if (not istemplatekind(ss, "omit")) { - ies[3] := tr_GSUP_IE_SSInfo(ss); - last_idx := last_idx + 1; + ies[idx] := tr_GSUP_IE_SSInfo(ss); + idx := idx + 1; } /* the GSUP Message Class IE is optional, as old implementations don't have it yet */ var template GSUP_IEs ies2 := ies; - ies2[last_idx] := tr_GSUP_IE_Message_Class(OSMO_GSUP_MESSAGE_CLASS_USSD); - last_idx := last_idx + 1; + ies2[idx] := tr_GSUP_IE_Message_Class(OSMO_GSUP_MESSAGE_CLASS_USSD); + idx := idx + 1; return (ies, ies2); } @@ -1181,12 +1202,7 @@ integer cause ) := ts_GSUP( OSMO_GSUP_MSGT_PROC_SS_ERROR, - { - valueof(ts_GSUP_IE_IMSI(imsi)), - valueof(ts_GSUP_IE_Cause(cause)), - valueof(ts_GSUP_IE_SessionId(sid)), - valueof(ts_GSUP_IE_SessionState(state)) - } + f_gen_ts_ss_ies(imsi, sid, state, cause := cause) ); template GSUP_PDU tr_GSUP_PROC_SS_ERR( template hexstring imsi, @@ -1195,13 +1211,7 @@ template integer cause := ? ) := tr_GSUP( OSMO_GSUP_MSGT_PROC_SS_ERROR, - { - tr_GSUP_IE_IMSI(imsi), - tr_GSUP_IE_Cause(cause), - tr_GSUP_IE_SessionId(sid), - tr_GSUP_IE_SessionState(state), - tr_GSUP_IE_Message_Class(OSMO_GSUP_MESSAGE_CLASS_USSD) - } + f_gen_tr_ss_ies(imsi, sid, state, cause := cause) ); template (value) GSUP_PDU ts_GSUP_MO_FORWARD_SM_REQ( -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5cd6d2bc754bcedd1e721b3bd95ada9cdd44bcf0 Gerrit-Change-Number: 14455 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 Fri Jun 14 21:49:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:49:58 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_mt_ussd_for_unknown_subscr In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14450 ) Change subject: MSC_Tests.ttcn: introduce TC_mt_ussd_for_unknown_subscr ...................................................................... MSC_Tests.ttcn: introduce TC_mt_ussd_for_unknown_subscr The idea of this test case is to check that OsmoMSC properly rejects SS/USSD requests for unknown subscribers. Running this test case against the current OsmoMSC helped to discover several problems: - OsmoMSC doesn't print anything in such cases; - IMSI in the response error message is empty; - both session state and ID IEs are omited; which are going to be fixed soon. Change-Id: Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Related: OS#2931 --- M msc/MSC_Tests.ttcn 1 file changed, 51 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 2c898fc..c57328f 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3453,6 +3453,55 @@ f_vty_config(MSCVTY, "msc", "ncss guard-timeout 0"); } +/* MT (network-originated) USSD for unknown subscriber */ +friend function f_tc_mt_ussd_for_unknown_subscr(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + var hexstring imsi := '000000000000000'H; /* Some unknown IMSI */ + var OCT4 sid := '20000222'O; + timer T := 2.0; + + f_init_handler(pars); + f_ran_register_imsi(imsi, 'FFFFFFFF'O); + f_create_gsup_expect(hex2str(imsi)); + + var template (value) GSUP_PDU gsup_req := ts_GSUP_PROC_SS_REQ( + imsi := imsi, + sid := sid, + state := OSMO_GSUP_SESSION_STATE_BEGIN, + ss := f_rnd_octstring(23) + ); + + /* Error with cause GMM_CAUSE_IMSI_UNKNOWN */ + var template GSUP_PDU gsup_rsp := tr_GSUP_PROC_SS_ERR( + imsi := imsi, + sid := sid, + state := OSMO_GSUP_SESSION_STATE_END, + cause := 2 /* FIXME: introduce an enumerated type! */ + ); + + /* Initiate a MT USSD notification */ + GSUP.send(gsup_req); + + /* Expect GSUP PROC_SS_ERROR message */ + T.start; + alt { + [] GSUP.receive(gsup_rsp) { + setverdict(pass); + }; + [] T.timeout { + setverdict(fail, "Timeout waiting for GSUP PROC_SS_ERROR message"); + } + /* We don't expect anything else */ + [] as_unexp_gsup_or_bssap_msg(); + } +} +testcase TC_mt_ussd_for_unknown_subscr() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_mt_ussd_for_unknown_subscr), 0); + vc_conn.done; +} + /* A5/1 only permitted on network side; attempt an invalid CIPHER MODE COMPLETE with A5/3 which MSC should reject. */ private function f_tc_cipher_complete_with_invalid_cipher(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -5301,6 +5350,8 @@ execute( TC_lu_and_mo_ussd_mo_release() ); execute( TC_lu_and_ss_session_timeout() ); + execute( TC_mt_ussd_for_unknown_subscr() ); + execute( TC_cipher_complete_with_invalid_cipher() ); execute( TC_cipher_complete_1_without_cipher() ); execute( TC_cipher_complete_3_without_cipher() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Gerrit-Change-Number: 14450 Gerrit-PatchSet: 3 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 Fri Jun 14 21:50:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:50:02 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: add timers to SS/USSD test cases In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14457 ) Change subject: MSC_Tests.ttcn: add timers to SS/USSD test cases ...................................................................... MSC_Tests.ttcn: add timers to SS/USSD test cases Change-Id: I1883bae34a9fe0435a6138cb7594461dee3bb232 --- M msc/MSC_Tests.ttcn 1 file changed, 16 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index c57328f..b66323b 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -2820,13 +2820,18 @@ private function f_expect_gsup_msg(template GSUP_PDU msg) runs on BSC_ConnHdlr return GSUP_PDU { var GSUP_PDU gsup_msg_complete; + timer T := 2.0; + T.start; alt { [] GSUP.receive(msg) -> value gsup_msg_complete { setverdict(pass); } /* We don't expect anything else */ [] as_unexp_gsup_or_bssap_msg(); + [] T.timeout { + setverdict(fail, "Timeout waiting for GSUP message: ", msg); + } } return gsup_msg_complete; @@ -2835,13 +2840,18 @@ private function f_expect_mt_dtap_msg(template PDU_ML3_NW_MS msg) runs on BSC_ConnHdlr return PDU_ML3_NW_MS { var PDU_DTAP_MT bssap_msg_complete; + timer T := 2.0; + T.start; alt { [] BSSAP.receive(tr_PDU_DTAP_MT(msg)) -> value bssap_msg_complete { setverdict(pass); } /* We don't expect anything else */ [] as_unexp_gsup_or_bssap_msg(); + [] T.timeout { + setverdict(fail, "Timeout waiting for BSSAP message: ", msg); + } } return bssap_msg_complete.dtap; @@ -2928,6 +2938,8 @@ /* LU followed by MT USSD notification */ friend function f_tc_lu_and_mt_ussd_notification(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + timer T := 5.0; + f_init_handler(pars); /* Perform location update */ @@ -2967,6 +2979,7 @@ /* Send it to MSC and expect Paging Request */ GSUP.send(gsup_req); + T.start; alt { [pars.ran_is_geran] BSSAP.receive(tr_BSSMAP_Paging(g_pars.imsi)) { setverdict(pass); @@ -2976,6 +2989,9 @@ } /* We don't expect anything else */ [] as_unexp_gsup_or_bssap_msg(); + [] T.timeout { + setverdict(fail, "Timeout waiting for Paging Request"); + } } /* Send Paging Response and expect USSD notification */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1883bae34a9fe0435a6138cb7594461dee3bb232 Gerrit-Change-Number: 14457 Gerrit-PatchSet: 3 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 Fri Jun 14 21:50:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:50:19 +0000 Subject: Change in ...osmo-msc[master]: libmsc/mncc_builtin.c: drop dummy switch in int_mncc_recv() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14449 ) Change subject: libmsc/mncc_builtin.c: drop dummy switch in int_mncc_recv() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I24153919596d58b495f9c9057dfc230e1501b95f Gerrit-Change-Number: 14449 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 14 Jun 2019 21: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 14 21:50:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:50:21 +0000 Subject: Change in ...osmo-msc[master]: libmsc/mncc_builtin.c: drop dummy switch in int_mncc_recv() In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14449 ) Change subject: libmsc/mncc_builtin.c: drop dummy switch in int_mncc_recv() ...................................................................... libmsc/mncc_builtin.c: drop dummy switch in int_mncc_recv() Change-Id: I24153919596d58b495f9c9057dfc230e1501b95f --- M src/libmsc/mncc_builtin.c 1 file changed, 0 insertions(+), 4 deletions(-) Approvals: pespin: Looks good to me, approved laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/mncc_builtin.c b/src/libmsc/mncc_builtin.c index 5754976..da096c6 100644 --- a/src/libmsc/mncc_builtin.c +++ b/src/libmsc/mncc_builtin.c @@ -263,10 +263,6 @@ struct gsm_call *call = NULL, *callt; int rc = 0; - /* Special messages */ - switch(msg_type) { - } - /* find callref */ callref = data->callref; llist_for_each_entry(callt, &call_list, entry) { -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I24153919596d58b495f9c9057dfc230e1501b95f Gerrit-Change-Number: 14449 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 14 21:50:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:50:48 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_0(4|9)_11_gsup.c: print error message if subscr is not known In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14451 ) Change subject: libmsc/gsm_0(4|9)_11_gsup.c: print error message if subscr is not known ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0b9d4128c853866d7d834f381ad520f78f441afe Gerrit-Change-Number: 14451 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 21:50:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 21:51:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:51:58 +0000 Subject: Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not override IMSI In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2) to the change originally created by fixeria. ( https://gerrit.osmocom.org/c/osmo-msc/+/14452 ) Change subject: gsup_client_mux_tx_error_reply(): fix: do not override IMSI ...................................................................... gsup_client_mux_tx_error_reply(): fix: do not override IMSI I am not a big fan of using such syntax sugar for initializing structures, and this is one of the reasons: it's much easier to shoot yourself in the foot. IMSI was copied to the new GSUP message, but then overridden. Found using the new TC_mt_ussd_for_unknown_subscr test case. Change-Id: If81c3fa56951185339f33a523ab6364594101be1 Related: (TTCN-3) Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Related: OS#2931 --- M src/libmsc/gsup_client_mux.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/52/14452/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If81c3fa56951185339f33a523ab6364594101be1 Gerrit-Change-Number: 14452 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 21:52:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:52:17 +0000 Subject: Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not override IMSI In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14452 ) Change subject: gsup_client_mux_tx_error_reply(): fix: do not override IMSI ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If81c3fa56951185339f33a523ab6364594101be1 Gerrit-Change-Number: 14452 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 21:52: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 14 21:52:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:52:23 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_0(4|9)_11_gsup.c: print error message if subscr is not known In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14451 ) Change subject: libmsc/gsm_0(4|9)_11_gsup.c: print error message if subscr is not known ...................................................................... libmsc/gsm_0(4|9)_11_gsup.c: print error message if subscr is not known Change-Id: I0b9d4128c853866d7d834f381ad520f78f441afe Related: (TTCN-3) Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Related: OS#2931 --- M src/libmsc/gsm_04_11_gsup.c M src/libmsc/gsm_09_11.c 2 files changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index a1ec634..b4d74c7 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -300,6 +300,8 @@ struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(vlr, gsup_msg->imsi, __func__); if (!vsub) { + LOGP(DLSMS, LOGL_ERROR, "Rx %s for unknown subscriber, rejecting\n", + osmo_gsup_message_type_name(gsup_msg->message_type)); gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_IMSI_UNKNOWN); return -GMM_CAUSE_IMSI_UNKNOWN; } diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 6558272..3de933c 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -443,6 +443,8 @@ struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(vlr, gsup_msg->imsi, __func__); if (!vsub) { + LOGP(DSS, LOGL_ERROR, "Rx %s for unknown subscriber, rejecting\n", + osmo_gsup_message_type_name(gsup_msg->message_type)); gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_IMSI_UNKNOWN); return -GMM_CAUSE_IMSI_UNKNOWN; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0b9d4128c853866d7d834f381ad520f78f441afe Gerrit-Change-Number: 14451 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 21:52:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:52:27 +0000 Subject: Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not override IMSI In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14452 ) Change subject: gsup_client_mux_tx_error_reply(): fix: do not override IMSI ...................................................................... gsup_client_mux_tx_error_reply(): fix: do not override IMSI I am not a big fan of using such syntax sugar for initializing structures, and this is one of the reasons: it's much easier to shoot yourself in the foot. IMSI was copied to the new GSUP message, but then overridden. Found using the new TC_mt_ussd_for_unknown_subscr test case. Change-Id: If81c3fa56951185339f33a523ab6364594101be1 Related: (TTCN-3) Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Related: OS#2931 --- M src/libmsc/gsup_client_mux.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/gsup_client_mux.c b/src/libmsc/gsup_client_mux.c index 7ec1712..292c2a9 100644 --- a/src/libmsc/gsup_client_mux.c +++ b/src/libmsc/gsup_client_mux.c @@ -150,13 +150,13 @@ if (!OSMO_GSUP_IS_MSGT_REQUEST(gsup_orig->message_type)) return; - OSMO_STRLCPY_ARRAY(gsup_reply.imsi, gsup_orig->imsi); - gsup_reply = (struct osmo_gsup_message){ .cause = cause, .message_type = OSMO_GSUP_TO_MSGT_ERROR(gsup_orig->message_type), }; + OSMO_STRLCPY_ARRAY(gsup_reply.imsi, gsup_orig->imsi); + if (osmo_gsup_client_enc_send(gcm->gsup_client, &gsup_reply)) LOGP(DLGSUP, LOGL_ERROR, "Failed to send Error reply (imsi=%s)\n", osmo_quote_str(gsup_orig->imsi, -1)); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If81c3fa56951185339f33a523ab6364594101be1 Gerrit-Change-Number: 14452 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 21:52:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:52:52 +0000 Subject: Change in ...libosmocore[master]: command.c: Improve return check condition in cmd_execut_command_real() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14447 ) Change subject: command.c: Improve return check condition in cmd_execut_command_real() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia330e475989fda863bedcc3cbf94deaf8dd83037 Gerrit-Change-Number: 14447 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 14 Jun 2019 21: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 Fri Jun 14 21:53:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:53:53 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Get rid of big indentation block In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14430 ) Change subject: vty: command.c: Get rid of big indentation block ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibc1494014b1e77ce10950f7268a44d2d2091a6f2 Gerrit-Change-Number: 14430 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 21:53:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 21:54:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:54:03 +0000 Subject: Change in ...libosmocore[master]: command.c: Improve return check condition in cmd_execut_command_real() In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14447 ) Change subject: command.c: Improve return check condition in cmd_execut_command_real() ...................................................................... command.c: Improve return check condition in cmd_execut_command_real() Check against MAX argc is changed to == since it cannot be incremented twice without passing the check. Change-Id: Ia330e475989fda863bedcc3cbf94deaf8dd83037 --- M src/vty/command.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/vty/command.c b/src/vty/command.c index 4189c7c..b26e991 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2313,7 +2313,7 @@ argv[argc++] = vector_slot(vline, i); } - if (argc >= CMD_ARGC_MAX) + if (argc == CMD_ARGC_MAX) return CMD_ERR_EXEED_ARGC_MAX; } @@ -2458,7 +2458,7 @@ argv[argc++] = vector_slot(vline, i); } - if (argc >= CMD_ARGC_MAX) + if (argc == CMD_ARGC_MAX) return CMD_ERR_EXEED_ARGC_MAX; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia330e475989fda863bedcc3cbf94deaf8dd83037 Gerrit-Change-Number: 14447 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 21:54:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:54:18 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Get rid of big indentation block In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14430 ) Change subject: vty: command.c: Get rid of big indentation block ...................................................................... vty: command.c: Get rid of big indentation block This block will become bigger in forthcoming commits. Change-Id: Ibc1494014b1e77ce10950f7268a44d2d2091a6f2 --- M src/vty/command.c 1 file changed, 38 insertions(+), 38 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/vty/command.c b/src/vty/command.c index b26e991..17d28fe 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2294,27 +2294,27 @@ argc = 0; for (i = 0; i < vector_active(vline); i++) { - if (varflag) - argv[argc++] = vector_slot(vline, i); - else { - vector descvec = - vector_slot(matched_element->strvec, i); - - if (vector_active(descvec) == 1) { - struct desc *desc = vector_slot(descvec, 0); - - if (CMD_VARARG(desc->cmd)) - varflag = 1; - - if (varflag || CMD_VARIABLE(desc->cmd) - || CMD_OPTION(desc->cmd)) - argv[argc++] = vector_slot(vline, i); - } else - argv[argc++] = vector_slot(vline, i); - } - if (argc == CMD_ARGC_MAX) return CMD_ERR_EXEED_ARGC_MAX; + if (varflag) { + argv[argc++] = vector_slot(vline, i); + continue; + } + + vector descvec = vector_slot(matched_element->strvec, i); + + if (vector_active(descvec) == 1) { + struct desc *desc = vector_slot(descvec, 0); + + if (CMD_VARARG(desc->cmd)) + varflag = 1; + + if (varflag || CMD_VARIABLE(desc->cmd) + || CMD_OPTION(desc->cmd)) + argv[argc++] = vector_slot(vline, i); + } else { + argv[argc++] = vector_slot(vline, i); + } } /* For vtysh execution. */ @@ -2439,27 +2439,27 @@ argc = 0; for (i = 0; i < vector_active(vline); i++) { - if (varflag) - argv[argc++] = vector_slot(vline, i); - else { - vector descvec = - vector_slot(matched_element->strvec, i); - - if (vector_active(descvec) == 1) { - struct desc *desc = vector_slot(descvec, 0); - - if (CMD_VARARG(desc->cmd)) - varflag = 1; - - if (varflag || CMD_VARIABLE(desc->cmd) - || CMD_OPTION(desc->cmd)) - argv[argc++] = vector_slot(vline, i); - } else - argv[argc++] = vector_slot(vline, i); - } - if (argc == CMD_ARGC_MAX) return CMD_ERR_EXEED_ARGC_MAX; + if (varflag) { + argv[argc++] = vector_slot(vline, i); + continue; + } + + vector descvec = vector_slot(matched_element->strvec, i); + + if (vector_active(descvec) == 1) { + struct desc *desc = vector_slot(descvec, 0); + + if (CMD_VARARG(desc->cmd)) + varflag = 1; + + if (varflag || CMD_VARIABLE(desc->cmd) + || CMD_OPTION(desc->cmd)) + argv[argc++] = vector_slot(vline, i); + } else { + argv[argc++] = vector_slot(vline, i); + } } /* For vtysh execution. */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibc1494014b1e77ce10950f7268a44d2d2091a6f2 Gerrit-Change-Number: 14430 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 21:54:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:54:23 +0000 Subject: Change in ...libosmocore[master]: vty: tests: Verify incomplete optional parameters are passed to vty f... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14431 ) Change subject: vty: tests: Verify incomplete optional parameters are passed to vty funcs ...................................................................... vty: tests: Verify incomplete optional parameters are passed to vty funcs The test shows that in the case were "single0 on" is executed, VTY function should return complete "single0 one" but it doesn't. Related: OS#4045 Change-Id: Ib5b9dc07e2b280dc95011b3926afb1d490cadd81 --- M tests/vty/vty_transcript_test.c M tests/vty/vty_transcript_test.vty 2 files changed, 18 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/tests/vty/vty_transcript_test.c b/tests/vty/vty_transcript_test.c index 7ffe713..6651097 100644 --- a/tests/vty/vty_transcript_test.c +++ b/tests/vty/vty_transcript_test.c @@ -154,6 +154,14 @@ .num_cat = ARRAY_SIZE(default_categories), }; +DEFUN(single0, single0_cmd, + "single0 [one]", + "single0 test command\n" "1\n") +{ + vty_out(vty, "ok argc=%d%s%s%s", argc, argc ? " " : "", argc ? argv[0] : "", VTY_NEWLINE); + return CMD_SUCCESS; +} + DEFUN(multi0, multi0_cmd, "multi0 (one|two|three)", "multi0 test command\n" "1\n2\n3\n") @@ -180,6 +188,7 @@ static void init_vty_cmds() { + install_element_ve(&single0_cmd); install_element_ve(&multi0_cmd); install_element_ve(&multi1_cmd); install_element_ve(&multi2_cmd); diff --git a/tests/vty/vty_transcript_test.vty b/tests/vty/vty_transcript_test.vty index 5ed3c1d..1557744 100644 --- a/tests/vty/vty_transcript_test.vty +++ b/tests/vty/vty_transcript_test.vty @@ -75,3 +75,12 @@ vty_transcript_test> multi2 t % Ambiguous command. + +vty_transcript_test> single0 one +ok argc=1 one + +vty_transcript_test> single0 on +ok argc=1 on + +vty_transcript_test> single0 +ok argc=0 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib5b9dc07e2b280dc95011b3926afb1d490cadd81 Gerrit-Change-Number: 14431 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 14 21:54:16 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:54:16 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Fix: single-choice optional args are no longer passed... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14437 ) Change subject: vty: command.c: Fix: single-choice optional args are no longer passed incomplete to vty func ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5f4e2d16c62a2d22717989c6acc77450957168cb Gerrit-Change-Number: 14437 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 21:54: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 14 21:54:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:54:46 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Have authentication required on by default In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14445 ) Change subject: sgsn: Have authentication required on by default ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ic707a95af178b44f08809df3d3bc8354bf34273c Gerrit-Change-Number: 14445 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 14 Jun 2019 21: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 Fri Jun 14 21:54:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 14 Jun 2019 21:54:52 +0000 Subject: Change in ...osmo-sgsn[master]: sgsn: Have authentication required on by default In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14445 ) Change subject: sgsn: Have authentication required on by default ...................................................................... sgsn: Have authentication required on by default Previous commit introduced command "authentication (optional|required)", which is only meaningful if auth-policy is remote. Upon adding the cmd, it changed the default logic for remote policy to not require authentication, which broke TTCN3 tests because sgsn no longer tries to authenticate the users. Since it's actually good to enable authentication by default where possible, let's enable it by default when on auth-policy remote. In order to do so, let's simply not care about the value of variable require_authentication if auth_policy is not REMOTE. As a result, we drop parts of the previous patch and remove unneeded checks (which are only partially useful based on order of commands during VTY read). Fixes: 794f446a284ed1ac6d31eb79a8f4c874d66fc34e Change-Id: Ic707a95af178b44f08809df3d3bc8354bf34273c --- M doc/manuals/vty/sgsn_vty_reference.xml M include/osmocom/sgsn/sgsn.h M src/gprs/gprs_sgsn.c M src/gprs/sgsn_vty.c 4 files changed, 11 insertions(+), 20 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/doc/manuals/vty/sgsn_vty_reference.xml b/doc/manuals/vty/sgsn_vty_reference.xml index ed11777..e9cd322 100644 --- a/doc/manuals/vty/sgsn_vty_reference.xml +++ b/doc/manuals/vty/sgsn_vty_reference.xml @@ -2232,9 +2232,9 @@ - - - + + + diff --git a/include/osmocom/sgsn/sgsn.h b/include/osmocom/sgsn/sgsn.h index c80355d..0a6ea29 100644 --- a/include/osmocom/sgsn/sgsn.h +++ b/include/osmocom/sgsn/sgsn.h @@ -78,7 +78,9 @@ struct sockaddr_in gsup_server_addr; int gsup_server_port; + /* Only meaningful if auth_policy is SGSN_AUTH_POLICY_REMOTE */ int require_authentication; + int require_update_location; /* CDR configuration */ diff --git a/src/gprs/gprs_sgsn.c b/src/gprs/gprs_sgsn.c index f725811..5801107 100644 --- a/src/gprs/gprs_sgsn.c +++ b/src/gprs/gprs_sgsn.c @@ -987,6 +987,7 @@ inst = talloc_zero(talloc_ctx, struct sgsn_instance); inst->cfg.gtp_statedir = talloc_strdup(inst, "./"); inst->cfg.auth_policy = SGSN_AUTH_POLICY_CLOSED; + inst->cfg.require_authentication = true; /* only applies if auth_policy is REMOTE */ inst->cfg.gsup_server_port = OSMO_GSUP_PORT; return inst; } diff --git a/src/gprs/sgsn_vty.c b/src/gprs/sgsn_vty.c index 29c9771..edc5b09 100644 --- a/src/gprs/sgsn_vty.c +++ b/src/gprs/sgsn_vty.c @@ -211,8 +211,8 @@ if (g_cfg->gsup_server_port) vty_out(vty, " gsup remote-port %d%s", g_cfg->gsup_server_port, VTY_NEWLINE); - vty_out(vty, " authentication %s%s", - g_cfg->require_authentication ? "required" : "optional", VTY_NEWLINE); + if (g_cfg->auth_policy == SGSN_AUTH_POLICY_REMOTE && !g_cfg->require_authentication) + vty_out(vty, " authentication optional%s", VTY_NEWLINE); vty_out(vty, " auth-policy %s%s", get_value_string(sgsn_auth_pol_strs, g_cfg->auth_policy), VTY_NEWLINE); @@ -697,9 +697,9 @@ DEFUN(cfg_authentication, cfg_authentication_cmd, "authentication (optional|required)", - "Whether to enforce MS authentication in GERAN\n" - "Allow MS to attach via GERAN without authentication\n" - "Always require authentication\n") + "Whether to enforce MS authentication in GERAN (only with auth-policy remote)\n" + "Allow MS to attach via GERAN without authentication (default and only possible value for non-remote auth-policy)\n" + "Always require authentication (only available for auth-policy remote, default with that auth-policy)\n") { int required = (argv[0][0] == 'r'); @@ -730,10 +730,6 @@ g_cfg->auth_policy = val; g_cfg->require_update_location = (val == SGSN_AUTH_POLICY_REMOTE); - /* Authentication is not possible without HLR */ - if (val != SGSN_AUTH_POLICY_REMOTE) - g_cfg->require_authentication = 0; - return CMD_SUCCESS; } @@ -1489,14 +1485,6 @@ return rc; } - if (g_cfg->auth_policy != SGSN_AUTH_POLICY_REMOTE - && g_cfg->require_authentication) { - fprintf(stderr, "Configuration error:" - " authentication is not possible without HLR." - " Consider setting 'auth-policy' to 'remote'\n"); - return -EINVAL; - } - if (g_cfg->auth_policy == SGSN_AUTH_POLICY_REMOTE && !(g_cfg->gsup_server_addr.sin_addr.s_addr && g_cfg->gsup_server_port)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ic707a95af178b44f08809df3d3bc8354bf34273c Gerrit-Change-Number: 14445 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Jun 15 02:55:42 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Jun 2019 02:55:42 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d045e3831ad_3a2e33a5f427675f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 1416s] -Going to execute 'remote-ip 678.0.0.99' [ 1416s] -Returned: 1, Current node: 8 '%s(config-stats)# ' [ 1416s] -Going to execute 'remote-port 12321' [ 1416s] -Returned: 0, Current node: 8 '%s(config-stats)# ' [ 1416s] -Going to execute 'local-ip 127.0.0.98' [ 1416s] -Returned: 0, Current node: 8 '%s(config-stats)# ' [ 1416s] -Going to execute 'no local-ip' [ 1416s] -Returned: 0, Current node: 8 '%s(config-stats)# ' [ 1416s] -Going to execute 'mtu 987' [ 1416s] -Returned: 0, Current node: 8 '%s(config-stats)# ' [ 1416s] -Going to execute 'no mtu' [ 1416s] -Returned: 0, Current node: 8 '%s(config-stats)# ' [ 1416s] -Going to execute 'enable' [ 1416s] -Returned: 0, Current node: 8 '%s(config-stats)# ' [ 1416s] -Going to execute 'disable' [ 1416s] -Returned: 0, Current node: 8 '%s(config-stats)# ' [ 1416s] -Going to execute 'exit' [ 1416s] -Returned: 0, Current node: 4 '%s(config)# ' [ 1416s] -Going to execute 'no stats reporter log' [ 1416s] -Returned: 0, Current node: 4 '%s(config)# ' [ 1416s] -Going to execute 'no stats reporter statsd' [ 1416s] -Returned: 0, Current node: 4 '%s(config)# ' [ 1416s] -reading file ok.cfg, expecting rc=0 [ 1418s] -called[ 1386.213650] sysrq: SysRq : Power Off [ 1418s] [ 1386.245456] reboot: Power down [ 1418s] ### VM INTERACTION END ### [ 1418s] [ 1418s] obs-arm-5 failed "build libosmocore_1.1.0.64.14aa.dsc" at Sat Jun 15 02:55:32 UTC 2019. [ 1418s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat Jun 15 06:14:56 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 06:14:56 +0000 Subject: Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit session IEs 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/+/14453 to look at the new patch set (#3). Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit session IEs ...................................................................... gsup_client_mux_tx_error_reply(): fix: do not omit session IEs For SS/USSD, it's important to have both session state and ID IEs. Found using the new TC_mt_ussd_for_unknown_subscr test case. Change-Id: I57317a7b8036d1ffd36e2021efc146db4633da84 Related: (TTCN-3) Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Related: OS#2931 --- M src/libmsc/gsup_client_mux.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/53/14453/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I57317a7b8036d1ffd36e2021efc146db4633da84 Gerrit-Change-Number: 14453 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 Sat Jun 15 06:14:56 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 06:14:56 +0000 Subject: Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit message class IE In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/14454 to look at the new patch set (#3). Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit message class IE ...................................................................... gsup_client_mux_tx_error_reply(): fix: do not omit message class IE Found using the new TC_mt_ussd_for_unknown_subscr test case. Change-Id: Id00a99b713a6b97c455b8e6ae49abea163e8281f Related: (TTCN-3) Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Related: OS#2931 --- M src/libmsc/gsup_client_mux.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/54/14454/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id00a99b713a6b97c455b8e6ae49abea163e8281f Gerrit-Change-Number: 14454 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 Sat Jun 15 06:14:56 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 06:14:56 +0000 Subject: Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/14456 to look at the new patch set (#2). Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE ...................................................................... gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE The SM-RP-MR (Message Reference for SM Service) value in the response (no matter result or error) shall match the value from the request. Change-Id: Ifb6e749928548e6febfe7768aefe9a2a3ecf4de0 --- M src/libmsc/gsup_client_mux.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/56/14456/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ifb6e749928548e6febfe7768aefe9a2a3ecf4de0 Gerrit-Change-Number: 14456 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 Sat Jun 15 07:57:21 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 07:57:21 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message where needed Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14458 Change subject: libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message where needed ...................................................................... libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message where needed OsmoMSC should notify the remote SS/USSD entity if: - received GSUP message has unexpected session state; - received GSUP message has unknown session ID; - received GSUP message missing mandatory IE(s); - NCSS transaction establishment failed; - NCSS message delivery failed. Change-Id: Ief9f8a197b0860072b671edfc55180f619860d9d Related: (TTCN-3) Ie267ee174c5061cd3fc102a2824abe03d73f3aac Related: OS#2931 --- M src/libmsc/gsm_09_11.c 1 file changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/58/14458/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 3de933c..82a045d 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -475,7 +475,7 @@ /* Attempt to establish a new transaction */ trans = establish_nc_ss_trans(net, vsub, gsup_msg); if (!trans) { - /* FIXME: send ERROR back to the HLR */ + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_NET_FAIL); return -EINVAL; } @@ -520,7 +520,7 @@ default: LOG_TRANS(trans, LOGL_ERROR, "Unexpected session state %d\n", gsup_msg->session_state); - /* FIXME: send ERROR back to the HLR */ + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_MSGT_INCOMP_P_STATE); msgb_free(ss_msg); return -EINVAL; } @@ -530,7 +530,7 @@ if (!gsup_msg->ss_info || gsup_msg->ss_info_len < 2) { LOG_TRANS(trans, LOGL_ERROR, "Missing mandatory Facility IE " "for mapped 0x%02x message\n", gh->msg_type); - /* FIXME: send ERROR back to the HLR */ + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_INV_MAND_INFO); msgb_free(ss_msg); return -EINVAL; } @@ -553,6 +553,7 @@ msc_a = trans->msc_a; if (!msc_a) { LOG_TRANS(trans, LOGL_ERROR, "Cannot send SS message, no local MSC-A role defined for subscriber\n"); + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_NET_FAIL); msgb_free(ss_msg); return -EINVAL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ief9f8a197b0860072b671edfc55180f619860d9d Gerrit-Change-Number: 14458 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 15 07:58:24 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 07:58:24 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message when needed In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-msc/+/14458 ) Change subject: libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message when needed ...................................................................... libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message when needed OsmoMSC should notify the remote SS/USSD entity if: - received GSUP message has unexpected session state; - received GSUP message has unknown session ID; - received GSUP message missing mandatory IE(s); - NCSS transaction establishment failed; - NCSS message delivery failed. Change-Id: Ief9f8a197b0860072b671edfc55180f619860d9d Related: (TTCN-3) Ie267ee174c5061cd3fc102a2824abe03d73f3aac Related: OS#2931 --- M src/libmsc/gsm_09_11.c 1 file changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/58/14458/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ief9f8a197b0860072b671edfc55180f619860d9d Gerrit-Change-Number: 14458 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 08:01:14 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 08:01:14 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: use f_expect_gsup_msg() in f_tc_mt_ussd_for_unknown_s... Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14459 Change subject: MSC_Tests.ttcn: use f_expect_gsup_msg() in f_tc_mt_ussd_for_unknown_subscr() ...................................................................... MSC_Tests.ttcn: use f_expect_gsup_msg() in f_tc_mt_ussd_for_unknown_subscr() Change-Id: Id067cee3b7d06613d8387e0fa9d8a5c1dbcc49cf --- M msc/MSC_Tests.ttcn 1 file changed, 1 insertion(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/59/14459/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index b66323b..b8f9fd7 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3474,7 +3474,6 @@ runs on BSC_ConnHdlr { var hexstring imsi := '000000000000000'H; /* Some unknown IMSI */ var OCT4 sid := '20000222'O; - timer T := 2.0; f_init_handler(pars); f_ran_register_imsi(imsi, 'FFFFFFFF'O); @@ -3499,17 +3498,7 @@ GSUP.send(gsup_req); /* Expect GSUP PROC_SS_ERROR message */ - T.start; - alt { - [] GSUP.receive(gsup_rsp) { - setverdict(pass); - }; - [] T.timeout { - setverdict(fail, "Timeout waiting for GSUP PROC_SS_ERROR message"); - } - /* We don't expect anything else */ - [] as_unexp_gsup_or_bssap_msg(); - } + f_expect_gsup_msg(gsup_rsp); } testcase TC_mt_ussd_for_unknown_subscr() runs on MTC_CT { var BSC_ConnHdlr vc_conn; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id067cee3b7d06613d8387e0fa9d8a5c1dbcc49cf Gerrit-Change-Number: 14459 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 15 08:01:14 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 08:01:14 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_proc_ss_for_unknown_session Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14460 Change subject: MSC_Tests.ttcn: introduce TC_proc_ss_for_unknown_session ...................................................................... MSC_Tests.ttcn: introduce TC_proc_ss_for_unknown_session The idea of this test case is to check that OsmoMSC properly rejects GSUP PROC_SS messages for unknown sessions. As it turned out, OsmoMSC doesn't send GSUP PROC_SS ERROR as expected. The fix has been submitted. Change-Id: Ie267ee174c5061cd3fc102a2824abe03d73f3aac Related: OS#2931 --- M msc/MSC_Tests.ttcn 1 file changed, 43 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/60/14460/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index b8f9fd7..f9b2d03 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3507,6 +3507,48 @@ vc_conn.done; } +/* MT (network-originated) USSD for unknown session */ +friend function f_tc_proc_ss_for_unknown_session(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + var OCT4 sid := '20000333'O; + + f_init_handler(pars); + + /* Perform location update */ + f_perform_lu(); + + f_ran_register_imsi(g_pars.imsi, 'FFFFFFFF'O); + f_create_gsup_expect(hex2str(g_pars.imsi)); + + /* Request referencing a non-existing SS session */ + var template (value) GSUP_PDU gsup_req := ts_GSUP_PROC_SS_REQ( + imsi := g_pars.imsi, + sid := sid, + state := OSMO_GSUP_SESSION_STATE_CONTINUE, + ss := f_rnd_octstring(23) + ); + + /* Error with some cause value */ + var template GSUP_PDU gsup_rsp := tr_GSUP_PROC_SS_ERR( + imsi := g_pars.imsi, + sid := sid, + state := OSMO_GSUP_SESSION_STATE_END, + cause := ? /* FIXME: introduce an enumerated type! */ + ); + + /* Initiate a MT USSD notification */ + GSUP.send(gsup_req); + + /* Expect GSUP PROC_SS_ERROR message */ + f_expect_gsup_msg(gsup_rsp); +} +testcase TC_proc_ss_for_unknown_session() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_proc_ss_for_unknown_session), 110); + vc_conn.done; +} + /* A5/1 only permitted on network side; attempt an invalid CIPHER MODE COMPLETE with A5/3 which MSC should reject. */ private function f_tc_cipher_complete_with_invalid_cipher(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -5356,6 +5398,7 @@ execute( TC_lu_and_ss_session_timeout() ); execute( TC_mt_ussd_for_unknown_subscr() ); + execute( TC_proc_ss_for_unknown_session() ); execute( TC_cipher_complete_with_invalid_cipher() ); execute( TC_cipher_complete_1_without_cipher() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie267ee174c5061cd3fc102a2824abe03d73f3aac Gerrit-Change-Number: 14460 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 15 08:38:16 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 08:38:16 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans() Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14461 Change subject: libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans() ...................................................................... libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans() It is expected that establish_nc_ss_trans() returns an allocated transaction in successful case, or NULL in case of error. The function assumes two scenarios: - the subscriber already has an active RAN connection, - RAN connection needs to be established (Paging). In the first case, a pointer to the transaction is returned as expected, but in case of Paging, NULL has always been returned, even if there were no errors. Let's fix this. Change-Id: I9dcee64dd0b435ef29630c223132b81724701f93 --- M src/libmsc/gsm_09_11.c M tests/msc_vlr/msc_vlr_test_ss.err 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/61/14461/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 3de933c..39b9711 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -409,7 +409,7 @@ msgb_tlv_put(trans->ss.msg, GSM0480_IE_FACILITY, gsup_msg->ss_info_len, gsup_msg->ss_info); - return NULL; + return trans; } /* NC SS specific transaction release. diff --git a/tests/msc_vlr/msc_vlr_test_ss.err b/tests/msc_vlr/msc_vlr_test_ss.err index 976b263..1199cf1 100644 --- a/tests/msc_vlr/msc_vlr_test_ss.err +++ b/tests/msc_vlr/msc_vlr_test_ss.err @@ -375,7 +375,7 @@ paging request (SIGNALLING_HIGH_PRIO) to IMSI-901700000004620:MSISDN-46071 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + Paging: now used by 5 (attached,_test_ss_ussd_no,gsm0911_gsup_rx,NCSS,Paging) -<-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: vlr_gsupc_read_cb() returns -22 +<-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: vlr_gsupc_read_cb() returns 0 llist_count(&vsub->cs.requests) == 1 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _test_ss_ussd_no: now used by 4 (attached,gsm0911_gsup_rx,NCSS,Paging) paging_sent == 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9dcee64dd0b435ef29630c223132b81724701f93 Gerrit-Change-Number: 14461 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 15 08:48:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:48:22 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: use f_expect_gsup_msg() in f_tc_mt_ussd_for_unknown_s... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14459 ) Change subject: MSC_Tests.ttcn: use f_expect_gsup_msg() in f_tc_mt_ussd_for_unknown_subscr() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id067cee3b7d06613d8387e0fa9d8a5c1dbcc49cf Gerrit-Change-Number: 14459 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 08:48:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 08:48:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:48:37 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_proc_ss_for_unknown_session In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14460 ) Change subject: MSC_Tests.ttcn: introduce TC_proc_ss_for_unknown_session ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie267ee174c5061cd3fc102a2824abe03d73f3aac Gerrit-Change-Number: 14460 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 08:48:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 08:48:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:48:39 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: use f_expect_gsup_msg() in f_tc_mt_ussd_for_unknown_s... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14459 ) Change subject: MSC_Tests.ttcn: use f_expect_gsup_msg() in f_tc_mt_ussd_for_unknown_subscr() ...................................................................... MSC_Tests.ttcn: use f_expect_gsup_msg() in f_tc_mt_ussd_for_unknown_subscr() Change-Id: Id067cee3b7d06613d8387e0fa9d8a5c1dbcc49cf --- M msc/MSC_Tests.ttcn 1 file changed, 1 insertion(+), 12 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index b66323b..b8f9fd7 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3474,7 +3474,6 @@ runs on BSC_ConnHdlr { var hexstring imsi := '000000000000000'H; /* Some unknown IMSI */ var OCT4 sid := '20000222'O; - timer T := 2.0; f_init_handler(pars); f_ran_register_imsi(imsi, 'FFFFFFFF'O); @@ -3499,17 +3498,7 @@ GSUP.send(gsup_req); /* Expect GSUP PROC_SS_ERROR message */ - T.start; - alt { - [] GSUP.receive(gsup_rsp) { - setverdict(pass); - }; - [] T.timeout { - setverdict(fail, "Timeout waiting for GSUP PROC_SS_ERROR message"); - } - /* We don't expect anything else */ - [] as_unexp_gsup_or_bssap_msg(); - } + f_expect_gsup_msg(gsup_rsp); } testcase TC_mt_ussd_for_unknown_subscr() runs on MTC_CT { var BSC_ConnHdlr vc_conn; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id067cee3b7d06613d8387e0fa9d8a5c1dbcc49cf Gerrit-Change-Number: 14459 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 15 08:48:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:48:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_proc_ss_for_unknown_session In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14460 ) Change subject: MSC_Tests.ttcn: introduce TC_proc_ss_for_unknown_session ...................................................................... MSC_Tests.ttcn: introduce TC_proc_ss_for_unknown_session The idea of this test case is to check that OsmoMSC properly rejects GSUP PROC_SS messages for unknown sessions. As it turned out, OsmoMSC doesn't send GSUP PROC_SS ERROR as expected. The fix has been submitted. Change-Id: Ie267ee174c5061cd3fc102a2824abe03d73f3aac Related: OS#2931 --- M msc/MSC_Tests.ttcn 1 file changed, 43 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index b8f9fd7..f9b2d03 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3507,6 +3507,48 @@ vc_conn.done; } +/* MT (network-originated) USSD for unknown session */ +friend function f_tc_proc_ss_for_unknown_session(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + var OCT4 sid := '20000333'O; + + f_init_handler(pars); + + /* Perform location update */ + f_perform_lu(); + + f_ran_register_imsi(g_pars.imsi, 'FFFFFFFF'O); + f_create_gsup_expect(hex2str(g_pars.imsi)); + + /* Request referencing a non-existing SS session */ + var template (value) GSUP_PDU gsup_req := ts_GSUP_PROC_SS_REQ( + imsi := g_pars.imsi, + sid := sid, + state := OSMO_GSUP_SESSION_STATE_CONTINUE, + ss := f_rnd_octstring(23) + ); + + /* Error with some cause value */ + var template GSUP_PDU gsup_rsp := tr_GSUP_PROC_SS_ERR( + imsi := g_pars.imsi, + sid := sid, + state := OSMO_GSUP_SESSION_STATE_END, + cause := ? /* FIXME: introduce an enumerated type! */ + ); + + /* Initiate a MT USSD notification */ + GSUP.send(gsup_req); + + /* Expect GSUP PROC_SS_ERROR message */ + f_expect_gsup_msg(gsup_rsp); +} +testcase TC_proc_ss_for_unknown_session() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_proc_ss_for_unknown_session), 110); + vc_conn.done; +} + /* A5/1 only permitted on network side; attempt an invalid CIPHER MODE COMPLETE with A5/3 which MSC should reject. */ private function f_tc_cipher_complete_with_invalid_cipher(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -5356,6 +5398,7 @@ execute( TC_lu_and_ss_session_timeout() ); execute( TC_mt_ussd_for_unknown_subscr() ); + execute( TC_proc_ss_for_unknown_session() ); execute( TC_cipher_complete_with_invalid_cipher() ); execute( TC_cipher_complete_1_without_cipher() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie267ee174c5061cd3fc102a2824abe03d73f3aac Gerrit-Change-Number: 14460 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 15 08:49:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:49:19 +0000 Subject: Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit session IEs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14453 ) Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit session IEs ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I57317a7b8036d1ffd36e2021efc146db4633da84 Gerrit-Change-Number: 14453 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 08:49:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 08:49:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:49:35 +0000 Subject: Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit message class IE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14454 ) Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit message class IE ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id00a99b713a6b97c455b8e6ae49abea163e8281f Gerrit-Change-Number: 14454 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 08:49:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 08:49:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:49:57 +0000 Subject: Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14456 ) Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ifb6e749928548e6febfe7768aefe9a2a3ecf4de0 Gerrit-Change-Number: 14456 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 08:49:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 08:50:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:50:01 +0000 Subject: Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit session IEs In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14453 ) Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit session IEs ...................................................................... gsup_client_mux_tx_error_reply(): fix: do not omit session IEs For SS/USSD, it's important to have both session state and ID IEs. Found using the new TC_mt_ussd_for_unknown_subscr test case. Change-Id: I57317a7b8036d1ffd36e2021efc146db4633da84 Related: (TTCN-3) Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Related: OS#2931 --- M src/libmsc/gsup_client_mux.c 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/gsup_client_mux.c b/src/libmsc/gsup_client_mux.c index 292c2a9..8c80a6b 100644 --- a/src/libmsc/gsup_client_mux.c +++ b/src/libmsc/gsup_client_mux.c @@ -157,6 +157,12 @@ OSMO_STRLCPY_ARRAY(gsup_reply.imsi, gsup_orig->imsi); + /* For SS/USSD, it's important to keep both session state and ID IEs */ + if (gsup_orig->session_state != OSMO_GSUP_SESSION_STATE_NONE) { + gsup_reply.session_state = OSMO_GSUP_SESSION_STATE_END; + gsup_reply.session_id = gsup_orig->session_id; + } + if (osmo_gsup_client_enc_send(gcm->gsup_client, &gsup_reply)) LOGP(DLGSUP, LOGL_ERROR, "Failed to send Error reply (imsi=%s)\n", osmo_quote_str(gsup_orig->imsi, -1)); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I57317a7b8036d1ffd36e2021efc146db4633da84 Gerrit-Change-Number: 14453 Gerrit-PatchSet: 3 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 15 08:50:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:50:02 +0000 Subject: Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit message class IE In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14454 ) Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit message class IE ...................................................................... gsup_client_mux_tx_error_reply(): fix: do not omit message class IE Found using the new TC_mt_ussd_for_unknown_subscr test case. Change-Id: Id00a99b713a6b97c455b8e6ae49abea163e8281f Related: (TTCN-3) Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Related: OS#2931 --- M src/libmsc/gsup_client_mux.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/gsup_client_mux.c b/src/libmsc/gsup_client_mux.c index 8c80a6b..495318f 100644 --- a/src/libmsc/gsup_client_mux.c +++ b/src/libmsc/gsup_client_mux.c @@ -153,6 +153,7 @@ gsup_reply = (struct osmo_gsup_message){ .cause = cause, .message_type = OSMO_GSUP_TO_MSGT_ERROR(gsup_orig->message_type), + .message_class = gsup_orig->message_class, }; OSMO_STRLCPY_ARRAY(gsup_reply.imsi, gsup_orig->imsi); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id00a99b713a6b97c455b8e6ae49abea163e8281f Gerrit-Change-Number: 14454 Gerrit-PatchSet: 3 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 15 08:50:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:50:02 +0000 Subject: Change in ...osmo-msc[master]: gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14456 ) Change subject: gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE ...................................................................... gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE The SM-RP-MR (Message Reference for SM Service) value in the response (no matter result or error) shall match the value from the request. Change-Id: Ifb6e749928548e6febfe7768aefe9a2a3ecf4de0 --- M src/libmsc/gsup_client_mux.c 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/gsup_client_mux.c b/src/libmsc/gsup_client_mux.c index 495318f..e425651 100644 --- a/src/libmsc/gsup_client_mux.c +++ b/src/libmsc/gsup_client_mux.c @@ -154,6 +154,9 @@ .cause = cause, .message_type = OSMO_GSUP_TO_MSGT_ERROR(gsup_orig->message_type), .message_class = gsup_orig->message_class, + + /* RP-Message-Reference is mandatory for SM Service */ + .sm_rp_mr = gsup_orig->sm_rp_mr, }; OSMO_STRLCPY_ARRAY(gsup_reply.imsi, gsup_orig->imsi); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ifb6e749928548e6febfe7768aefe9a2a3ecf4de0 Gerrit-Change-Number: 14456 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 Sat Jun 15 08:50:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:50:38 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14461 ) Change subject: libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9dcee64dd0b435ef29630c223132b81724701f93 Gerrit-Change-Number: 14461 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 08:50: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 15 08:51:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:51:03 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message when needed In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14458 ) Change subject: libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message when needed ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ief9f8a197b0860072b671edfc55180f619860d9d Gerrit-Change-Number: 14458 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 08:51:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 08:51:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:51:05 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14461 ) Change subject: libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9dcee64dd0b435ef29630c223132b81724701f93 Gerrit-Change-Number: 14461 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 08:51:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 08:51:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:51:08 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans() In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14461 ) Change subject: libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans() ...................................................................... libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans() It is expected that establish_nc_ss_trans() returns an allocated transaction in successful case, or NULL in case of error. The function assumes two scenarios: - the subscriber already has an active RAN connection, - RAN connection needs to be established (Paging). In the first case, a pointer to the transaction is returned as expected, but in case of Paging, NULL has always been returned, even if there were no errors. Let's fix this. Change-Id: I9dcee64dd0b435ef29630c223132b81724701f93 --- M src/libmsc/gsm_09_11.c M tests/msc_vlr/msc_vlr_test_ss.err 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 3de933c..39b9711 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -409,7 +409,7 @@ msgb_tlv_put(trans->ss.msg, GSM0480_IE_FACILITY, gsup_msg->ss_info_len, gsup_msg->ss_info); - return NULL; + return trans; } /* NC SS specific transaction release. diff --git a/tests/msc_vlr/msc_vlr_test_ss.err b/tests/msc_vlr/msc_vlr_test_ss.err index 976b263..1199cf1 100644 --- a/tests/msc_vlr/msc_vlr_test_ss.err +++ b/tests/msc_vlr/msc_vlr_test_ss.err @@ -375,7 +375,7 @@ paging request (SIGNALLING_HIGH_PRIO) to IMSI-901700000004620:MSISDN-46071 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + Paging: now used by 5 (attached,_test_ss_ussd_no,gsm0911_gsup_rx,NCSS,Paging) -<-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: vlr_gsupc_read_cb() returns -22 +<-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: vlr_gsupc_read_cb() returns 0 llist_count(&vsub->cs.requests) == 1 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _test_ss_ussd_no: now used by 4 (attached,gsm0911_gsup_rx,NCSS,Paging) paging_sent == 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9dcee64dd0b435ef29630c223132b81724701f93 Gerrit-Change-Number: 14461 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 15 08:51:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:51:10 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message when needed In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14458 ) Change subject: libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message when needed ...................................................................... libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message when needed OsmoMSC should notify the remote SS/USSD entity if: - received GSUP message has unexpected session state; - received GSUP message has unknown session ID; - received GSUP message missing mandatory IE(s); - NCSS transaction establishment failed; - NCSS message delivery failed. Change-Id: Ief9f8a197b0860072b671edfc55180f619860d9d Related: (TTCN-3) Ie267ee174c5061cd3fc102a2824abe03d73f3aac Related: OS#2931 --- M src/libmsc/gsm_09_11.c 1 file changed, 4 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 39b9711..4a7c348 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -475,7 +475,7 @@ /* Attempt to establish a new transaction */ trans = establish_nc_ss_trans(net, vsub, gsup_msg); if (!trans) { - /* FIXME: send ERROR back to the HLR */ + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_NET_FAIL); return -EINVAL; } @@ -520,7 +520,7 @@ default: LOG_TRANS(trans, LOGL_ERROR, "Unexpected session state %d\n", gsup_msg->session_state); - /* FIXME: send ERROR back to the HLR */ + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_MSGT_INCOMP_P_STATE); msgb_free(ss_msg); return -EINVAL; } @@ -530,7 +530,7 @@ if (!gsup_msg->ss_info || gsup_msg->ss_info_len < 2) { LOG_TRANS(trans, LOGL_ERROR, "Missing mandatory Facility IE " "for mapped 0x%02x message\n", gh->msg_type); - /* FIXME: send ERROR back to the HLR */ + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_INV_MAND_INFO); msgb_free(ss_msg); return -EINVAL; } @@ -553,6 +553,7 @@ msc_a = trans->msc_a; if (!msc_a) { LOG_TRANS(trans, LOGL_ERROR, "Cannot send SS message, no local MSC-A role defined for subscriber\n"); + gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_NET_FAIL); msgb_free(ss_msg); return -EINVAL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ief9f8a197b0860072b671edfc55180f619860d9d Gerrit-Change-Number: 14458 Gerrit-PatchSet: 3 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 15 08:51:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:51:28 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Fix: multi-choice args are no longer passed incomplet... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14436 ) Change subject: vty: command.c: Fix: multi-choice args are no longer passed incomplete to vty func ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I91b6621ac3d87fda5412a9b415e7bfb4736c8a9a Gerrit-Change-Number: 14436 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 15 Jun 2019 08:51:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 08:51:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:51:48 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Fix: multi-choice args are no longer passed incomplet... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14436 ) Change subject: vty: command.c: Fix: multi-choice args are no longer passed incomplete to vty func ...................................................................... vty: command.c: Fix: multi-choice args are no longer passed incomplete to vty func For instance, take command "multi0 (one|two|three)": If user executes "multi0 tw", VTY func will receive argv[0]="two" instead of argv[0]="tw". Fixes: OS#4045 Change-Id: I91b6621ac3d87fda5412a9b415e7bfb4736c8a9a --- M src/vty/command.c M tests/tdef/tdef_vty_test_config_root.vty M tests/vty/vty_transcript_test.vty 3 files changed, 56 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/vty/command.c b/src/vty/command.c index 17d28fe..3c91bfd 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2217,7 +2217,7 @@ cmd_execute_command_real(vector vline, struct vty *vty, struct cmd_element **cmd) { - unsigned int i; + unsigned int i, j; unsigned int index; vector cmd_vector; struct cmd_element *cmd_element; @@ -2228,6 +2228,10 @@ enum match_type match = 0; int varflag; char *command; + int rc; + /* Used for temporary storage of cmd_deopt() allocated arguments during + argv[] generation */ + void *cmd_deopt_ctx = NULL; /* Make copy of command elements. */ cmd_vector = vector_copy(cmd_node_vector(cmdvec, vty->node)); @@ -2293,9 +2297,13 @@ varflag = 0; argc = 0; + cmd_deopt_ctx = talloc_named_const(tall_vty_cmd_ctx, 0, __func__); + for (i = 0; i < vector_active(vline); i++) { - if (argc == CMD_ARGC_MAX) - return CMD_ERR_EXEED_ARGC_MAX; + if (argc == CMD_ARGC_MAX) { + rc = CMD_ERR_EXEED_ARGC_MAX; + goto rc_free_deopt_ctx; + } if (varflag) { argv[argc++] = vector_slot(vline, i); continue; @@ -2313,7 +2321,32 @@ || CMD_OPTION(desc->cmd)) argv[argc++] = vector_slot(vline, i); } else { - argv[argc++] = vector_slot(vline, i); + /* multi choice argument. look up which choice + the user meant (can only be one after + filtering and checking for ambigous). For instance, + if user typed "th" for "(two|three)" arg, we + want to pass "three" in argv[]. */ + for (j = 0; j < vector_active(descvec); j++) { + struct desc *desc = vector_slot(descvec, j); + const char *tmp_cmd; + if (!desc) + continue; + if (cmd_match(desc->cmd, vector_slot(vline, i), ANY_MATCH, true) == NO_MATCH) + continue; + if (CMD_OPTION(desc->cmd)) { + /* we need to first remove the [] chars, then check to see what's inside (var or token) */ + tmp_cmd = cmd_deopt(cmd_deopt_ctx, desc->cmd); + } else { + tmp_cmd = desc->cmd; + } + + if(CMD_VARIABLE(tmp_cmd)) { + argv[argc++] = vector_slot(vline, i); + } else { + argv[argc++] = tmp_cmd; + } + break; + } } } @@ -2322,10 +2355,14 @@ *cmd = matched_element; if (matched_element->daemon) - return CMD_SUCCESS_DAEMON; + rc = CMD_SUCCESS_DAEMON; + else /* Execute matched command. */ + rc = (*matched_element->func) (matched_element, vty, argc, argv); - /* Execute matched command. */ - return (*matched_element->func) (matched_element, vty, argc, argv); +rc_free_deopt_ctx: + /* Now after we called the command func, we can free temporary strings */ + talloc_free(cmd_deopt_ctx); + return rc; } int diff --git a/tests/tdef/tdef_vty_test_config_root.vty b/tests/tdef/tdef_vty_test_config_root.vty index 8613ff3..f3aba0f 100644 --- a/tests/tdef/tdef_vty_test_config_root.vty +++ b/tests/tdef/tdef_vty_test_config_root.vty @@ -163,7 +163,6 @@ tdef_vty_test(config)# timer test T2 100 tdef_vty_test(config)# timer tes T2 100 -% Error: no timers found tdef_vty_test(config)# timer te T2 100 % Ambiguous command. @@ -219,7 +218,6 @@ software: T3 = 480 m Fix bugs (default: 480 m) tdef_vty_test(config)# timer softw T3 23 -% Error: no timers found tdef_vty_test(config)# timer tea: T1 = 50 s Water Boiling Timeout (default: 50 s) @@ -234,7 +232,7 @@ test: X23 = 239471 s Negative T number (default: 239471 s) software: T1 = 13 m Write code (default: 30 m) software: T2 = 0 ms Hit segfault (default: 20 ms) -software: T3 = 480 m Fix bugs (default: 480 m) +software: T3 = 23 m Fix bugs (default: 480 m) tdef_vty_test(config)# do show timer tea: T1 = 50 s Water Boiling Timeout (default: 50 s) @@ -249,13 +247,14 @@ test: X23 = 239471 s Negative T number (default: 239471 s) software: T1 = 13 m Write code (default: 30 m) software: T2 = 0 ms Hit segfault (default: 20 ms) -software: T3 = 480 m Fix bugs (default: 480 m) +software: T3 = 23 m Fix bugs (default: 480 m) tdef_vty_test(config)# show running-config ... !timer timer tea T3 32 timer software T1 13 timer software T2 0 +timer software T3 23 ... !timer tdef_vty_test(config)# timer tea T3 default @@ -263,10 +262,12 @@ tdef_vty_test(config)# show running-config ... !timer timer software T2 0 +timer software T3 23 ... !timer tdef_vty_test(config)# timer softw 2 default -% Error: no timers found tdef_vty_test(config)# timer software 2 default tdef_vty_test(config)# show running-config ... !timer +timer software T3 23 +... !timer diff --git a/tests/vty/vty_transcript_test.vty b/tests/vty/vty_transcript_test.vty index 1557744..f2dbacb 100644 --- a/tests/vty/vty_transcript_test.vty +++ b/tests/vty/vty_transcript_test.vty @@ -16,13 +16,13 @@ ok argc=1 two vty_transcript_test> multi0 o -ok argc=1 o +ok argc=1 one vty_transcript_test> multi0 t % Ambiguous command. vty_transcript_test> multi0 th -ok argc=1 th +ok argc=1 three vty_transcript_test> multi0 % Command incomplete. @@ -39,13 +39,13 @@ ok argc=1 two vty_transcript_test> multi1 o -ok argc=1 o +ok argc=1 one vty_transcript_test> multi1 t % Ambiguous command. vty_transcript_test> multi1 th -ok argc=1 th +ok argc=1 three vty_transcript_test> multi1 ok argc=0 @@ -68,10 +68,10 @@ ok argc=0 vty_transcript_test> multi0 thr -ok argc=1 thr +ok argc=1 three vty_transcript_test> multi1 on -ok argc=1 on +ok argc=1 one vty_transcript_test> multi2 t % Ambiguous command. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I91b6621ac3d87fda5412a9b415e7bfb4736c8a9a Gerrit-Change-Number: 14436 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr 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 15 08:52:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:52:11 +0000 Subject: Change in ...libosmocore[master]: vty: command.c: Fix: single-choice optional args are no longer passed... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14437 ) Change subject: vty: command.c: Fix: single-choice optional args are no longer passed incomplete to vty func ...................................................................... vty: command.c: Fix: single-choice optional args are no longer passed incomplete to vty func For instance, take command "single0 [one]": If user executes "single0 on", VTY func will receive argv[0]="one" instead of argv[0]="on". Related: OS#4045 Change-Id: I5f4e2d16c62a2d22717989c6acc77450957168cb --- M src/vty/command.c M tests/vty/vty_transcript_test.vty 2 files changed, 15 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/src/vty/command.c b/src/vty/command.c index 3c91bfd..89a2bc1 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2310,16 +2310,26 @@ } vector descvec = vector_slot(matched_element->strvec, i); + const char *tmp_cmd; if (vector_active(descvec) == 1) { + /* Single coice argument, no "(...|...)". */ struct desc *desc = vector_slot(descvec, 0); - if (CMD_VARARG(desc->cmd)) - varflag = 1; + if (CMD_OPTION(desc->cmd)) { + /* we need to first remove the [] chars, then check to see what's inside (var or token) */ + tmp_cmd = cmd_deopt(cmd_deopt_ctx, desc->cmd); + } else { + tmp_cmd = desc->cmd; + } - if (varflag || CMD_VARIABLE(desc->cmd) - || CMD_OPTION(desc->cmd)) + if (CMD_VARARG(tmp_cmd)) + varflag = 1; + if (varflag || CMD_VARIABLE(tmp_cmd)) argv[argc++] = vector_slot(vline, i); + else if (CMD_OPTION(desc->cmd)) + argv[argc++] = tmp_cmd; + /* else : we don't want to add non-opt single-choice static args in argv[] */ } else { /* multi choice argument. look up which choice the user meant (can only be one after @@ -2328,7 +2338,6 @@ want to pass "three" in argv[]. */ for (j = 0; j < vector_active(descvec); j++) { struct desc *desc = vector_slot(descvec, j); - const char *tmp_cmd; if (!desc) continue; if (cmd_match(desc->cmd, vector_slot(vline, i), ANY_MATCH, true) == NO_MATCH) diff --git a/tests/vty/vty_transcript_test.vty b/tests/vty/vty_transcript_test.vty index f2dbacb..db58830 100644 --- a/tests/vty/vty_transcript_test.vty +++ b/tests/vty/vty_transcript_test.vty @@ -80,7 +80,7 @@ ok argc=1 one vty_transcript_test> single0 on -ok argc=1 on +ok argc=1 one vty_transcript_test> single0 ok argc=0 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5f4e2d16c62a2d22717989c6acc77450957168cb Gerrit-Change-Number: 14437 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr 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 15 08:57:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:57:58 +0000 Subject: Change in ...libosmocore[master]: fsm.c: Print error message for FSM with allstate_action but no events In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/14361 to look at the new patch set (#3). Change subject: fsm.c: Print error message for FSM with allstate_action but no events ...................................................................... fsm.c: Print error message for FSM with allstate_action but no events As suggested by Vadim while reviewing a related fix for ipa_keepalive.c in libosmo-abis (see https://gerrit.osmocom.org/#/c/libosmo-abis/+/13540/), it makes sense to print an error message if anyone registers a FSM that specifies an allstate_action callback but at the same time no events that would ever end up in that callback. Change-Id: I9e73f7363ab15a00843e3f0d1e5776f4be7ebc46 --- M src/fsm.c 1 file changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/61/14361/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9e73f7363ab15a00843e3f0d1e5776f4be7ebc46 Gerrit-Change-Number: 14361 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 08:58:17 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 08:58:17 +0000 Subject: Change in ...libosmocore[master]: fsm.c: Print error message for FSM with allstate_action but no events In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14361 ) Change subject: fsm.c: Print error message for FSM with allstate_action but no events ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9e73f7363ab15a00843e3f0d1e5776f4be7ebc46 Gerrit-Change-Number: 14361 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 08:58:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Jun 15 09:28:52 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 15 Jun 2019 09:28:52 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d04ba7355466_3a2e33a5f4329040@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 411s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 411s] ./src/common/bts.c:423: undefined reference to `lapdm_channel_init2' [ 411s] collect2: error: ld returned 1 exit status [ 411s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 411s] make[4]: *** [osmo-bts-virtual] Error 1 [ 411s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 411s] Makefile:385: recipe for target 'all-recursive' failed [ 411s] make[3]: *** [all-recursive] Error 1 [ 411s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 411s] Makefile:434: recipe for target 'all-recursive' failed [ 411s] make[2]: *** [all-recursive] Error 1 [ 411s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 411s] Makefile:366: recipe for target 'all' failed [ 411s] make[1]: *** [all] Error 2 [ 411s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 411s] dh_auto_build: make -j1 returned exit code 2 [ 411s] debian/rules:12: recipe for target 'build' failed [ 411s] make: *** [build] Error 2 [ 411s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 411s] [ 411s] armbuild02 failed "build osmo-bts_0.8.1.326.5a3e.dsc" at Sat Jun 15 09:28:48 UTC 2019. [ 411s] [ 411s] ### VM INTERACTION START ### [ 414s] [ 382.301871] sysrq: SysRq : Power Off [ 414s] [ 382.324011] reboot: Power down [ 414s] ### VM INTERACTION END ### [ 414s] [ 414s] armbuild02 failed "build osmo-bts_0.8.1.326.5a3e.dsc" at Sat Jun 15 09:28:51 UTC 2019. [ 414s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat Jun 15 09:31:43 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 09:31:43 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_04_08.c: clean up unused leftover includes Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14462 Change subject: libmsc/gsm_04_08.c: clean up unused leftover includes ...................................................................... libmsc/gsm_04_08.c: clean up unused leftover includes During the recent refactoring, some code parts has been moved out of 'gsm_04_08.c', but the related header files were forgotten. Change-Id: I61e728069a1e79bf72c01ef9d9fc5fb171d3892e --- M src/libmsc/gsm_04_08.c 1 file changed, 0 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/62/14462/1 diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c index 68b12c0..57dff41 100644 --- a/src/libmsc/gsm_04_08.c +++ b/src/libmsc/gsm_04_08.c @@ -29,32 +29,19 @@ #include #include #include -#include #include #include "config.h" -#include #include #include -#include -#include #include -#include -#include -#include #include #include -#include -#include -#include -#include #include #include -#include #include -#include #include #include #include -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I61e728069a1e79bf72c01ef9d9fc5fb171d3892e Gerrit-Change-Number: 14462 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 15 09:48:18 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 09:48:18 +0000 Subject: Change in ...libosmocore[master]: fsm.c: Print error message for FSM with allstate_action but no events In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14361 ) Change subject: fsm.c: Print error message for FSM with allstate_action but no events ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9e73f7363ab15a00843e3f0d1e5776f4be7ebc46 Gerrit-Change-Number: 14361 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 09:48:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 09:58:28 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 09:58:28 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14463 Change subject: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation ...................................................................... libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation In case of network-originated SS/USSD session establishment, we need to verify the received GSUP PROC_SS_REQ message and make sure that all mandatory IEs are present. There is no sensible need to allocate a new transaction before doing all the checks. This complicates the code. Change-Id: I4e027b19e8065a39324a1647957cef4066b82ce7 --- M src/libmsc/gsm_09_11.c M tests/msc_vlr/msc_vlr_test_ss.err 2 files changed, 22 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/63/14463/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 4a7c348..9acff0c 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -317,53 +317,44 @@ struct gsm_trans *trans, *transt; int tid; - /* Allocate transaction first, for log context */ - trans = trans_alloc(net, vsub, TRANS_USSD, - TRANS_ID_UNASSIGNED, gsup_msg->session_id); - - if (!trans) { - LOG_TRANS(trans, LOGL_ERROR, " -> No memory for trans\n"); - return NULL; - } - if (gsup_msg->session_state != OSMO_GSUP_SESSION_STATE_BEGIN) { - LOG_TRANS(trans, LOGL_ERROR, "Received non-BEGIN message " - "for non-existing transaction\n"); - trans_free(trans); + LOGP(DSS, LOGL_ERROR, "Received non-BEGIN message for non-existing transaction\n"); return NULL; } + LOGP(DSS, LOGL_DEBUG, "Establishing a network-originated session (id=0x%x) " + "with subscriber %s\n", gsup_msg->session_id, + vlr_subscr_name(vsub)); + if (!gsup_msg->ss_info || gsup_msg->ss_info_len < 2) { - LOG_TRANS(trans, LOGL_ERROR, "Missing mandatory Facility IE\n"); - trans_free(trans); + LOGP(DSS, LOGL_ERROR, "Missing mandatory Facility IE\n"); return NULL; } /* If subscriber is not "attached" */ if (!vsub->cgi.lai.lac) { - LOG_TRANS(trans, LOGL_ERROR, "Network-originated session " + LOGP(DSS, LOGL_ERROR, "Network-originated session " "rejected - subscriber is not attached\n"); - trans_free(trans); return NULL; } - LOG_TRANS(trans, LOGL_DEBUG, "Establishing network-originated session\n"); + /* Obtain an unused transaction ID */ + tid = trans_assign_trans_id(net, vsub, TRANS_USSD); + if (tid < 0) { + LOGP(DSS, LOGL_ERROR, "No free transaction ID\n"); + return NULL; + } + + /* Allocate a new NCSS transaction */ + trans = trans_alloc(net, vsub, TRANS_USSD, tid, gsup_msg->session_id); + if (!trans) { + LOGP(DSS, LOGL_ERROR, " -> No memory for trans\n"); + return NULL; + } /* Count active NC SS/USSD sessions */ osmo_counter_inc(net->active_nc_ss); - /* Assign transaction ID */ - tid = trans_assign_trans_id(trans->net, trans->vsub, TRANS_USSD); - if (tid < 0) { - LOG_TRANS(trans, LOGL_ERROR, "No free transaction ID\n"); - /* TODO: inform HLR about this */ - /* TODO: release connection with subscriber */ - trans->callref = 0; - trans_free(trans); - return NULL; - } - trans->transaction_id = tid; - /* Init inactivity timer */ osmo_timer_setup(&trans->ss.timer_guard, ncss_session_timeout_handler, trans); diff --git a/tests/msc_vlr/msc_vlr_test_ss.err b/tests/msc_vlr/msc_vlr_test_ss.err index 1199cf1..e058e37 100644 --- a/tests/msc_vlr/msc_vlr_test_ss.err +++ b/tests/msc_vlr/msc_vlr_test_ss.err @@ -367,9 +367,9 @@ llist_count(&vsub->cs.requests) == 0 <-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: 20010809710000004026f03004200001013101013515a11302010102013b300b04010f0406aa510c061b010a0103 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + gsm0911_gsup_rx: now used by 3 (attached,_test_ss_ussd_no,gsm0911_gsup_rx) +DSS Establishing a network-originated session (id=0x20000101) with subscriber IMSI-901700000004620:MSISDN-46071 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + NCSS: now used by 4 (attached,_test_ss_ussd_no,gsm0911_gsup_rx,NCSS) -DSS trans(NCSS IMSI-901700000004620:MSISDN-46071 callref-0x20000101 tid-255) New transaction -DSS trans(NCSS IMSI-901700000004620:MSISDN-46071 callref-0x20000101 tid-255) Establishing network-originated session +DSS trans(NCSS IMSI-901700000004620:MSISDN-46071 callref-0x20000101 tid-0) New transaction DSS trans(NCSS IMSI-901700000004620:MSISDN-46071 callref-0x20000101 tid-0) Triggering Paging Request DPAG Paging: IMSI-901700000004620:MSISDN-46071 for GSM 09.11 SS/USSD: Starting paging paging request (SIGNALLING_HIGH_PRIO) to IMSI-901700000004620:MSISDN-46071 on GERAN-A -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I4e027b19e8065a39324a1647957cef4066b82ce7 Gerrit-Change-Number: 14463 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 15 09:58:28 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 09:58:28 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: log network-originated session establishment error Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14464 Change subject: libmsc/gsm_09_11.c: log network-originated session establishment error ...................................................................... libmsc/gsm_09_11.c: log network-originated session establishment error Change-Id: I090c25de3421f770115ed68a7ecc050694cedff7 --- M src/libmsc/gsm_09_11.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/64/14464/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 9acff0c..866d944 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -466,6 +466,9 @@ /* Attempt to establish a new transaction */ trans = establish_nc_ss_trans(net, vsub, gsup_msg); if (!trans) { + LOGP(DSS, LOGL_ERROR, "Failed to establish a network-originated " + "SS/USSD transaction, rejecting %s\n", + osmo_gsup_message_type_name(gsup_msg->message_type)); gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_NET_FAIL); return -EINVAL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I090c25de3421f770115ed68a7ecc050694cedff7 Gerrit-Change-Number: 14464 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 15 09:58:29 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 09:58:29 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: drop rudimantary vsub->cgi.lai.lac check Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14465 Change subject: libmsc/gsm_09_11.c: drop rudimantary vsub->cgi.lai.lac check ...................................................................... libmsc/gsm_09_11.c: drop rudimantary vsub->cgi.lai.lac check This check was copy-pasted either from CC, or from SMS handling code during the initial development of "SS/USSD over GSUP". Now this is the only one survived after the recent refactoring. I doubt this is exactly the right way to check whether subscriber is attached or not. Moreover, this check should rather be done in a single place, rather then in each CC/SS/SMS handler separately. Change-Id: I7bd48860e923cb1f1a5bccc4b0f497ec1a7bcf84 --- M src/libmsc/gsm_09_11.c 1 file changed, 0 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/65/14465/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 866d944..87978a5 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -331,13 +331,6 @@ return NULL; } - /* If subscriber is not "attached" */ - if (!vsub->cgi.lai.lac) { - LOGP(DSS, LOGL_ERROR, "Network-originated session " - "rejected - subscriber is not attached\n"); - return NULL; - } - /* Obtain an unused transaction ID */ tid = trans_assign_trans_id(net, vsub, TRANS_USSD); if (tid < 0) { -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I7bd48860e923cb1f1a5bccc4b0f497ec1a7bcf84 Gerrit-Change-Number: 14465 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 15 09:58:30 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 09:58:30 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: drop meaningless check for concurrent paging Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14466 Change subject: libmsc/gsm_09_11.c: drop meaningless check for concurrent paging ...................................................................... libmsc/gsm_09_11.c: drop meaningless check for concurrent paging This check was copy-pasted from the CC handling code during the initial development of "SS/USSD over GSUP" feature. It probably makes sense for MT calls, but definitely not for SS/USSD. Change-Id: I2899a23ee49fd7917443943629603700a5025cf4 --- M src/libmsc/gsm_09_11.c 1 file changed, 1 insertion(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/66/14466/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 87978a5..4f9f127 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -314,7 +314,7 @@ struct vlr_subscr *vsub, const struct osmo_gsup_message *gsup_msg) { struct msc_a *msc_a; - struct gsm_trans *trans, *transt; + struct gsm_trans *trans; int tid; if (gsup_msg->session_state != OSMO_GSUP_SESSION_STATE_BEGIN) { @@ -364,20 +364,6 @@ LOG_TRANS(trans, LOGL_DEBUG, "Triggering Paging Request\n"); - /* Find transaction with this subscriber already paging */ - llist_for_each_entry(transt, &net->trans_list, entry) { - /* Transaction of our conn? */ - if (transt == trans || transt->vsub != vsub) - continue; - - LOG_TRANS(trans, LOGL_ERROR, "Paging already started, " - "rejecting message...\n"); - trans_free(trans); - /* FIXME: WTF IS THIS!? This is completely insane. Presence of a trans doesn't indicate Paging, and even - * if, why drop the current request??? */ - return NULL; - } - /* Trigger Paging Request */ trans->paging_request = paging_request_start(vsub, PAGING_CAUSE_SIGNALLING_HIGH_PRIO, ss_paging_cb, trans, "GSM 09.11 SS/USSD"); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2899a23ee49fd7917443943629603700a5025cf4 Gerrit-Change-Number: 14466 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 15 11:20:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 11:20:36 +0000 Subject: Change in ...libosmocore[master]: fsm.c: Print error message for FSM with allstate_action but no events In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14361 ) Change subject: fsm.c: Print error message for FSM with allstate_action but no events ...................................................................... fsm.c: Print error message for FSM with allstate_action but no events As suggested by Vadim while reviewing a related fix for ipa_keepalive.c in libosmo-abis (see https://gerrit.osmocom.org/#/c/libosmo-abis/+/13540/), it makes sense to print an error message if anyone registers a FSM that specifies an allstate_action callback but at the same time no events that would ever end up in that callback. Change-Id: I9e73f7363ab15a00843e3f0d1e5776f4be7ebc46 --- M src/fsm.c 1 file changed, 11 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/fsm.c b/src/fsm.c index 337786d..04c583b 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -256,6 +256,17 @@ return -EEXIST; if (fsm->event_names == NULL) LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has no event names! Please fix!\n", fsm->name); + + if (fsm->allstate_action && !fsm->allstate_event_mask) { + LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has allstate_action but no allstate_event_mask\n", + fsm->name); + } + + if (!fsm->allstate_action && fsm->allstate_event_mask) { + LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has allstate_event_mask but no allstate_action\n", + fsm->name); + } + llist_add_tail(&fsm->list, &osmo_g_fsms); INIT_LLIST_HEAD(&fsm->instances); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9e73f7363ab15a00843e3f0d1e5776f4be7ebc46 Gerrit-Change-Number: 14361 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 11:21:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 11:21:02 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_04_08.c: clean up unused leftover includes In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14462 ) Change subject: libmsc/gsm_04_08.c: clean up unused leftover includes ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I61e728069a1e79bf72c01ef9d9fc5fb171d3892e Gerrit-Change-Number: 14462 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 11:21:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 11:22:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 11:22:32 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14463 ) Change subject: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I4e027b19e8065a39324a1647957cef4066b82ce7 Gerrit-Change-Number: 14463 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 11:22:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 11:22:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 11:22:44 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: log network-originated session establishment error In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14464 ) Change subject: libmsc/gsm_09_11.c: log network-originated session establishment error ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I090c25de3421f770115ed68a7ecc050694cedff7 Gerrit-Change-Number: 14464 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 11:22:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 11:23:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 11:23:29 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: drop rudimantary vsub->cgi.lai.lac check In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14465 ) Change subject: libmsc/gsm_09_11.c: drop rudimantary vsub->cgi.lai.lac check ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/14465/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14465/1//COMMIT_MSG at 7 PS1, Line 7: rudimantary rudimentary -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I7bd48860e923cb1f1a5bccc4b0f497ec1a7bcf84 Gerrit-Change-Number: 14465 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 11:23: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 Sat Jun 15 11:23:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 11:23:55 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: drop meaningless check for concurrent paging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14466 ) Change subject: libmsc/gsm_09_11.c: drop meaningless check for concurrent paging ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2899a23ee49fd7917443943629603700a5025cf4 Gerrit-Change-Number: 14466 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 11:23: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 15 11:24:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 11:24:00 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_04_08.c: clean up unused leftover includes In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14462 ) Change subject: libmsc/gsm_04_08.c: clean up unused leftover includes ...................................................................... libmsc/gsm_04_08.c: clean up unused leftover includes During the recent refactoring, some code parts has been moved out of 'gsm_04_08.c', but the related header files were forgotten. Change-Id: I61e728069a1e79bf72c01ef9d9fc5fb171d3892e --- M src/libmsc/gsm_04_08.c 1 file changed, 0 insertions(+), 13 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c index 68b12c0..57dff41 100644 --- a/src/libmsc/gsm_04_08.c +++ b/src/libmsc/gsm_04_08.c @@ -29,32 +29,19 @@ #include #include #include -#include #include #include "config.h" -#include #include #include -#include -#include #include -#include -#include -#include #include #include -#include -#include -#include -#include #include #include -#include #include -#include #include #include #include -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I61e728069a1e79bf72c01ef9d9fc5fb171d3892e Gerrit-Change-Number: 14462 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 Sat Jun 15 11:30:43 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 11:30:43 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: drop rudimentary vsub->cgi.lai.lac check In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/14465 to look at the new patch set (#2). Change subject: libmsc/gsm_09_11.c: drop rudimentary vsub->cgi.lai.lac check ...................................................................... libmsc/gsm_09_11.c: drop rudimentary vsub->cgi.lai.lac check This check was copy-pasted either from CC, or from SMS handling code during the initial development of "SS/USSD over GSUP". Now this is the only one survived after the recent refactoring. I doubt this is exactly the right way to check whether subscriber is attached or not. Moreover, this check should rather be done in a single place, rather then in each CC/SS/SMS handler separately. Change-Id: I7bd48860e923cb1f1a5bccc4b0f497ec1a7bcf84 --- M src/libmsc/gsm_09_11.c 1 file changed, 0 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/65/14465/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I7bd48860e923cb1f1a5bccc4b0f497ec1a7bcf84 Gerrit-Change-Number: 14465 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 11:30:49 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 11:30:49 +0000 Subject: Change in ...osmo-msc[master]: libmsc/msc_net_init.c: pass pointer to gsm_network directly Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14467 Change subject: libmsc/msc_net_init.c: pass pointer to gsm_network directly ...................................................................... libmsc/msc_net_init.c: pass pointer to gsm_network directly Change-Id: I122d2880b356997c60df5f0cf4f5ecb3abb2e672 --- M src/libmsc/gsm_04_11_gsup.c M src/libmsc/gsm_09_11.c M src/libmsc/msc_net_init.c 3 files changed, 12 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/67/14467/1 diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index b4d74c7..331092a 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -117,19 +117,13 @@ } /* Triggers either RP-ACK or RP-ERROR on response from SMSC */ -static int gsm411_gsup_mo_handler(struct vlr_subscr *vsub, - const struct osmo_gsup_message *gsup_msg) +static int gsm411_gsup_mo_handler(struct gsm_network *net, struct vlr_subscr *vsub, + const struct osmo_gsup_message *gsup_msg) { - struct vlr_instance *vlr; - struct gsm_network *net; struct gsm_trans *trans; const char *msg_name; bool msg_is_err; - /* Obtain required pointers */ - vlr = vsub->vlr; - net = (struct gsm_network *) vlr->user_ctx; - /* Associate logging messages with this subscriber */ log_set_context(LOG_CTX_VLR_SUBSCR, vsub); @@ -230,16 +224,12 @@ } /* Handles MT SMS (and triggers Paging Request if required) */ -static int gsm411_gsup_mt_handler(struct vlr_subscr *vsub, - const struct osmo_gsup_message *gsup_msg) +static int gsm411_gsup_mt_handler(struct gsm_network *net, struct vlr_subscr *vsub, + const struct osmo_gsup_message *gsup_msg) { - struct gsm_network *net; bool sm_rp_mmts_ind; int rc; - /* Obtain required pointers */ - net = (struct gsm_network *) vsub->vlr->user_ctx; - /* Associate logging messages with this subscriber */ log_set_context(LOG_CTX_VLR_SUBSCR, vsub); @@ -296,8 +286,8 @@ int gsm411_gsup_rx(struct gsup_client_mux *gcm, void *data, const struct osmo_gsup_message *gsup_msg) { - struct vlr_instance *vlr = data; - struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(vlr, gsup_msg->imsi, __func__); + struct gsm_network *net = (struct gsm_network *) data; + struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(net->vlr, gsup_msg->imsi, __func__); if (!vsub) { LOGP(DLSMS, LOGL_ERROR, "Rx %s for unknown subscriber, rejecting\n", @@ -313,12 +303,12 @@ case OSMO_GSUP_MSGT_READY_FOR_SM_ERROR: case OSMO_GSUP_MSGT_READY_FOR_SM_RESULT: DEBUGP(DMSC, "Routed to GSM 04.11 MO handler\n"); - return gsm411_gsup_mo_handler(vsub, gsup_msg); + return gsm411_gsup_mo_handler(net, vsub, gsup_msg); /* GSM 04.11 code implementing MT SMS */ case OSMO_GSUP_MSGT_MT_FORWARD_SM_REQUEST: DEBUGP(DMSC, "Routed to GSM 04.11 MT handler\n"); - return gsm411_gsup_mt_handler(vsub, gsup_msg); + return gsm411_gsup_mt_handler(net, vsub, gsup_msg); default: LOGP(DMM, LOGL_ERROR, "No handler found for %s, dropping message...\n", diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 4f9f127..a46207e 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -403,14 +403,13 @@ int gsm0911_gsup_rx(struct gsup_client_mux *gcm, void *data, const struct osmo_gsup_message *gsup_msg) { - struct vlr_instance *vlr = data; - struct gsm_network *net; + struct gsm_network *net = (struct gsm_network *) data; struct gsm_trans *trans; struct gsm48_hdr *gh; struct msgb *ss_msg; bool trans_end; struct msc_a *msc_a; - struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(vlr, gsup_msg->imsi, __func__); + struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(net->vlr, gsup_msg->imsi, __func__); if (!vsub) { LOGP(DSS, LOGL_ERROR, "Rx %s for unknown subscriber, rejecting\n", @@ -422,14 +421,6 @@ /* Associate logging messages with this subscriber */ log_set_context(LOG_CTX_VLR_SUBSCR, vsub); - /* Obtain pointer to vlr_instance */ - vlr = vsub->vlr; - OSMO_ASSERT(vlr); - - /* Obtain pointer to gsm_network */ - net = (struct gsm_network *) vlr->user_ctx; - OSMO_ASSERT(net); - /* Handle errors */ if (OSMO_GSUP_IS_MSGT_ERROR(gsup_msg->message_type)) { /* FIXME: handle this error somehow! */ diff --git a/src/libmsc/msc_net_init.c b/src/libmsc/msc_net_init.c index 637ee74..4a752bf 100644 --- a/src/libmsc/msc_net_init.c +++ b/src/libmsc/msc_net_init.c @@ -117,8 +117,8 @@ .rx_cb = { /* vlr.c sets up its own cb and data */ /* MSC-A and MSC-B set up their own cb and data */ - [OSMO_GSUP_MESSAGE_CLASS_SMS] = { .func = gsm411_gsup_rx, .data = net->vlr }, - [OSMO_GSUP_MESSAGE_CLASS_USSD] = { .func = gsm0911_gsup_rx, .data = net->vlr }, + [OSMO_GSUP_MESSAGE_CLASS_SMS] = { .func = gsm411_gsup_rx, .data = net }, + [OSMO_GSUP_MESSAGE_CLASS_USSD] = { .func = gsm0911_gsup_rx, .data = net }, }, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I122d2880b356997c60df5f0cf4f5ecb3abb2e672 Gerrit-Change-Number: 14467 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 15 16:01:56 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 16:01:56 +0000 Subject: Change in ...osmo-msc[master]: libmsc/paging.c: avoid double zero-initialization Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14468 Change subject: libmsc/paging.c: avoid double zero-initialization ...................................................................... libmsc/paging.c: avoid double zero-initialization Change-Id: Icc839370fc39ab57078ec6deeac337ed2f37793c --- M src/libmsc/paging.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/68/14468/1 diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c index 5baa0dc..94406ad 100644 --- a/src/libmsc/paging.c +++ b/src/libmsc/paging.c @@ -84,7 +84,7 @@ struct paging_request *pr; struct gsm_network *net = vsub->vlr->user_ctx; - pr = talloc_zero(vsub, struct paging_request); + pr = talloc(vsub, struct paging_request); OSMO_ASSERT(pr); *pr = (struct paging_request){ .label = label, -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Icc839370fc39ab57078ec6deeac337ed2f37793c Gerrit-Change-Number: 14468 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 15 16:04:30 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 16:04:30 +0000 Subject: Change in ...osmo-msc[master]: libmsc/paging.c: cosmetic: actually use default branch of switch Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14469 Change subject: libmsc/paging.c: cosmetic: actually use default branch of switch ...................................................................... libmsc/paging.c: cosmetic: actually use default branch of switch Change-Id: I9b566885f722a28816760532b645f606fdf4faeb --- M src/libmsc/paging.c 1 file changed, 2 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/69/14469/1 diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c index 94406ad..667acd1 100644 --- a/src/libmsc/paging.c +++ b/src/libmsc/paging.c @@ -69,11 +69,9 @@ case OSMO_RAT_EUTRAN_SGS: return sgs_iface_tx_paging(vsub, sgs_serv_ind_from_paging_cause(pr->cause)); default: - break; + LOG_PAGING(vsub, pr, LOGL_ERROR, " Cannot page, subscriber not attached\n"); + return -EINVAL; } - - LOG_PAGING(vsub, pr, LOGL_ERROR, " Cannot page, subscriber not attached\n"); - return -EINVAL; } struct paging_request *paging_request_start(struct vlr_subscr *vsub, enum paging_cause cause, -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9b566885f722a28816760532b645f606fdf4faeb Gerrit-Change-Number: 14469 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 15 16:06:17 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 16:06:17 +0000 Subject: Change in ...osmo-msc[master]: libmsc/paging.c: cosmetic: remove leading space in log line Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14470 Change subject: libmsc/paging.c: cosmetic: remove leading space in log line ...................................................................... libmsc/paging.c: cosmetic: remove leading space in log line Change-Id: Ie7816f3b30a6c6ac5175646b479eb9a3e76429e1 --- M src/libmsc/paging.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/70/14470/1 diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c index 667acd1..182b036 100644 --- a/src/libmsc/paging.c +++ b/src/libmsc/paging.c @@ -69,7 +69,7 @@ case OSMO_RAT_EUTRAN_SGS: return sgs_iface_tx_paging(vsub, sgs_serv_ind_from_paging_cause(pr->cause)); default: - LOG_PAGING(vsub, pr, LOGL_ERROR, " Cannot page, subscriber not attached\n"); + LOG_PAGING(vsub, pr, LOGL_ERROR, "Cannot page, subscriber not attached\n"); return -EINVAL; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie7816f3b30a6c6ac5175646b479eb9a3e76429e1 Gerrit-Change-Number: 14470 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 15 16:25:11 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 16:25:11 +0000 Subject: Change in ...libosmocore[master]: WIP: CBSP (3GPP TS 48.049) support In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/14360 to look at the new patch set (#2). Change subject: WIP: CBSP (3GPP TS 48.049) support ...................................................................... WIP: CBSP (3GPP TS 48.049) support This introduces definitions as well as a parser/encoder for the Cell Broadcast Service Protocol (CBSP) as specified in 3GPP TS 48.049. CBSP is used on the interface between CBC and BSC. Related: OS#3537 Change-Id: I5b7ae08f67e415967b60ac4b824db9e22ca00935 --- M include/Makefile.am A include/osmocom/gsm/cbsp.h A include/osmocom/gsm/protocol/gsm_48_049.h M src/gsm/Makefile.am A src/gsm/cbsp.c A src/gsm/gsm48049.c M src/gsm/libosmogsm.map 7 files changed, 1,900 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/60/14360/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5b7ae08f67e415967b60ac4b824db9e22ca00935 Gerrit-Change-Number: 14360 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 16:25:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 16:25:14 +0000 Subject: Change in ...libosmocore[master]: Add Cell Broadcast related definitions from 3GPP TS 23.041 Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14471 Change subject: Add Cell Broadcast related definitions from 3GPP TS 23.041 ...................................................................... Add Cell Broadcast related definitions from 3GPP TS 23.041 Change-Id: I1e2c62cb9047648907c91b99f764f6caba8f4493 --- M include/Makefile.am A include/osmocom/gsm/protocol/gsm_23_041.h 2 files changed, 90 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/71/14471/1 diff --git a/include/Makefile.am b/include/Makefile.am index 7835fab..a82d6ac 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -123,6 +123,7 @@ osmocom/gsm/protocol/gsm_09_02.h \ osmocom/gsm/protocol/gsm_12_21.h \ osmocom/gsm/protocol/gsm_23_003.h \ + osmocom/gsm/protocol/gsm_23_041.h \ osmocom/gsm/protocol/gsm_29_118.h \ osmocom/gsm/protocol/gsm_44_318.h \ osmocom/gsm/protocol/gsm_48_049.h \ diff --git a/include/osmocom/gsm/protocol/gsm_23_041.h b/include/osmocom/gsm/protocol/gsm_23_041.h new file mode 100644 index 0000000..c75c088 --- /dev/null +++ b/include/osmocom/gsm/protocol/gsm_23_041.h @@ -0,0 +1,89 @@ +#pragma once + +/* Section 9.4.1.2: GSM Message Format */ +struct gsm23041_msg_param_gsm { + uint16_t serial_nr; + uint16_t message_id; + uint8_t dcs; + struct { +#if OSMO_IS_LITTLE_ENDIAN + uint8_t num_pages:4, + page_nr:4; +#else + uint8_t page_nr:4, + num_pages:4; +#endif + } page_param; + uint8_t content[0]; +} __attribute__ ((packed)); + +/* Section 9.4.1.2.2 Message Identifier */ +enum { + /* 0 - 999: Allocated by GSM AD.26 */ + CBS_MSGID_LCS_EOTD_ASSIST = 1000, + CBS_MSGID_LCS_DGPS_CORRECTION = 1001, + CBS_MSGID_LCS_GPS_EPHEM_CLOCK = 1002, + CBS_MSGID_LCS_GPS_ALMANAC_OTHER = 1003, + /* 1004 - 4095: RFU */ + /* 4096 - 4223: clear text SIM data download */ + /* 4224 - 4351: secured SIM data download */ + CBS_MSGID_ETWS_EARTHQUAKE = 4352, + CBS_MSGID_ETWS_TSUNAMI = 4353, + CBS_MSGID_ETWS_EARTHQUAKE_TSUNAMI = 4354, + CBS_MSGID_ETWS_TEST = 4355, + CBS_MSGID_ETWS_OTHER = 4356, + /* 4357 - 4359: ETWS RFU */ + /* 4360 - 4369: RFU */ + CBS_MSGID_CMAS_PRESIDENTIAL = 4370, + CBS_MSGID_CMAS_EXTREME_IMMEDIATE_OBSERVED = 4371, + CBS_MSGID_CMAS_EXTREME_IMMEDIATE_LIKELY = 4372, + CBS_MSGID_CMAS_EXTREME_EXPECTED_OBSERVED = 4373, + CBS_MSGID_CMAS_EXTREME_EXPECTED_LIKELY = 4374, + CBS_MSGID_CMAS_SEVERE_IMMEDIATE_OBSERVED = 4375, + CBS_MSGID_CMAS_SEVERE_IMMEDIATE_LIKELY = 4376, + CBS_MSGID_CMAS_SEVERE_EXPECTED_OBSERVED = 4377, + CBS_MSGID_CMAS_SEVERE_EXPECTED_LIKELY = 4378, + CBS_MSGID_CMAS_AMBER = 4379, + CBS_MSGID_CMAS_MONTHLY_TEST = 4380, + CBS_MSGID_CMAS_EXERCISE = 4381, + CBS_MSGID_CMAS_OPERATOR_DEFINED = 4382, + CBS_MSGID_CMAS_PRESIDENTIAL_ADDL = 4383, + CBS_MSGID_CMAS_EXTREME_IMMEDIATE_OBSERVED_ADDL = 4384, + CBS_MSGID_CMAS_EXTREME_IMMEDIATE_LIKELY_ADDL = 4385, + CBS_MSGID_CMAS_EXTREME_EXPECTED_OBSERVED_ADDL = 4386, + CBS_MSGID_CMAS_EXTREME_EXPECTED_LIKELY_ADDL = 4387, + CBS_MSGID_CMAS_SEVERE_IMMEDIATE_OBSERVED_ADDL = 4388, + CBS_MSGID_CMAS_SEVERE_IMMEDIATE_LIKELY_ADDL = 4389, + CBS_MSGID_CMAS_SEVERE_EXPECTED_OBSERVED_ADDL = 4390, + CBS_MSGID_CMAS_SEVERE_EXPECTED_LIKELY_ADDL = 4391, + CBS_MSGID_CMAS_AMBER_ADDL = 4392, + CBS_MSGID_CMAS_MONTHLY_TEST_ADDL = 4393, + CBS_MSGID_CMAS_EXERCISE_ADDL = 4394, + CBS_MSGID_CMAS_OPERATOR_DEFINED_ADDL = 4395, + /* 4396 - 4399: RFU CMAS / EU-Alert */ + /* 4400 - 6399: RFU PWS */ + CBS_MSGID_EU_INFO_LOCAL_LANG = 6400, + /* 6491 - 40959: RFU */ + /* 40960 - 45055: PLMN operator specific range */ + /* 45056 - 61439: PLMN operator specific range RFU */ + /* 61440 - 65534: PLMN operator specific range */ + CBS_MSGID_RESERVED = 65535 +}; + +/* Section 9.4.1.3.2 ETWS Primary Notification Message Parameter */ +struct gsm23041_etws_primary_gsm { + uint16_t serial_nr; + uint16_t message_id; + uint16_t warning_type; + uint8_t warning_sec_info[50]; +} __attribute__ ((packed)); + + +/* Section 9.4.2.2 UMTS Message Parameter */ +struct gsm23041_msg_param_umts { + uint8_t msg_type; /* as per TS 25.324 */ + uint16_t message_id; + uint16_t serial_nr; + uint8_t dcs; + uint8_t content[0]; +} __attribute__ ((packed)); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1e2c62cb9047648907c91b99f764f6caba8f4493 Gerrit-Change-Number: 14471 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 15 17:22:26 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 17:22:26 +0000 Subject: Change in ...osmo-msc[master]: libmsc/msc_a.c: fix: remove dummy allstate_action of msc_a_fsm Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14472 Change subject: libmsc/msc_a.c: fix: remove dummy allstate_action of msc_a_fsm ...................................................................... libmsc/msc_a.c: fix: remove dummy allstate_action of msc_a_fsm Since [1] has been merged to libosmocore, it was discovered that the 'msc_a' FSM has a dummy 'allstate_action' handler assigned, but 'allstate_event_mask' is 0x00 at the same time. It basically doesn't make any sense, and moreover does cause warnings and build failures. [1] https://git.osmocom.org/libosmocore/commit/?id=b3f94eb39e19366c3458643ee329a73155d46ff8 [1] https://gerrit.osmocom.org/#/c/libosmocore/+/14361/ Change-Id: Ieb81b7a07ced1c40ba70d2adb0df68160ee62118 --- M src/libmsc/msc_a.c 1 file changed, 0 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/72/14472/1 diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index b311df3..bd69eed 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -809,16 +809,6 @@ osmo_fsm_inst_term(fi, OSMO_FSM_TERM_REGULAR, fi); } -void msc_a_fsm_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) -{ - //struct msc_a *a = msc_a_fi_priv(fi); - switch (event) { - - default: - return; - } -} - void msc_a_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) { struct msc_a *msc_a = msc_a_fi_priv(fi); @@ -991,9 +981,6 @@ .num_states = ARRAY_SIZE(msc_a_fsm_states), .log_subsys = DMSC, .event_names = msc_a_fsm_event_names, - .allstate_action = msc_a_fsm_allstate_action, - .allstate_event_mask = 0 - , .timer_cb = msc_a_fsm_timer_cb, .cleanup = msc_a_fsm_cleanup, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ieb81b7a07ced1c40ba70d2adb0df68160ee62118 Gerrit-Change-Number: 14472 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 15 17:53:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 17:53:02 +0000 Subject: Change in ...osmo-msc[master]: libmsc/msc_a.c: fix: remove dummy allstate_action of msc_a_fsm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14472 ) Change subject: libmsc/msc_a.c: fix: remove dummy allstate_action of msc_a_fsm ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ieb81b7a07ced1c40ba70d2adb0df68160ee62118 Gerrit-Change-Number: 14472 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 17:53:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 18:05:16 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 18:05:16 +0000 Subject: Change in ...libosmocore[master]: Revert "fsm.c: Print error message for FSM with allstate_action but n... Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14473 Change subject: Revert "fsm.c: Print error message for FSM with allstate_action but no events" ...................................................................... Revert "fsm.c: Print error message for FSM with allstate_action but no events" This reverts commit b3f94eb39e19366c3458643ee329a73155d46ff8, that unfortunately breaks some projects which call osmo_fsm_register() on DSO load (i.e. using __attribute__((constructor))) before the logging is initialized. Change-Id: Idc6fcce7e946c23d48589b920e309d60aa7b6645 --- M src/fsm.c 1 file changed, 0 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/73/14473/1 diff --git a/src/fsm.c b/src/fsm.c index 04c583b..337786d 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -256,17 +256,6 @@ return -EEXIST; if (fsm->event_names == NULL) LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has no event names! Please fix!\n", fsm->name); - - if (fsm->allstate_action && !fsm->allstate_event_mask) { - LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has allstate_action but no allstate_event_mask\n", - fsm->name); - } - - if (!fsm->allstate_action && fsm->allstate_event_mask) { - LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has allstate_event_mask but no allstate_action\n", - fsm->name); - } - llist_add_tail(&fsm->list, &osmo_g_fsms); INIT_LLIST_HEAD(&fsm->instances); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idc6fcce7e946c23d48589b920e309d60aa7b6645 Gerrit-Change-Number: 14473 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 15 18:05:54 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 18:05:54 +0000 Subject: Change in ...libosmocore[master]: Revert "fsm.c: Print error message for FSM with allstate_action but n... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14473 ) Change subject: Revert "fsm.c: Print error message for FSM with allstate_action but no events" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idc6fcce7e946c23d48589b920e309d60aa7b6645 Gerrit-Change-Number: 14473 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sat, 15 Jun 2019 18:05:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 18:40:45 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 18:40:45 +0000 Subject: Change in ...libosmocore[master]: Revert "fsm.c: Print error message for FSM with allstate_action but n... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14473 ) Change subject: Revert "fsm.c: Print error message for FSM with allstate_action but no events" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idc6fcce7e946c23d48589b920e309d60aa7b6645 Gerrit-Change-Number: 14473 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 18:40:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 18:41:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 18:41:29 +0000 Subject: Change in ...libosmocore[master]: Revert "fsm.c: Print error message for FSM with allstate_action but n... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14473 ) Change subject: Revert "fsm.c: Print error message for FSM with allstate_action but no events" ...................................................................... Revert "fsm.c: Print error message for FSM with allstate_action but no events" This reverts commit b3f94eb39e19366c3458643ee329a73155d46ff8, that unfortunately breaks some projects which call osmo_fsm_register() on DSO load (i.e. using __attribute__((constructor))) before the logging is initialized. Change-Id: Idc6fcce7e946c23d48589b920e309d60aa7b6645 --- M src/fsm.c 1 file changed, 0 insertions(+), 11 deletions(-) Approvals: fixeria: Looks good to me, approved laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/fsm.c b/src/fsm.c index 04c583b..337786d 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -256,17 +256,6 @@ return -EEXIST; if (fsm->event_names == NULL) LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has no event names! Please fix!\n", fsm->name); - - if (fsm->allstate_action && !fsm->allstate_event_mask) { - LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has allstate_action but no allstate_event_mask\n", - fsm->name); - } - - if (!fsm->allstate_action && fsm->allstate_event_mask) { - LOGP(DLGLOBAL, LOGL_ERROR, "FSM '%s' has allstate_event_mask but no allstate_action\n", - fsm->name); - } - llist_add_tail(&fsm->list, &osmo_g_fsms); INIT_LLIST_HEAD(&fsm->instances); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idc6fcce7e946c23d48589b920e309d60aa7b6645 Gerrit-Change-Number: 14473 Gerrit-PatchSet: 1 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 Sat Jun 15 18:41:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 18:41:46 +0000 Subject: Change in ...osmo-msc[master]: libmsc/msc_a.c: fix: remove dummy allstate_action of msc_a_fsm In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14472 ) Change subject: libmsc/msc_a.c: fix: remove dummy allstate_action of msc_a_fsm ...................................................................... libmsc/msc_a.c: fix: remove dummy allstate_action of msc_a_fsm Since [1] has been merged to libosmocore, it was discovered that the 'msc_a' FSM has a dummy 'allstate_action' handler assigned, but 'allstate_event_mask' is 0x00 at the same time. It basically doesn't make any sense, and moreover does cause warnings and build failures. [1] https://git.osmocom.org/libosmocore/commit/?id=b3f94eb39e19366c3458643ee329a73155d46ff8 [1] https://gerrit.osmocom.org/#/c/libosmocore/+/14361/ Change-Id: Ieb81b7a07ced1c40ba70d2adb0df68160ee62118 --- M src/libmsc/msc_a.c 1 file changed, 0 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index b311df3..bd69eed 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -809,16 +809,6 @@ osmo_fsm_inst_term(fi, OSMO_FSM_TERM_REGULAR, fi); } -void msc_a_fsm_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) -{ - //struct msc_a *a = msc_a_fi_priv(fi); - switch (event) { - - default: - return; - } -} - void msc_a_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) { struct msc_a *msc_a = msc_a_fi_priv(fi); @@ -991,9 +981,6 @@ .num_states = ARRAY_SIZE(msc_a_fsm_states), .log_subsys = DMSC, .event_names = msc_a_fsm_event_names, - .allstate_action = msc_a_fsm_allstate_action, - .allstate_event_mask = 0 - , .timer_cb = msc_a_fsm_timer_cb, .cleanup = msc_a_fsm_cleanup, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ieb81b7a07ced1c40ba70d2adb0df68160ee62118 Gerrit-Change-Number: 14472 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 15 18:42:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 18:42:04 +0000 Subject: Change in ...osmo-msc[master]: libmsc/paging.c: avoid double zero-initialization In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14468 ) Change subject: libmsc/paging.c: avoid double zero-initialization ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Icc839370fc39ab57078ec6deeac337ed2f37793c Gerrit-Change-Number: 14468 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 18:42: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 15 18:42:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 18:42:24 +0000 Subject: Change in ...osmo-msc[master]: libmsc/paging.c: cosmetic: actually use default branch of switch In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14469 ) Change subject: libmsc/paging.c: cosmetic: actually use default branch of switch ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9b566885f722a28816760532b645f606fdf4faeb Gerrit-Change-Number: 14469 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 18:42:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 18:42:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 18:42:33 +0000 Subject: Change in ...osmo-msc[master]: libmsc/paging.c: cosmetic: remove leading space in log line In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14470 ) Change subject: libmsc/paging.c: cosmetic: remove leading space in log line ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie7816f3b30a6c6ac5175646b479eb9a3e76429e1 Gerrit-Change-Number: 14470 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 15 Jun 2019 18:42:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 15 18:42:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 18:42:35 +0000 Subject: Change in ...osmo-msc[master]: libmsc/paging.c: avoid double zero-initialization In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14468 ) Change subject: libmsc/paging.c: avoid double zero-initialization ...................................................................... libmsc/paging.c: avoid double zero-initialization Change-Id: Icc839370fc39ab57078ec6deeac337ed2f37793c --- M src/libmsc/paging.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c index 5baa0dc..94406ad 100644 --- a/src/libmsc/paging.c +++ b/src/libmsc/paging.c @@ -84,7 +84,7 @@ struct paging_request *pr; struct gsm_network *net = vsub->vlr->user_ctx; - pr = talloc_zero(vsub, struct paging_request); + pr = talloc(vsub, struct paging_request); OSMO_ASSERT(pr); *pr = (struct paging_request){ .label = label, -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Icc839370fc39ab57078ec6deeac337ed2f37793c Gerrit-Change-Number: 14468 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 Sat Jun 15 18:42:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 18:42:35 +0000 Subject: Change in ...osmo-msc[master]: libmsc/paging.c: cosmetic: actually use default branch of switch In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14469 ) Change subject: libmsc/paging.c: cosmetic: actually use default branch of switch ...................................................................... libmsc/paging.c: cosmetic: actually use default branch of switch Change-Id: I9b566885f722a28816760532b645f606fdf4faeb --- M src/libmsc/paging.c 1 file changed, 2 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c index 94406ad..667acd1 100644 --- a/src/libmsc/paging.c +++ b/src/libmsc/paging.c @@ -69,11 +69,9 @@ case OSMO_RAT_EUTRAN_SGS: return sgs_iface_tx_paging(vsub, sgs_serv_ind_from_paging_cause(pr->cause)); default: - break; + LOG_PAGING(vsub, pr, LOGL_ERROR, " Cannot page, subscriber not attached\n"); + return -EINVAL; } - - LOG_PAGING(vsub, pr, LOGL_ERROR, " Cannot page, subscriber not attached\n"); - return -EINVAL; } struct paging_request *paging_request_start(struct vlr_subscr *vsub, enum paging_cause cause, -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I9b566885f722a28816760532b645f606fdf4faeb Gerrit-Change-Number: 14469 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 Sat Jun 15 18:42:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 15 Jun 2019 18:42:36 +0000 Subject: Change in ...osmo-msc[master]: libmsc/paging.c: cosmetic: remove leading space in log line In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14470 ) Change subject: libmsc/paging.c: cosmetic: remove leading space in log line ...................................................................... libmsc/paging.c: cosmetic: remove leading space in log line Change-Id: Ie7816f3b30a6c6ac5175646b479eb9a3e76429e1 --- M src/libmsc/paging.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libmsc/paging.c b/src/libmsc/paging.c index 667acd1..182b036 100644 --- a/src/libmsc/paging.c +++ b/src/libmsc/paging.c @@ -69,7 +69,7 @@ case OSMO_RAT_EUTRAN_SGS: return sgs_iface_tx_paging(vsub, sgs_serv_ind_from_paging_cause(pr->cause)); default: - LOG_PAGING(vsub, pr, LOGL_ERROR, " Cannot page, subscriber not attached\n"); + LOG_PAGING(vsub, pr, LOGL_ERROR, "Cannot page, subscriber not attached\n"); return -EINVAL; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie7816f3b30a6c6ac5175646b479eb9a3e76429e1 Gerrit-Change-Number: 14470 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 Sat Jun 15 19:41:00 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 19:41:00 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_proc_ss_paging_fail Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14474 Change subject: MSC_Tests.ttcn: introduce TC_proc_ss_paging_fail ...................................................................... MSC_Tests.ttcn: introduce TC_proc_ss_paging_fail The idea of this test case is to check that OsmoMSC does inform HLR/EUSE that a subscriber did not respond to Paging Request in case of network-originated SS/USSD. Both f_expect_gsup_msg() and f_expect_dtap_msg() were extended with optional timeout value, as we need to wait longer than 2.0 seconds (default). Let's stick to 10.0 seconds. Change-Id: I1f53c56d569c8ac4071835685bbe3bc9e0ebd7f0 Related: OS#2931 --- M msc/MSC_Tests.ttcn 1 file changed, 64 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/74/14474/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index f9b2d03..b5a3ba7 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -2817,10 +2817,11 @@ } } -private function f_expect_gsup_msg(template GSUP_PDU msg) +private function f_expect_gsup_msg(template GSUP_PDU msg, + float T_val := 2.0) runs on BSC_ConnHdlr return GSUP_PDU { var GSUP_PDU gsup_msg_complete; - timer T := 2.0; + timer T := T_val; T.start; alt { @@ -2837,10 +2838,11 @@ return gsup_msg_complete; } -private function f_expect_mt_dtap_msg(template PDU_ML3_NW_MS msg) +private function f_expect_mt_dtap_msg(template PDU_ML3_NW_MS msg, + float T_val := 2.0) runs on BSC_ConnHdlr return PDU_ML3_NW_MS { var PDU_DTAP_MT bssap_msg_complete; - timer T := 2.0; + timer T := T_val; T.start; alt { @@ -3549,6 +3551,63 @@ vc_conn.done; } +/* MT (network-originated) USSD and no response to Paging Request */ +friend function f_tc_proc_ss_paging_fail(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + timer TP := 2.0; /* Paging timer */ + + f_init_handler(pars); + + /* Perform location update */ + f_perform_lu(); + + f_ran_register_imsi(g_pars.imsi, 'FFFFFFFF'O); + f_create_gsup_expect(hex2str(g_pars.imsi)); + + var template (value) GSUP_PDU gsup_req := ts_GSUP_PROC_SS_REQ( + imsi := g_pars.imsi, + sid := '20000444'O, + state := OSMO_GSUP_SESSION_STATE_BEGIN, + ss := f_rnd_octstring(23) + ); + + /* Error with some cause value */ + var template GSUP_PDU gsup_rsp := tr_GSUP_PROC_SS_ERR( + imsi := g_pars.imsi, + sid := '20000444'O, + state := OSMO_GSUP_SESSION_STATE_END, + cause := ? /* FIXME: introduce an enumerated type! */ + ); + + /* Initiate a MT USSD notification */ + GSUP.send(gsup_req); + + /* Send it to MSC and expect Paging Request */ + TP.start; + alt { + [pars.ran_is_geran] BSSAP.receive(tr_BSSMAP_Paging(g_pars.imsi)) { + setverdict(pass); + } + [not pars.ran_is_geran] BSSAP.receive(tr_RANAP_Paging(cs_domain, imsi_hex2oct(g_pars.imsi))) { + setverdict(pass); + } + /* We don't expect anything else */ + [] as_unexp_gsup_or_bssap_msg(); + [] TP.timeout { + setverdict(fail, "Timeout waiting for Paging Request"); + } + } + + /* Expect GSUP PROC_SS_ERROR message */ + f_expect_gsup_msg(gsup_rsp, T_val := 10.0); +} +testcase TC_proc_ss_paging_fail() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_proc_ss_paging_fail), 101); + vc_conn.done; +} + /* A5/1 only permitted on network side; attempt an invalid CIPHER MODE COMPLETE with A5/3 which MSC should reject. */ private function f_tc_cipher_complete_with_invalid_cipher(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -5399,6 +5458,7 @@ execute( TC_mt_ussd_for_unknown_subscr() ); execute( TC_proc_ss_for_unknown_session() ); + execute( TC_proc_ss_paging_fail() ); execute( TC_cipher_complete_with_invalid_cipher() ); execute( TC_cipher_complete_1_without_cipher() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1f53c56d569c8ac4071835685bbe3bc9e0ebd7f0 Gerrit-Change-Number: 14474 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 15 19:41:42 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 15 Jun 2019 19:41:42 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: inform HLR/EUSE if Paging has failed Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14475 Change subject: libmsc/gsm_09_11.c: inform HLR/EUSE if Paging has failed ...................................................................... libmsc/gsm_09_11.c: inform HLR/EUSE if Paging has failed Change-Id: Ie2ac06aadb18251310e0cfd85bb0d9865470aab7 Related: (TTCN-3) I1f53c56d569c8ac4071835685bbe3bc9e0ebd7f0 Related: OS#2931 --- M src/libmsc/gsm_09_11.c 1 file changed, 17 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/75/14475/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index a46207e..3bd90dd 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -297,9 +297,25 @@ /* Count established network-initiated NC SS/USSD sessions */ rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_NC_SS_MT_ESTABLISHED]); } else { + struct osmo_gsup_message gsup_msg; + LOG_MSC_A_CAT(msc_a, DSS, LOGL_DEBUG, "Paging expired\n"); - /* TODO: inform HLR about this failure */ + gsup_msg = (struct osmo_gsup_message){ + .message_class = OSMO_GSUP_MESSAGE_CLASS_USSD, + .message_type = OSMO_GSUP_MSGT_PROC_SS_ERROR, + + .session_state = OSMO_GSUP_SESSION_STATE_END, + .session_id = trans->callref, + /* FIXME: we need message class specific cause values */ + .cause = GMM_CAUSE_IMPL_DETACHED, + }; + + /* Fill in subscriber's IMSI */ + OSMO_STRLCPY_ARRAY(gsup_msg.imsi, trans->vsub->imsi); + + /* Inform HLR/EUSE about the failure */ + gsup_client_mux_tx(trans->net->gcm, &gsup_msg); msgb_free(trans->ss.msg); trans->ss.msg = NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie2ac06aadb18251310e0cfd85bb0d9865470aab7 Gerrit-Change-Number: 14475 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Jun 16 02:59:00 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Jun 2019 02:59:00 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d05b07deab9d_3a2e33a5f4395227@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 912s] | This file was extended by libosmocore config.status 1.1.0.68-a08e, which was [ 912s] | generated by GNU Autoconf 2.69. Invocation command line was [ 912s] | [ 912s] | CONFIG_FILES = [ 912s] | CONFIG_HEADERS = [ 912s] | CONFIG_LINKS = [ 912s] | CONFIG_COMMANDS = [ 912s] | $ ./config.status Doxyfile.core [ 912s] | [ 912s] | on obs-arm-5 [ 912s] | [ 912s] | config.status:1200: creating Doxyfile.core [ 912s] [ 912s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 912s] make[1]: *** [override_dh_auto_test] Error 1 [ 912s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 912s] debian/rules:15: recipe for target 'build' failed [ 912s] make: *** [build] Error 2 [ 912s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 912s] [ 912s] obs-arm-5 failed "build libosmocore_1.1.0.68.a08e.dsc" at Sun Jun 16 02:58:42 UTC 2019. [ 912s] [ 912s] ### VM INTERACTION START ### [ 915s] [ 881.264436] sysrq: SysRq : Power Off [ 915s] [ 881.280375] reboot: Power down [ 916s] ### VM INTERACTION END ### [ 916s] [ 916s] obs-arm-5 failed "build libosmocore_1.1.0.68.a08e.dsc" at Sun Jun 16 02:58:47 UTC 2019. [ 916s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Jun 16 05:11:00 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Jun 2019 05:11:00 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d05cf7124864_3a2e33a5f43966bd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 607s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 607s] ./src/common/bts.c:423: undefined reference to `lapdm_channel_init2' [ 607s] collect2: error: ld returned 1 exit status [ 607s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 607s] make[4]: *** [osmo-bts-virtual] Error 1 [ 607s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 607s] Makefile:385: recipe for target 'all-recursive' failed [ 607s] make[3]: *** [all-recursive] Error 1 [ 607s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 607s] Makefile:434: recipe for target 'all-recursive' failed [ 607s] make[2]: *** [all-recursive] Error 1 [ 607s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 607s] Makefile:366: recipe for target 'all' failed [ 607s] make[1]: *** [all] Error 2 [ 607s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 607s] dh_auto_build: make -j1 returned exit code 2 [ 607s] debian/rules:12: recipe for target 'build' failed [ 607s] make: *** [build] Error 2 [ 607s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 608s] [ 608s] armbuild15 failed "build osmo-bts_0.8.1.326.5a3e.dsc" at Sun Jun 16 05:10:40 UTC 2019. [ 608s] [ 608s] ### VM INTERACTION START ### [ 611s] [ 502.126050] sysrq: SysRq : Power Off [ 611s] [ 502.128587] reboot: Power down [ 611s] ### VM INTERACTION END ### [ 611s] [ 611s] armbuild15 failed "build osmo-bts_0.8.1.326.5a3e.dsc" at Sun Jun 16 05:10:44 UTC 2019. [ 611s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Jun 16 08:32:45 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Jun 2019 08:32:45 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_proc_ss_abort Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14476 Change subject: MSC_Tests.ttcn: introduce TC_proc_ss_abort ...................................................................... MSC_Tests.ttcn: introduce TC_proc_ss_abort This test case is aimed to verify HLR-/EUSE-initiated abort of an active SS/USSD session according to the following scenario: 1. (HLR/EUSE -> MSC) GSUP_PROC_SS_REQ with random facility; 2. Network-originated connection establishment: 2.a. (MSC -> BSC -> MS) Paging Request; 2.b. ... 2.c. (MS -> BSC -> MSC) Paging Response; 3. (MSC -> MS) GSM 04.80 REGISTER with random facility; 4. (HLR/EUSE -> MSC) GSUP_PROC_SS_ERR (abort); 5. (MSC -> MS) GSM 04.80 RELEASE COMPLETE; 6. Connection release. As can be seen, HLR/EUSE initiates the session abort right after the GSM 04.80 REGISTER message is delivered to the MS, and just before the MS sends anything back in response. Change-Id: I5586a88136c936441a842f49248824680603672e Related: OS#2931 --- M msc/MSC_Tests.ttcn 1 file changed, 86 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/76/14476/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index b5a3ba7..b0834a4 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3608,6 +3608,91 @@ vc_conn.done; } +/* MT (network-originated) USSD followed by immediate abort */ +friend function f_tc_proc_ss_abort(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + var octetstring facility := f_rnd_octstring(23); + var OCT4 sid := '20000555'O; + timer TP := 2.0; + + f_init_handler(pars); + + /* Perform location update */ + f_perform_lu(); + + f_ran_register_imsi(g_pars.imsi, 'FFFFFFFF'O); + f_create_gsup_expect(hex2str(g_pars.imsi)); + + /* PROC_SS_REQ initiates a mobile-originated SS/USSD session */ + var template (value) GSUP_PDU gsup_req := ts_GSUP_PROC_SS_REQ( + imsi := g_pars.imsi, sid := sid, + state := OSMO_GSUP_SESSION_STATE_BEGIN, + ss := facility + ); + + /* On the MS side, we expect GSM 04.80 REGISTER message */ + var template PDU_ML3_NW_MS dtap_reg := tr_ML3_MT_SS_REGISTER( + tid := 0, /* Most likely, it should be 0 */ + ti_flag := c_TIF_ORIG, /* Sent from the side that originates the TI */ + facility := facility + ); + + /* PROC_SS_ERR with SESSION_STATE_END terminates the SS/USSD session */ + var template (value) GSUP_PDU gsup_abort := ts_GSUP_PROC_SS_ERR( + imsi := g_pars.imsi, sid := sid, + state := OSMO_GSUP_SESSION_STATE_END, + cause := 0 /* FIXME: introduce an enumerated type! */ + ); + + /* On the MS side, we expect GSM 04.80 REGISTER message */ + var template PDU_ML3_NW_MS dtap_rel := tr_ML3_MT_SS_RELEASE_COMPLETE( + tid := 0, /* Most likely, it should be 0 */ + ti_flag := c_TIF_ORIG, /* Sent from the side that originates the TI */ + cause := *, /* FIXME: expect some specific cause value */ + facility := omit + ); + + /* Initiate a MT USSD with random payload */ + GSUP.send(gsup_req); + + /* Expect Paging Request */ + TP.start; + alt { + [pars.ran_is_geran] BSSAP.receive(tr_BSSMAP_Paging(g_pars.imsi)) { + setverdict(pass); + } + [not pars.ran_is_geran] BSSAP.receive(tr_RANAP_Paging(cs_domain, imsi_hex2oct(g_pars.imsi))) { + setverdict(pass); + } + /* We don't expect anything else */ + [] as_unexp_gsup_or_bssap_msg(); + [] TP.timeout { + setverdict(fail, "Timeout waiting for Paging Request"); + } + } + + /* Send Paging Response and establish connection */ + f_establish_fully(EST_TYPE_PAG_RESP); + /* Expect MT REGISTER message with random facility */ + f_expect_mt_dtap_msg(dtap_reg); + + /* HLR/EUSE decides to abort the session even + * before getting any response from the MS */ + /* Initiate a MT USSD with random payload */ + GSUP.send(gsup_abort); + + /* Expect RELEASE COMPLETE on ths MS side */ + f_expect_mt_dtap_msg(dtap_rel); + + f_expect_clear(); +} +testcase TC_proc_ss_abort() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_proc_ss_abort), 102); + vc_conn.done; +} + /* A5/1 only permitted on network side; attempt an invalid CIPHER MODE COMPLETE with A5/3 which MSC should reject. */ private function f_tc_cipher_complete_with_invalid_cipher(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -5459,6 +5544,7 @@ execute( TC_mt_ussd_for_unknown_subscr() ); execute( TC_proc_ss_for_unknown_session() ); execute( TC_proc_ss_paging_fail() ); + execute( TC_proc_ss_abort() ); execute( TC_cipher_complete_with_invalid_cipher() ); execute( TC_cipher_complete_1_without_cipher() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5586a88136c936441a842f49248824680603672e Gerrit-Change-Number: 14476 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 16 08:40:53 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 16 Jun 2019 08:40:53 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14477 Change subject: libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR ...................................................................... libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR This message can be used by the HLR/EUSE to indicate that something went wrong, e.g. the connection with EUSE is lost, EUSE or the MS did not respond in time, etc. OsmoMSC needs to release the SS/USSD transaction, and send GSM 04.80 RELEASE COMPLETE message to the MS if there is an active RAN connection. Change-Id: I076d12ef24d7320eda1df1ee4588da7375ef3d9e Related: (TTCN-3) I5586a88136c936441a842f49248824680603672e Related: OS#2931 --- M src/libmsc/gsm_09_11.c 1 file changed, 25 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/77/14477/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 3bd90dd..c76d2e8 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -437,14 +437,36 @@ /* Associate logging messages with this subscriber */ log_set_context(LOG_CTX_VLR_SUBSCR, vsub); + /* Attempt to find DTAP-transaction */ + trans = trans_find_by_callref(net, gsup_msg->session_id); + /* Handle errors */ if (OSMO_GSUP_IS_MSGT_ERROR(gsup_msg->message_type)) { - /* FIXME: handle this error somehow! */ + LOGP(DSS, LOGL_NOTICE, "Rx %s from HLR/EUSE (cause=0x%02x, sid=0x%x)\n", + osmo_gsup_message_type_name(gsup_msg->message_type), + gsup_msg->cause, gsup_msg->session_id); + + if (!trans) { + LOGP(DSS, LOGL_ERROR, "No transaction found for " + "sid=0x%x, nothing to abort\n", gsup_msg->session_id); + return -EAGAIN; + } + + LOG_TRANS(trans, LOGL_NOTICE, "Aborting the session: sending RELEASE COMPLETE\n"); + + /* Indicate connection release to subscriber (if active) */ + if (trans->msc_a != NULL) { + /* TODO: implement GSUP - GSM 04.80 cause mapping */ + msc_send_ussd_release_complete_cause(trans->msc_a, trans->transaction_id, + GSM48_CAUSE_LOC_PUN_S_LU, GSM48_CC_CAUSE_TEMP_FAILURE); + } + + /* Terminate transaction */ + trans_free(trans); + return 0; } - /* Attempt to find DTAP-transaction */ - trans = trans_find_by_callref(net, gsup_msg->session_id); 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]); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I076d12ef24d7320eda1df1ee4588da7375ef3d9e Gerrit-Change-Number: 14477 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 16 08:57:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Jun 2019 08:57:32 +0000 Subject: Change in ...libosmocore[master]: cbsp: Introduce osmo_cbsp_errstr Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14478 Change subject: cbsp: Introduce osmo_cbsp_errstr ...................................................................... cbsp: Introduce osmo_cbsp_errstr Rather than having the encoder/decoder library print some log messages in case of encoding/decoding errors, let's provide something akin to 'errno', but with a string instead of a numeric error code. The 'osmo_cbsp_errstr' global variable (if set) contains a human-readable string describing the most recent encoding/decoding error. It exists separately for each thread and hence can be used safely in multi-threaded environments. Change-Id: Id9a5a595a76ba278647aee9470ded213d8464103 --- M include/osmocom/gsm/cbsp.h M src/gsm/cbsp.c M src/gsm/libosmogsm.map 3 files changed, 102 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/78/14478/1 diff --git a/include/osmocom/gsm/cbsp.h b/include/osmocom/gsm/cbsp.h index 7e5cc64..6be60eb 100644 --- a/include/osmocom/gsm/cbsp.h +++ b/include/osmocom/gsm/cbsp.h @@ -258,6 +258,8 @@ } u; }; +extern const __thread char *osmo_cbsp_errstr; + struct msgb *osmo_cbsp_msgb_alloc(void *ctx, const char *name); struct msgb *osmo_cbsp_encode(void *ctx, const struct osmo_cbsp_decoded *in); struct osmo_cbsp_decoded *osmo_cbsp_decode(void *ctx, struct msgb *in); diff --git a/src/gsm/cbsp.c b/src/gsm/cbsp.c index f371500..0311f56 100644 --- a/src/gsm/cbsp.c +++ b/src/gsm/cbsp.c @@ -32,6 +32,8 @@ #include #include +const __thread char *osmo_cbsp_errstr; + struct msgb *osmo_cbsp_msgb_alloc(void *ctx, const char *name) { /* make the messages rather large as the cell lists can be long! */ @@ -133,6 +135,7 @@ return (secs-120)/10; if (secs <= 60*60) return (secs-600)/30; + osmo_cbsp_errstr = "warning period out of range"; return -1; } @@ -151,8 +154,10 @@ if (in->is_cbs) { int num_of_pages = llist_count(&in->u.cbs.msg_content); struct osmo_cbsp_content *ce; - if (num_of_pages == 0 || num_of_pages > 15) + if (num_of_pages == 0 || num_of_pages > 15) { + osmo_cbsp_errstr = "invalid number of pages"; return -EINVAL; + } msgb_tv_put(msg, CBSP_IEI_CHANNEL_IND, in->u.cbs.channel_ind); msgb_tv_put(msg, CBSP_IEI_CATEGORY, in->u.cbs.category); msgb_tv16_put(msg, CBSP_IEI_REP_PERIOD, in->u.cbs.rep_period); @@ -383,6 +388,8 @@ unsigned int len; int rc; + osmo_cbsp_errstr = NULL; + if (!msg) return NULL; @@ -450,9 +457,11 @@ case CBSP_MSGT_SET_DRX: case CBSP_MSGT_SET_DRX_COMPL: case CBSP_MSGT_SET_DRX_FAIL: + osmo_cbsp_errstr = "message type not implemented"; rc = -1; break; default: + osmo_cbsp_errstr = "message type not known in spec"; rc = -1; break; } @@ -490,8 +499,10 @@ unsigned int len_remain = len - (cur - buf); OSMO_ASSERT(ent); rc = gsm0808_decode_cell_id_u(&ent->cell_id, cl->id_discr, cur, len_remain); - if (rc < 0) + if (rc < 0) { + osmo_cbsp_errstr = "cell list: error decoding cell_id_union"; return rc; + } cur += rc; llist_add_tail(&ent->list, &cl->list); } @@ -511,8 +522,10 @@ OSMO_ASSERT(ent); ent->id_discr = cur[0]; rc = gsm0808_decode_cell_id_u(&ent->cell_id, ent->id_discr, cur+1, len_remain-1); - if (rc < 0) + if (rc < 0) { + osmo_cbsp_errstr = "fail list: error decoding cell_id_union"; return rc; + } cur += rc; ent->cause = *cur++; llist_add_tail(&ent->list, fl); @@ -533,11 +546,14 @@ unsigned int len_remain = len - (cur - buf); OSMO_ASSERT(ent); rc = gsm0808_decode_cell_id_u(&ent->cell_id, ll->id_discr, cur, len_remain); - if (rc < 0) + if (rc < 0) { + osmo_cbsp_errstr = "load list: error decoding cell_id_union"; return rc; + } cur += rc; if (cur + 2 > buf + len) { talloc_free(ent); + osmo_cbsp_errstr = "load list: truncated IE"; return -EINVAL; } ent->load[0] = *cur++; @@ -560,11 +576,14 @@ unsigned int len_remain = len - (cur - buf); OSMO_ASSERT(ent); rc = gsm0808_decode_cell_id_u(&ent->cell_id, cl->id_discr, cur, len_remain); - if (rc < 0) + if (rc < 0) { + osmo_cbsp_errstr = "completed list: error decoding cell_id_union"; return rc; + } cur += rc; if (cur + 3 > buf + len) { talloc_free(ent); + osmo_cbsp_errstr = "completed list: truncated IE"; return -EINVAL; } ent->num_compl = osmo_load16be(cur); cur += 2; @@ -607,8 +626,10 @@ /* check for mandatory IEs */ if (!TLVP_PRESENT(tp, CBSP_IEI_MSG_ID) || !TLVP_PRESENT(tp, CBSP_IEI_NEW_SERIAL_NR) || - !TLVP_PRESENT(tp, CBSP_IEI_CELL_LIST)) + !TLVP_PRESENT(tp, CBSP_IEI_CELL_LIST)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); out->new_serial_nr = tlvp_val16be(tp, CBSP_IEI_NEW_SERIAL_NR); @@ -624,14 +645,18 @@ if (TLVP_PRESENT(tp, CBSP_IEI_CHANNEL_IND)) { uint8_t num_of_pages; INIT_LLIST_HEAD(&out->u.cbs.msg_content); - if (TLVP_PRESENT(tp, CBSP_IEI_EMERG_IND)) + if (TLVP_PRESENT(tp, CBSP_IEI_EMERG_IND)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } if (!TLVP_PRESENT(tp, CBSP_IEI_CATEGORY) || !TLVP_PRESENT(tp, CBSP_IEI_REP_PERIOD) || !TLVP_PRESENT(tp, CBSP_IEI_NUM_BCAST_REQ) || !TLVP_PRESENT(tp, CBSP_IEI_NUM_OF_PAGES) || - !TLVP_PRESENT(tp, CBSP_IEI_DCS)) + !TLVP_PRESENT(tp, CBSP_IEI_DCS)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } out->is_cbs = true; out->u.cbs.channel_ind = *TLVP_VAL(tp, CBSP_IEI_CHANNEL_IND); out->u.cbs.category = *TLVP_VAL(tp, CBSP_IEI_CATEGORY); @@ -644,8 +669,10 @@ for (i = 0; i < num_of_pages; i++) { const uint8_t *ie = TLVP_VAL(&tp[i], CBSP_IEI_MSG_CONTENT); struct osmo_cbsp_content *page; - if (!ie) + if (!ie) { + osmo_cbsp_errstr = "insufficient message content IEs"; return -EINVAL; + } page = talloc_zero(ctx, struct osmo_cbsp_content); OSMO_ASSERT(page); page->user_len = *(ie-1); /* length byte before payload */ @@ -656,8 +683,10 @@ if (!TLVP_PRES_LEN(tp, CBSP_IEI_EMERG_IND, 1) || !TLVP_PRES_LEN(tp, CBSP_IEI_WARN_TYPE, 2) || !TLVP_PRES_LEN(tp, CBSP_IEI_WARN_SEC_INFO, 50) || - !TLVP_PRES_LEN(tp, CBSP_IEI_WARNING_PERIOD, 1)) + !TLVP_PRES_LEN(tp, CBSP_IEI_WARNING_PERIOD, 1)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } out->u.emergency.indicator = *TLVP_VAL(tp, CBSP_IEI_EMERG_IND); out->u.emergency.warning_type = tlvp_val16be(tp, CBSP_IEI_WARN_TYPE); memcpy(&out->u.emergency.warning_sec_info, TLVP_VAL(tp, CBSP_IEI_WARN_SEC_INFO), @@ -672,8 +701,10 @@ const struct tlv_parsed *tp, struct msgb *in, void *ctx) { if (!TLVP_PRES_LEN(tp, CBSP_IEI_MSG_ID, 2) || - !TLVP_PRES_LEN(tp, CBSP_IEI_NEW_SERIAL_NR, 2)) + !TLVP_PRES_LEN(tp, CBSP_IEI_NEW_SERIAL_NR, 2)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); out->new_serial_nr = tlvp_val16be(tp, CBSP_IEI_NEW_SERIAL_NR); @@ -706,8 +737,10 @@ { if (!TLVP_PRES_LEN(tp, CBSP_IEI_MSG_ID, 2) || !TLVP_PRES_LEN(tp, CBSP_IEI_NEW_SERIAL_NR, 2) || - !TLVP_PRES_LEN(tp, CBSP_IEI_FAILURE_LIST, 5)) + !TLVP_PRES_LEN(tp, CBSP_IEI_FAILURE_LIST, 5)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); out->new_serial_nr = tlvp_val16be(tp, CBSP_IEI_NEW_SERIAL_NR); @@ -747,8 +780,11 @@ { if (!TLVP_PRES_LEN(tp, CBSP_IEI_MSG_ID, 2) || !TLVP_PRES_LEN(tp, CBSP_IEI_OLD_SERIAL_NR, 2) || - !TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1)) + !TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } + out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); out->old_serial_nr = tlvp_val16be(tp, CBSP_IEI_OLD_SERIAL_NR); @@ -769,8 +805,10 @@ { if (!TLVP_PRES_LEN(tp, CBSP_IEI_MSG_ID, 2) || !TLVP_PRES_LEN(tp, CBSP_IEI_OLD_SERIAL_NR, 2) || - !TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1)) + !TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); out->old_serial_nr = tlvp_val16be(tp, CBSP_IEI_OLD_SERIAL_NR); @@ -799,8 +837,10 @@ { if (!TLVP_PRES_LEN(tp, CBSP_IEI_MSG_ID, 2) || !TLVP_PRES_LEN(tp, CBSP_IEI_OLD_SERIAL_NR, 2) || - !TLVP_PRES_LEN(tp, CBSP_IEI_FAILURE_LIST, 5)) + !TLVP_PRES_LEN(tp, CBSP_IEI_FAILURE_LIST, 5)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); out->old_serial_nr = tlvp_val16be(tp, CBSP_IEI_OLD_SERIAL_NR); @@ -835,8 +875,10 @@ struct msgb *in, void *ctx) { if (!TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1) || - !TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) + !TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } INIT_LLIST_HEAD(&out->cell_list.list); cbsp_decode_cell_list(&out->cell_list, ctx, TLVP_VAL(tp, CBSP_IEI_CELL_LIST), @@ -851,8 +893,10 @@ const struct tlv_parsed *tp, struct msgb *in, void *ctx) { if (!TLVP_PRES_LEN(tp, CBSP_IEI_RR_LOADING_LIST, 6) || - !TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) + !TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } INIT_LLIST_HEAD(&out->loading_list.list); cbsp_decode_loading_list(&out->loading_list, ctx, @@ -868,8 +912,10 @@ const struct tlv_parsed *tp, struct msgb *in, void *ctx) { if (!TLVP_PRES_LEN(tp, CBSP_IEI_FAILURE_LIST, 5) || - !TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) + !TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } INIT_LLIST_HEAD(&out->fail_list); cbsp_decode_fail_list(&out->fail_list, ctx, @@ -894,8 +940,11 @@ if (!TLVP_PRES_LEN(tp, CBSP_IEI_MSG_ID, 2) || !TLVP_PRES_LEN(tp, CBSP_IEI_OLD_SERIAL_NR, 2) || !TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1) || - !TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) + !TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } + out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); out->old_serial_nr = tlvp_val16be(tp, CBSP_IEI_OLD_SERIAL_NR); @@ -914,8 +963,10 @@ if (!TLVP_PRES_LEN(tp, CBSP_IEI_MSG_ID, 2) || !TLVP_PRES_LEN(tp, CBSP_IEI_OLD_SERIAL_NR, 2) || !TLVP_PRES_LEN(tp, CBSP_IEI_NUM_BCAST_COMPL_LIST, 7) || - !TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) + !TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); out->old_serial_nr = tlvp_val16be(tp, CBSP_IEI_OLD_SERIAL_NR); @@ -935,8 +986,10 @@ if (!TLVP_PRES_LEN(tp, CBSP_IEI_MSG_ID, 2) || !TLVP_PRES_LEN(tp, CBSP_IEI_OLD_SERIAL_NR, 2) || !TLVP_PRES_LEN(tp, CBSP_IEI_FAILURE_LIST, 5) || - !TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) + !TLVP_PRES_LEN(tp, CBSP_IEI_CHANNEL_IND, 1)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } out->msg_id = tlvp_val16be(tp, CBSP_IEI_MSG_ID); out->old_serial_nr = tlvp_val16be(tp, CBSP_IEI_OLD_SERIAL_NR); @@ -961,8 +1014,10 @@ static int cbsp_dec_reset(struct osmo_cbsp_reset *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx) { - if (!TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1)) + if (!TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } INIT_LLIST_HEAD(&out->cell_list.list); cbsp_decode_cell_list(&out->cell_list, ctx, TLVP_VAL(tp, CBSP_IEI_CELL_LIST), @@ -974,8 +1029,10 @@ static int cbsp_dec_reset_compl(struct osmo_cbsp_reset_complete *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx) { - if (!TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1)) + if (!TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } INIT_LLIST_HEAD(&out->cell_list.list); cbsp_decode_cell_list(&out->cell_list, ctx, TLVP_VAL(tp, CBSP_IEI_CELL_LIST), @@ -987,8 +1044,10 @@ static int cbsp_dec_reset_fail(struct osmo_cbsp_reset_failure *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx) { - if (!TLVP_PRES_LEN(tp, CBSP_IEI_FAILURE_LIST, 5)) + if (!TLVP_PRES_LEN(tp, CBSP_IEI_FAILURE_LIST, 5)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } INIT_LLIST_HEAD(&out->fail_list); cbsp_decode_fail_list(&out->fail_list, ctx, @@ -1007,8 +1066,10 @@ static int cbsp_dec_keep_alive(struct osmo_cbsp_keep_alive *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx) { - if (!TLVP_PRES_LEN(tp, CBSP_IEI_KEEP_ALIVE_REP_PERIOD, 1)) + if (!TLVP_PRES_LEN(tp, CBSP_IEI_KEEP_ALIVE_REP_PERIOD, 1)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } out->repetition_period = *TLVP_VAL(tp, CBSP_IEI_KEEP_ALIVE_REP_PERIOD); return 0; @@ -1027,8 +1088,10 @@ { if (!TLVP_PRES_LEN(tp, CBSP_IEI_CELL_LIST, 1) || !TLVP_PRES_LEN(tp, CBSP_IEI_BCAST_MSG_TYPE, 1) || - !TLVP_PRES_LEN(tp, CBSP_IEI_RECOVERY_IND, 1)) + !TLVP_PRES_LEN(tp, CBSP_IEI_RECOVERY_IND, 1)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } INIT_LLIST_HEAD(&out->cell_list.list); cbsp_decode_cell_list(&out->cell_list, ctx, TLVP_VAL(tp, CBSP_IEI_CELL_LIST), @@ -1044,8 +1107,10 @@ struct msgb *in, void *ctx) { if (!TLVP_PRES_LEN(tp, CBSP_IEI_FAILURE_LIST, 5) || - !TLVP_PRES_LEN(tp, CBSP_IEI_BCAST_MSG_TYPE, 1)) + !TLVP_PRES_LEN(tp, CBSP_IEI_BCAST_MSG_TYPE, 1)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } INIT_LLIST_HEAD(&out->fail_list); cbsp_decode_fail_list(&out->fail_list, ctx, @@ -1060,8 +1125,10 @@ static int cbsp_dec_error_ind(struct osmo_cbsp_error_ind *out, const struct tlv_parsed *tp, struct msgb *in, void *ctx) { - if (!TLVP_PRES_LEN(tp, CBSP_IEI_CAUSE, 1)) + if (!TLVP_PRES_LEN(tp, CBSP_IEI_CAUSE, 1)) { + osmo_cbsp_errstr = "missing/short mandatory IE"; return -EINVAL; + } out->cause = *TLVP_VAL(tp, CBSP_IEI_CAUSE); if (TLVP_PRES_LEN(tp, CBSP_IEI_MSG_ID, 2)) { @@ -1095,6 +1162,8 @@ unsigned int len; int rc; + osmo_cbsp_errstr = NULL; + if (!out) return NULL; @@ -1182,9 +1251,11 @@ case CBSP_MSGT_SET_DRX: case CBSP_MSGT_SET_DRX_COMPL: case CBSP_MSGT_SET_DRX_FAIL: + osmo_cbsp_errstr = "message type not implemented"; rc = -1; break; default: + osmo_cbsp_errstr = "message type not known in spec"; rc = -1; break; } diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index eefcf61..ea1f759 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -656,6 +656,7 @@ osmo_cbsp_encode; osmo_cbsp_decode; osmo_cbsp_recv_buffered; +osmo_cbsp_errstr; local: *; }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id9a5a595a76ba278647aee9470ded213d8464103 Gerrit-Change-Number: 14478 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 16 09:00:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Jun 2019 09:00:08 +0000 Subject: Change in ...osmo-msc[master]: libmsc/msc_net_init.c: pass pointer to gsm_network directly In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14467 ) Change subject: libmsc/msc_net_init.c: pass pointer to gsm_network directly ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I122d2880b356997c60df5f0cf4f5ecb3abb2e672 Gerrit-Change-Number: 14467 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 16 Jun 2019 09:00:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 16 09:00:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Jun 2019 09:00:32 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: inform HLR/EUSE if Paging has failed In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14475 ) Change subject: libmsc/gsm_09_11.c: inform HLR/EUSE if Paging has failed ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie2ac06aadb18251310e0cfd85bb0d9865470aab7 Gerrit-Change-Number: 14475 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 16 Jun 2019 09:00: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 16 09:01:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Jun 2019 09:01:12 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14477 ) Change subject: libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I076d12ef24d7320eda1df1ee4588da7375ef3d9e Gerrit-Change-Number: 14477 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 16 Jun 2019 09:01:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Jun 16 10:48:13 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Jun 2019 10:48:13 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcap in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5d061e889d45a_3a2e33a5f44191ee@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcap/xUbuntu_18.04/i586 Package network:osmocom:nightly/osmo-pcap failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcap Last lines of build log: [ 37s] Processing triggers for mime-support (3.60ubuntu1) ... [ 37s] [167/213] installing grep-3.1-2 [ 37s] Processing triggers for install-info (6.5.0.dfsg.1-2) ... [ 37s] [168/213] installing nettle-dev-3.4-1 [ 38s] Processing triggers for install-info (6.5.0.dfsg.1-2) ... [ 38s] [169/213] installing g++-7-7.3.0-16ubuntu3 [ 39s] [170/213] installing gettext-0.19.8.1-6 [ 39s] Processing triggers for libc-bin (2.27-3ubuntu1) ... [ 39s] Processing triggers for install-info (6.5.0.dfsg.1-2) ... [ 39s] [171/213] installing tzdata-2018d-1 [ 40s] Current default time zone: 'Etc/UTC' [ 40s] Local time is now: Sun Jun 16 02:47:54 UTC 2019. [ 40s] Universal Time is now: Sun Jun 16 02:47:54 UTC 2019. [ 40s] Run 'dpkg-reconfigure tzdata' if you wish to change it. [ 40s] [172/213] installing libssl1.1-1.1.0g-2ubuntu4 [ 40s] Processing triggers for libc-bin (2.27-3ubuntu1) ... [ 40s] [173/213] installing locales-2.27-3ubuntu1 [ 41s] Generating locales (this might take a while)... [ 41s] Generation complete. [ 41s] [174/213] installing flex-2.6.4-6 [ 41s] Processing triggers for install-info (6.5.0.dfsg.1-2) ... [ 41s] [175/213] installing libpam0g-1.1.8-3.6ubuntu2 [28842s] qemu-system-x86_64: terminating on signal 15 from pid 11058 () Job seems to be stuck here, killed. (after 28800 seconds of inactivity) [28842s] ### VM INTERACTION END ### [28842s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [28842s] or the build host has a kernel or hardware problem... -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Jun 16 12:01:39 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Jun 2019 12:01:39 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d062fa81baa4_3a2e33a5f4420279@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 724s] | configure:12572: checking execinfo.h usability [ 724s] | configure:12572: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 724s] | configure:12572: $? = 0 [ 724s] | configure:12572: result: yes [ 724s] | configure:12572: checking execinfo.h presence [ 724s] | configure:12572: gcc -E -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c [ 724s] | configure:12572: $? = 0 [ 724s] | configure:12572: result: yes [ 724s] | configure:12572: checking for execinfo.h [ 724s] | configure:12572: result: yes [ 724s] | configure:12572: checking sys/select.h usability [ 724s] | configure:12572: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 724s] | configure:12572: $? = 0 [ 724s] | configure:12572: result: yes [ 724s] | configure:12572: checking sys/select.h presence [ 724s] | configure:12572: gcc -E -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c [ 724s] | configure:12572: $? = 0 [ 724s] | configure:12572: result: yes [ 724s] | configure:12572: checking for sys/select.h [ 724s] | configure:12572: result: yes [ 724s] | configure:12572: checking sys/socket.h usability [ 724s] | configure:12572: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 724s] | configure:12572: $? = 0 [ 726s] | configure:12[ 681.194996] sysrq: SysRq : Power Off [ 726s] [ 681.197198] reboot: Power down [ 726s] ### VM INTERACTION END ### [ 726s] [ 726s] armbuild13 failed "build libosmocore_1.1.0.68.a08e.dsc" at Sun Jun 16 12:01:25 UTC 2019. [ 726s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Jun 16 17:17:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Jun 2019 17:17:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_proc_ss_paging_fail In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14474 ) Change subject: MSC_Tests.ttcn: introduce TC_proc_ss_paging_fail ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1f53c56d569c8ac4071835685bbe3bc9e0ebd7f0 Gerrit-Change-Number: 14474 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 16 Jun 2019 17:17:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 16 17:18:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Jun 2019 17:18:03 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_proc_ss_abort In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14476 ) Change subject: MSC_Tests.ttcn: introduce TC_proc_ss_abort ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5586a88136c936441a842f49248824680603672e Gerrit-Change-Number: 14476 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 16 Jun 2019 17:18:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 16 17:18:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Jun 2019 17:18:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_proc_ss_paging_fail In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14474 ) Change subject: MSC_Tests.ttcn: introduce TC_proc_ss_paging_fail ...................................................................... MSC_Tests.ttcn: introduce TC_proc_ss_paging_fail The idea of this test case is to check that OsmoMSC does inform HLR/EUSE that a subscriber did not respond to Paging Request in case of network-originated SS/USSD. Both f_expect_gsup_msg() and f_expect_dtap_msg() were extended with optional timeout value, as we need to wait longer than 2.0 seconds (default). Let's stick to 10.0 seconds. Change-Id: I1f53c56d569c8ac4071835685bbe3bc9e0ebd7f0 Related: OS#2931 --- M msc/MSC_Tests.ttcn 1 file changed, 64 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index f9b2d03..b5a3ba7 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -2817,10 +2817,11 @@ } } -private function f_expect_gsup_msg(template GSUP_PDU msg) +private function f_expect_gsup_msg(template GSUP_PDU msg, + float T_val := 2.0) runs on BSC_ConnHdlr return GSUP_PDU { var GSUP_PDU gsup_msg_complete; - timer T := 2.0; + timer T := T_val; T.start; alt { @@ -2837,10 +2838,11 @@ return gsup_msg_complete; } -private function f_expect_mt_dtap_msg(template PDU_ML3_NW_MS msg) +private function f_expect_mt_dtap_msg(template PDU_ML3_NW_MS msg, + float T_val := 2.0) runs on BSC_ConnHdlr return PDU_ML3_NW_MS { var PDU_DTAP_MT bssap_msg_complete; - timer T := 2.0; + timer T := T_val; T.start; alt { @@ -3549,6 +3551,63 @@ vc_conn.done; } +/* MT (network-originated) USSD and no response to Paging Request */ +friend function f_tc_proc_ss_paging_fail(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + timer TP := 2.0; /* Paging timer */ + + f_init_handler(pars); + + /* Perform location update */ + f_perform_lu(); + + f_ran_register_imsi(g_pars.imsi, 'FFFFFFFF'O); + f_create_gsup_expect(hex2str(g_pars.imsi)); + + var template (value) GSUP_PDU gsup_req := ts_GSUP_PROC_SS_REQ( + imsi := g_pars.imsi, + sid := '20000444'O, + state := OSMO_GSUP_SESSION_STATE_BEGIN, + ss := f_rnd_octstring(23) + ); + + /* Error with some cause value */ + var template GSUP_PDU gsup_rsp := tr_GSUP_PROC_SS_ERR( + imsi := g_pars.imsi, + sid := '20000444'O, + state := OSMO_GSUP_SESSION_STATE_END, + cause := ? /* FIXME: introduce an enumerated type! */ + ); + + /* Initiate a MT USSD notification */ + GSUP.send(gsup_req); + + /* Send it to MSC and expect Paging Request */ + TP.start; + alt { + [pars.ran_is_geran] BSSAP.receive(tr_BSSMAP_Paging(g_pars.imsi)) { + setverdict(pass); + } + [not pars.ran_is_geran] BSSAP.receive(tr_RANAP_Paging(cs_domain, imsi_hex2oct(g_pars.imsi))) { + setverdict(pass); + } + /* We don't expect anything else */ + [] as_unexp_gsup_or_bssap_msg(); + [] TP.timeout { + setverdict(fail, "Timeout waiting for Paging Request"); + } + } + + /* Expect GSUP PROC_SS_ERROR message */ + f_expect_gsup_msg(gsup_rsp, T_val := 10.0); +} +testcase TC_proc_ss_paging_fail() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_proc_ss_paging_fail), 101); + vc_conn.done; +} + /* A5/1 only permitted on network side; attempt an invalid CIPHER MODE COMPLETE with A5/3 which MSC should reject. */ private function f_tc_cipher_complete_with_invalid_cipher(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -5399,6 +5458,7 @@ execute( TC_mt_ussd_for_unknown_subscr() ); execute( TC_proc_ss_for_unknown_session() ); + execute( TC_proc_ss_paging_fail() ); execute( TC_cipher_complete_with_invalid_cipher() ); execute( TC_cipher_complete_1_without_cipher() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1f53c56d569c8ac4071835685bbe3bc9e0ebd7f0 Gerrit-Change-Number: 14474 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 Sun Jun 16 17:18:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Jun 2019 17:18:05 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_proc_ss_abort In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14476 ) Change subject: MSC_Tests.ttcn: introduce TC_proc_ss_abort ...................................................................... MSC_Tests.ttcn: introduce TC_proc_ss_abort This test case is aimed to verify HLR-/EUSE-initiated abort of an active SS/USSD session according to the following scenario: 1. (HLR/EUSE -> MSC) GSUP_PROC_SS_REQ with random facility; 2. Network-originated connection establishment: 2.a. (MSC -> BSC -> MS) Paging Request; 2.b. ... 2.c. (MS -> BSC -> MSC) Paging Response; 3. (MSC -> MS) GSM 04.80 REGISTER with random facility; 4. (HLR/EUSE -> MSC) GSUP_PROC_SS_ERR (abort); 5. (MSC -> MS) GSM 04.80 RELEASE COMPLETE; 6. Connection release. As can be seen, HLR/EUSE initiates the session abort right after the GSM 04.80 REGISTER message is delivered to the MS, and just before the MS sends anything back in response. Change-Id: I5586a88136c936441a842f49248824680603672e Related: OS#2931 --- M msc/MSC_Tests.ttcn 1 file changed, 86 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index b5a3ba7..b0834a4 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3608,6 +3608,91 @@ vc_conn.done; } +/* MT (network-originated) USSD followed by immediate abort */ +friend function f_tc_proc_ss_abort(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + var octetstring facility := f_rnd_octstring(23); + var OCT4 sid := '20000555'O; + timer TP := 2.0; + + f_init_handler(pars); + + /* Perform location update */ + f_perform_lu(); + + f_ran_register_imsi(g_pars.imsi, 'FFFFFFFF'O); + f_create_gsup_expect(hex2str(g_pars.imsi)); + + /* PROC_SS_REQ initiates a mobile-originated SS/USSD session */ + var template (value) GSUP_PDU gsup_req := ts_GSUP_PROC_SS_REQ( + imsi := g_pars.imsi, sid := sid, + state := OSMO_GSUP_SESSION_STATE_BEGIN, + ss := facility + ); + + /* On the MS side, we expect GSM 04.80 REGISTER message */ + var template PDU_ML3_NW_MS dtap_reg := tr_ML3_MT_SS_REGISTER( + tid := 0, /* Most likely, it should be 0 */ + ti_flag := c_TIF_ORIG, /* Sent from the side that originates the TI */ + facility := facility + ); + + /* PROC_SS_ERR with SESSION_STATE_END terminates the SS/USSD session */ + var template (value) GSUP_PDU gsup_abort := ts_GSUP_PROC_SS_ERR( + imsi := g_pars.imsi, sid := sid, + state := OSMO_GSUP_SESSION_STATE_END, + cause := 0 /* FIXME: introduce an enumerated type! */ + ); + + /* On the MS side, we expect GSM 04.80 REGISTER message */ + var template PDU_ML3_NW_MS dtap_rel := tr_ML3_MT_SS_RELEASE_COMPLETE( + tid := 0, /* Most likely, it should be 0 */ + ti_flag := c_TIF_ORIG, /* Sent from the side that originates the TI */ + cause := *, /* FIXME: expect some specific cause value */ + facility := omit + ); + + /* Initiate a MT USSD with random payload */ + GSUP.send(gsup_req); + + /* Expect Paging Request */ + TP.start; + alt { + [pars.ran_is_geran] BSSAP.receive(tr_BSSMAP_Paging(g_pars.imsi)) { + setverdict(pass); + } + [not pars.ran_is_geran] BSSAP.receive(tr_RANAP_Paging(cs_domain, imsi_hex2oct(g_pars.imsi))) { + setverdict(pass); + } + /* We don't expect anything else */ + [] as_unexp_gsup_or_bssap_msg(); + [] TP.timeout { + setverdict(fail, "Timeout waiting for Paging Request"); + } + } + + /* Send Paging Response and establish connection */ + f_establish_fully(EST_TYPE_PAG_RESP); + /* Expect MT REGISTER message with random facility */ + f_expect_mt_dtap_msg(dtap_reg); + + /* HLR/EUSE decides to abort the session even + * before getting any response from the MS */ + /* Initiate a MT USSD with random payload */ + GSUP.send(gsup_abort); + + /* Expect RELEASE COMPLETE on ths MS side */ + f_expect_mt_dtap_msg(dtap_rel); + + f_expect_clear(); +} +testcase TC_proc_ss_abort() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_proc_ss_abort), 102); + vc_conn.done; +} + /* A5/1 only permitted on network side; attempt an invalid CIPHER MODE COMPLETE with A5/3 which MSC should reject. */ private function f_tc_cipher_complete_with_invalid_cipher(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -5459,6 +5544,7 @@ execute( TC_mt_ussd_for_unknown_subscr() ); execute( TC_proc_ss_for_unknown_session() ); execute( TC_proc_ss_paging_fail() ); + execute( TC_proc_ss_abort() ); execute( TC_cipher_complete_with_invalid_cipher() ); execute( TC_cipher_complete_1_without_cipher() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5586a88136c936441a842f49248824680603672e Gerrit-Change-Number: 14476 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 Sun Jun 16 17:18:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 16 Jun 2019 17:18:28 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: drop rudimentary vsub->cgi.lai.lac check In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14465 ) Change subject: libmsc/gsm_09_11.c: drop rudimentary vsub->cgi.lai.lac check ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I7bd48860e923cb1f1a5bccc4b0f497ec1a7bcf84 Gerrit-Change-Number: 14465 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 16 Jun 2019 17:18:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 16 20:27:45 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 16 Jun 2019 20:27:45 +0000 Subject: Change in ...libosmocore[master]: bitvec: correct comment in bitvec_alloc Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14479 Change subject: bitvec: correct comment in bitvec_alloc ...................................................................... bitvec: correct comment in bitvec_alloc The function allocates x bytes not bits for the vector. Change-Id: I60fbe9fe9acd11c5d3232207f1bb677e8a98625f --- M src/bitvec.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/79/14479/1 diff --git a/src/bitvec.c b/src/bitvec.c index 0f56e3e..dac0401 100644 --- a/src/bitvec.c +++ b/src/bitvec.c @@ -401,7 +401,7 @@ } /*! Allocate a bit vector - * \param[in] size Number of bits in the vector + * \param[in] size Number of bytes in the vector * \param[in] ctx Context from which to allocate * \return pointer to allocated vector; NULL in case of error */ struct bitvec *bitvec_alloc(unsigned int size, TALLOC_CTX *ctx) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14479 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I60fbe9fe9acd11c5d3232207f1bb677e8a98625f Gerrit-Change-Number: 14479 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Jun 16 21:14:20 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Jun 2019 21:14:20 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d06b13b986_3a2e33a5f444461@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 131s] #define STDC_HEADERS 1 [ 98.254302] serial8250: too much work for irq4 [ 131s] [ 131s] #define HAVE_SYS_TYPES_H 1 [ 131s] #define HAVE_SYS_STAT_H 1 [ 131s] #define HAVE_STDLIB_H 1 [ 131s] #define HAVE_STRING_H 1 [ 131s] #define HAVE_MEMORY_H 1 [ 131s] #define HAVE_STRINGS_H 1 [ 131s] #define HAVE_INTTYPES_H 1 [ 131s] #define HAVE_STDINT_H 1 [ 131s] #define HAVE_UNISTD_H 1 [ 131s] #define HAVE_DLFCN_H 1 [ 131s] #define LT_OBJDIR ".libs/" [ 131s] [ 131s] configure: exit 1 [ 131s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 131s] make: *** [debian/rules:45: build] Error 2 [ 131s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 131s] [ 131s] cloud125 failed "build osmo-sysmon_0.1.0.dsc" at Sun Jun 16 21:14:14 UTC 2019. [ 131s] [ 131s] ### VM INTERACTION START ### [ 132s] [ 101.823388] sysrq: SysRq : Power Off [ 132s] [ 101.828180] reboot: Power down [ 132s] ### VM INTERACTION END ### [ 132s] [ 132s] cloud125 failed "build osmo-sysmon_0.1.0.dsc" at Sun Jun 16 21:14:17 UTC 2019. [ 132s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Jun 16 21:18:54 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 16 Jun 2019 21:18:54 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d06b247530c6_3a2e33a5f44447ce@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Testing/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 194s] | #define HAVE_MEMORY_H 1 [ 194s] | #define HAVE_STRINGS_H 1 [ 194s] | #define HAVE_INTTYPES_H 1 [ 194s] | #define HAVE_STDINT_H 1 [ 194s] | #define HAVE_UNISTD_H 1 [ 194s] | #define HAVE_DLFCN_H 1 [ 194s] | #define LT_OBJDIR ".libs/" [ 194s] | #define BUILD_SMPP 1 [ 194s] | #define STDC_HEADERS 1 [ 194s] | #define HAVE_DBI_DBD_H 1 [ 194s] | #define HAVE_PCAP_PCAP_H 1 [ 194s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 194s] | [ 194s] | configure: exit 0 [ 194s] [ 194s] make[1]: *** [debian/rules:30: override_dh_auto_test] Error 1 [ 194s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 194s] make: *** [debian/rules:13: build] Error 2 [ 194s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 194s] [ 194s] cloud125 failed "build openbsc_1.2.0.dsc" at Sun Jun 16 21:18:44 UTC 2019. [ 194s] [ 194s] ### VM INTERACTION START ### [ 198s] [ 171.681125] sysrq: SysRq : Power Off [ 198s] [ 171.685674] reboot: Power down [ 199s] ### VM INTERACTION END ### [ 199s] [ 199s] cloud125 failed "build openbsc_1.2.0.dsc" at Sun Jun 16 21:18:49 UTC 2019. [ 199s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Jun 16 23:57:45 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 16 Jun 2019 23:57:45 +0000 Subject: Change in ...osmo-pcu[master]: decompress_crbb: replace int8_t with uint8_t as length Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14480 Change subject: decompress_crbb: replace int8_t with uint8_t as length ...................................................................... decompress_crbb: replace int8_t with uint8_t as length There should not be a negative length. Change-Id: I7099bff92eba3bf4db8601a2575c721e2579ce8e --- M src/egprs_rlc_compression.cpp M src/egprs_rlc_compression.h M tests/bitcomp/BitcompTest.cpp 3 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/80/14480/1 diff --git a/src/egprs_rlc_compression.cpp b/src/egprs_rlc_compression.cpp index 7eeb7d2..927c6cd 100644 --- a/src/egprs_rlc_compression.cpp +++ b/src/egprs_rlc_compression.cpp @@ -486,14 +486,14 @@ } /* Decompress received block bitmap - * \param compress_bmap_len[in] Compressed bitmap length + * \param compress_bmap_len[in] Compressed bitmap length in bits * \param start[in] Starting Color Code, true if bitmap starts with a run * length of ones, false if zeros; see 9.1.10, 3GPP 44.060. * \param orig_crbb_buf[in] Received block crbb bitmap * \param dest[out] Uncompressed bitvector */ int egprs_compress::decompress_crbb( - int8_t compress_bmap_len, + uint8_t compress_bmap_len, bool start, const uint8_t *orig_crbb_buf, bitvec *dest) diff --git a/src/egprs_rlc_compression.h b/src/egprs_rlc_compression.h index 4d2501b..dd1b9b9 100644 --- a/src/egprs_rlc_compression.h +++ b/src/egprs_rlc_compression.h @@ -11,7 +11,7 @@ class egprs_compress { public: - static int decompress_crbb(int8_t compress_bmap_len, + static int decompress_crbb(uint8_t compress_bmap_len, bool start, const uint8_t *orig_buf, bitvec *dest); egprs_compress(); diff --git a/tests/bitcomp/BitcompTest.cpp b/tests/bitcomp/BitcompTest.cpp index 98bb2cc..29a8c15 100644 --- a/tests/bitcomp/BitcompTest.cpp +++ b/tests/bitcomp/BitcompTest.cpp @@ -24,7 +24,7 @@ void *tall_pcu_ctx; struct test_data { - int8_t crbb_len; + uint8_t crbb_len; uint8_t cc; uint8_t crbb_data[MAX_CRBB_LEN]; /* compressed data */ uint8_t ucmp_data[MAX_URBB_LEN]; /* uncompressed data */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7099bff92eba3bf4db8601a2575c721e2579ce8e Gerrit-Change-Number: 14480 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 16 23:57:46 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 16 Jun 2019 23:57:46 +0000 Subject: Change in ...osmo-pcu[master]: decompress_crbb: add length argument for search_runlen Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14481 Change subject: decompress_crbb: add length argument for search_runlen ...................................................................... decompress_crbb: add length argument for search_runlen search_runlen() must know the exact size in bits when parsing the bits otherwise it read over the buffer. Fixes testcase #7 which was wrongly decoded. Change-Id: Ie34a0651e7e7efea4e9ecff1e3a467588113cf47 --- M src/egprs_rlc_compression.cpp M tests/bitcomp/BitcompTest.cpp M tests/bitcomp/BitcompTest.err 3 files changed, 14 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/81/14481/1 diff --git a/src/egprs_rlc_compression.cpp b/src/egprs_rlc_compression.cpp index 927c6cd..3972b21 100644 --- a/src/egprs_rlc_compression.cpp +++ b/src/egprs_rlc_compression.cpp @@ -449,6 +449,7 @@ /* Calculate runlength of a codeword * \param root[in] Root of Ones or Zeros tree * \param bmbuf[in] Received compressed bitmap buf + * \param length[in] Length of bitmap buf in bits * \param bit_pos[in] The start bit pos to read codeword * \param len_codewd[in] Length of code word * \param rlen[out] Calculated run length @@ -456,6 +457,7 @@ static int search_runlen( egprs_compress_node *root, const uint8_t *bmbuf, + uint8_t length, uint8_t bit_pos, uint8_t *len_codewd, uint16_t *rlen) @@ -469,6 +471,9 @@ while (iter->run_length == -1) { if ((!iter->left) && (!iter->right)) return -1; + if (bit_pos >= length) + return -1; + /* get the bit value at the bitpos and put it in right most of dir */ dir = (bmbuf[bit_pos/8] >> (7 - (bit_pos & 0x07))) & 0x01; bit_pos++; @@ -498,7 +503,7 @@ const uint8_t *orig_crbb_buf, bitvec *dest) { - + uint8_t remaining_bmap_len = compress_bmap_len; uint8_t bit_pos = 0; uint8_t data; egprs_compress_node *list = NULL; @@ -509,7 +514,7 @@ int rc = 0; egprs_compress *compress = instance(); - while (compress_bmap_len > 0) { + while (remaining_bmap_len > 0) { if (start) { data = 0xff; list = compress->ones_list; @@ -517,7 +522,7 @@ data = 0x00; list = compress->zeros_list; } - rc = search_runlen(list, orig_crbb_buf, + rc = search_runlen(list, orig_crbb_buf, compress_bmap_len, bit_pos, &nbits, &run_length); if (rc == -1) return -1; @@ -525,6 +530,7 @@ if (run_length < 64) start = !start; cbmaplen = cbmaplen + run_length; + /* put run length of Ones in uncompressed bitmap */ while (run_length != 0) { if (run_length > 8) { @@ -536,7 +542,7 @@ } } bit_pos = bit_pos + nbits; - compress_bmap_len = compress_bmap_len - nbits; + remaining_bmap_len = remaining_bmap_len - nbits; } return 0; } diff --git a/tests/bitcomp/BitcompTest.cpp b/tests/bitcomp/BitcompTest.cpp index 29a8c15..ebdcf6f 100644 --- a/tests/bitcomp/BitcompTest.cpp +++ b/tests/bitcomp/BitcompTest.cpp @@ -91,14 +91,13 @@ .ucmp_len = 90, .expect_rc = 0, }, - /* TODO: previously marked as "Invalid inputs" but succeeds */ + /* Invalid inputs */ { .crbb_len = 18, .cc = 1, .crbb_data = {0x1E, 0x70, 0xc0}, .ucmp_data = {0xb0, 0x00, 0x00}, .ucmp_len = 19, - .expect_rc = 0, + .expect_rc = -1, }, - /* Invalid inputs */ { .crbb_len = 14, .cc = 1, .crbb_data = {0x00, 0x1E, 0x7c}, .ucmp_data = {0x0}, diff --git a/tests/bitcomp/BitcompTest.err b/tests/bitcomp/BitcompTest.err index 2eabd78..2c4ed0a 100644 --- a/tests/bitcomp/BitcompTest.err +++ b/tests/bitcomp/BitcompTest.err @@ -108,13 +108,8 @@ Run_length = 1 Run_length = 1 Run_length = 2 -Run_length = 15 -rc = 0 - -expected data = b0 00 00 -expected len = 19 -decoded data = b0 00 00 -decoded len = 19 +rc = -1 +Failed to decode CRBB: length 18, data 1e 70 c0 Test:8 Tree based decoding: -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie34a0651e7e7efea4e9ecff1e3a467588113cf47 Gerrit-Change-Number: 14481 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 16 23:57:46 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 16 Jun 2019 23:57:46 +0000 Subject: Change in ...osmo-pcu[master]: tests/BitcompTest: fix wording in log message Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14482 Change subject: tests/BitcompTest: fix wording in log message ...................................................................... tests/BitcompTest: fix wording in log message The testcase is showing the compressed rbb. Change-Id: Ie7a2b31e305dffb2776698d1bc8e80d6a435c135 --- M tests/bitcomp/BitcompTest.cpp M tests/bitcomp/BitcompTest.err 2 files changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/82/14482/1 diff --git a/tests/bitcomp/BitcompTest.cpp b/tests/bitcomp/BitcompTest.cpp index ebdcf6f..0489ac0 100644 --- a/tests/bitcomp/BitcompTest.cpp +++ b/tests/bitcomp/BitcompTest.cpp @@ -139,7 +139,7 @@ dest.cur_bit = 0; _LOG("\nTest:%d\n" "Tree based decoding:\n" - "uncompressed data = %s\n" + "compressed data = %s\n" "len = %d\n", itr + 1, osmo_hexdump(test[itr].crbb_data, diff --git a/tests/bitcomp/BitcompTest.err b/tests/bitcomp/BitcompTest.err index 2c4ed0a..0c9bc66 100644 --- a/tests/bitcomp/BitcompTest.err +++ b/tests/bitcomp/BitcompTest.err @@ -1,7 +1,7 @@ Test:1 Tree based decoding: -uncompressed data = 02 0c a0 30 cb 1a 0c e3 6c +compressed data = 02 0c a0 30 cb 1a 0c e3 6c len = 67 Run_length = 29 Run_length = 26 @@ -19,7 +19,7 @@ Test:2 Tree based decoding: -uncompressed data = 53 06 c5 40 6d +compressed data = 53 06 c5 40 6d len = 40 Run_length = 50 Run_length = 40 @@ -34,7 +34,7 @@ Test:3 Tree based decoding: -uncompressed data = 02 +compressed data = 02 len = 8 Run_length = 29 rc = 0 @@ -46,7 +46,7 @@ Test:4 Tree based decoding: -uncompressed data = 02 0c e0 41 a0 0c 36 0d 03 71 b0 6e 24 +compressed data = 02 0c e0 41 a0 0c 36 0d 03 71 b0 6e 24 len = 103 Run_length = 29 Run_length = 19 @@ -68,7 +68,7 @@ Test:5 Tree based decoding: -uncompressed data = de 88 75 65 80 +compressed data = de 88 75 65 80 len = 35 Run_length = 2 Run_length = 2 @@ -89,7 +89,7 @@ Test:6 Tree based decoding: -uncompressed data = dd 41 00 +compressed data = dd 41 00 len = 18 Run_length = 64 Run_length = 16 @@ -103,7 +103,7 @@ Test:7 Tree based decoding: -uncompressed data = 1e 70 c0 +compressed data = 1e 70 c0 len = 18 Run_length = 1 Run_length = 1 @@ -113,14 +113,14 @@ Test:8 Tree based decoding: -uncompressed data = 00 1e +compressed data = 00 1e len = 14 rc = -1 Failed to decode CRBB: length 14, data 00 1e Test:9 Tree based decoding: -uncompressed data = 00 00 00 +compressed data = 00 00 00 len = 24 rc = -1 Failed to decode CRBB: length 24, data 00 00 00 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie7a2b31e305dffb2776698d1bc8e80d6a435c135 Gerrit-Change-Number: 14482 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 00:09:57 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 17 Jun 2019 00:09:57 +0000 Subject: Change in ...osmo-pcu[master]: encoding: use `/* */` for comments instead of `#if 0 #endif` Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14483 Change subject: encoding: use `/* */` for comments instead of `#if 0 #endif` ...................................................................... encoding: use `/* */` for comments instead of `#if 0 #endif` Change-Id: Ifff9526b15bfda7a0f85c92bcb0d3fabab61ca32 --- M src/encoding.cpp 1 file changed, 3 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/83/14483/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index b6879cc..530cba7 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -853,8 +853,8 @@ bool len_coded = true; uint8_t crbb_start_clr_code; uint8_t i; -#if 0 - /* static size of 16 bits*/ + + /* static size of 16 bits ..0. .... = ACKNACK: (Union) Desc @@ -866,8 +866,7 @@ .... ..10 0101 0001 1... .... = STARTING_SEQUENCE_NUMBER: 1187 - .0.. .... = CRBB Exist: 0 -#endif + .0.. .... = CRBB Exist: 0 */ rest_bits -= 16; if (num_blocks > 0) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ifff9526b15bfda7a0f85c92bcb0d3fabab61ca32 Gerrit-Change-Number: 14483 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 00:09:57 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 17 Jun 2019 00:09:57 +0000 Subject: Change in ...osmo-pcu[master]: egprs_rlc_compression: fix white spaces Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14484 Change subject: egprs_rlc_compression: fix white spaces ...................................................................... egprs_rlc_compression: fix white spaces Change-Id: I43a5acc2dda4ba567ada9846880e31c85bc98394 --- M src/egprs_rlc_compression.cpp M src/egprs_rlc_compression.h 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/84/14484/1 diff --git a/src/egprs_rlc_compression.cpp b/src/egprs_rlc_compression.cpp index 7eeb7d2..014e930 100644 --- a/src/egprs_rlc_compression.cpp +++ b/src/egprs_rlc_compression.cpp @@ -618,7 +618,7 @@ struct bitvec *urbb_vec, struct bitvec *crbb_vec, uint8_t *uclen_crbb, /* Uncompressed bitmap len in CRBB */ - uint8_t max_bits) /* max remaining bits */ + uint8_t max_bits) /* max remaining bits */ { bool run_len_bit; int buflen = urbb_vec->cur_bit; diff --git a/src/egprs_rlc_compression.h b/src/egprs_rlc_compression.h index 4d2501b..84a54fb 100644 --- a/src/egprs_rlc_compression.h +++ b/src/egprs_rlc_compression.h @@ -17,7 +17,7 @@ egprs_compress(); int osmo_t4_compress(struct bitvec *bv); static int compress_rbb(struct bitvec *urbb_vec, struct bitvec *crbb_vec, - uint8_t *uclen_crbb, uint8_t max_bits); + uint8_t *uclen_crbb, uint8_t max_bits); private: egprs_compress_node *ones_list; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I43a5acc2dda4ba567ada9846880e31c85bc98394 Gerrit-Change-Number: 14484 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Jun 17 03:00:20 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 17 Jun 2019 03:00:20 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d070251e9bab_3a2e33a5f445288@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 498s] | This file was extended by libosmocore config.status 1.1.0.68-a08e, which was [ 498s] | generated by GNU Autoconf 2.69. Invocation command line was [ 498s] | [ 498s] | CONFIG_FILES = [ 498s] | CONFIG_HEADERS = [ 498s] | CONFIG_LINKS = [ 498s] | CONFIG_COMMANDS = [ 498s] | $ ./config.status Doxyfile.core [ 498s] | [ 498s] | on armbuild01 [ 498s] | [ 498s] | config.status:1200: creating Doxyfile.core [ 498s] [ 498s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 498s] make[1]: *** [override_dh_auto_test] Error 1 [ 498s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 498s] debian/rules:15: recipe for target 'build' failed [ 498s] make: *** [build] Error 2 [ 498s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 498s] [ 498s] armbuild01 failed "build libosmocore_1.1.0.68.a08e.dsc" at Mon Jun 17 03:00:06 UTC 2019. [ 498s] [ 498s] ### VM INTERACTION START ### [ 500s] [ 475.370445] sysrq: SysRq : Power Off [ 500s] [ 475.386076] reboot: Power down [ 501s] ### VM INTERACTION END ### [ 501s] [ 501s] armbuild01 failed "build libosmocore_1.1.0.68.a08e.dsc" at Mon Jun 17 03:00:10 UTC 2019. [ 501s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Jun 17 03:20:20 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 17 Jun 2019 03:20:20 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d070701eca25_3a2e33a5f4453194@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 700s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 700s] ./src/common/bts.c:423: undefined reference to `lapdm_channel_init2' [ 700s] collect2: error: ld returned 1 exit status [ 700s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 700s] make[4]: *** [osmo-bts-virtual] Error 1 [ 700s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 700s] Makefile:385: recipe for target 'all-recursive' failed [ 700s] make[3]: *** [all-recursive] Error 1 [ 700s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 700s] Makefile:434: recipe for target 'all-recursive' failed [ 700s] make[2]: *** [all-recursive] Error 1 [ 700s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 700s] Makefile:366: recipe for target 'all' failed [ 700s] make[1]: *** [all] Error 2 [ 700s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 700s] dh_auto_build: make -j1 returned exit code 2 [ 700s] debian/rules:12: recipe for target 'build' failed [ 700s] make: *** [build] Error 2 [ 700s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 700s] [ 700s] obs-arm-5 failed "build osmo-bts_0.8.1.326.5a3e.dsc" at Mon Jun 17 03:20:00 UTC 2019. [ 700s] [ 700s] ### VM INTERACTION START ### [ 703s] [ 666.715417] sysrq: SysRq : Power Off [ 703s] [ 666.717866] reboot: Power down [ 705s] ### VM INTERACTION END ### [ 705s] [ 705s] obs-arm-5 failed "build osmo-bts_0.8.1.326.5a3e.dsc" at Mon Jun 17 03:20:05 UTC 2019. [ 705s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Jun 17 07:39:23 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 17 Jun 2019 07:39:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add create-subscriber-on-demand tests In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 ) Change subject: hlr: add create-subscriber-on-demand tests ...................................................................... Patch Set 4: When a subscriber with no MSISDN is created, it expects LU to pass now. As discussed here: https://gerrit.osmocom.org/c/osmo-hlr/+/14423 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id544fa906ad442c2bbbccff437c18d04ddccde2e Gerrit-Change-Number: 14424 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 07:39:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 08:59:00 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 08:59:00 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14463 ) Change subject: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/14463/3/src/libmsc/gsm_09_11.c File src/libmsc/gsm_09_11.c: https://gerrit.osmocom.org/#/c/14463/3/src/libmsc/gsm_09_11.c at 325 PS3, Line 325: LOGP(DSS, LOGL_DEBUG, "Establishing a network-originated session (id=0x%x) " Can we emulate format of LOG_TRANS() here? Like: "(%S) stablishing a network-originated session (id=0x%x)" or something similar. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I4e027b19e8065a39324a1647957cef4066b82ce7 Gerrit-Change-Number: 14463 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 08:59:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 08:59:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 08:59:46 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: log network-originated session establishment error In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14464 ) Change subject: libmsc/gsm_09_11.c: log network-originated session establishment error ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I090c25de3421f770115ed68a7ecc050694cedff7 Gerrit-Change-Number: 14464 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 08:59:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 09:01:12 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 09:01:12 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: drop meaningless check for concurrent paging In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14466 ) Change subject: libmsc/gsm_09_11.c: drop meaningless check for concurrent paging ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2899a23ee49fd7917443943629603700a5025cf4 Gerrit-Change-Number: 14466 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 09:01:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 09:09:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 09:09:26 +0000 Subject: Change in ...libosmocore[master]: Add Cell Broadcast related definitions from 3GPP TS 23.041 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14471 ) Change subject: Add Cell Broadcast related definitions from 3GPP TS 23.041 ...................................................................... Patch Set 1: /home/osmocom-build/jenkins/workspace/gerrit-libosmocore/a2/default/a3/default/a4/default/arch/arm-none-eabi/label/osmocom-gerrit-debian9/src/gsm/cbsp.c:26:24: fatal error: sys/socket.h: No such file or directory compilation terminated. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1e2c62cb9047648907c91b99f764f6caba8f4493 Gerrit-Change-Number: 14471 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 09:09: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 17 09:12:55 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 09:12:55 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: add another failing power control test Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14485 Change subject: BTS: add another failing power control test ...................................................................... BTS: add another failing power control test Change-Id: I8b3bdf374c96fa3368f90ae524859f30ceefa5f5 --- M bts/BTS_Tests.ttcn 1 file changed, 56 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/85/14485/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 2d2ae0b..9184f6a 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -2088,6 +2088,46 @@ } +/* see if we change the power level without receiving power parameters, which should not happen */ +function f_TC_rsl_ms_pwr_dyn_active(charstring id) runs on ConnHdlr { + var L1ctlDlMessage l1_dl; + + /* set a high value to ensure power decreases */ + f_trxc_fake_rssi(rxlev2dbm(50)); + f_l1_tune(L1CTL); + RSL.clear; + + var uint5_t pwr_var := 5; + + var template (value) RSL_IE_MS_Power ms_power := ts_RSL_IE_MS_Power(pwr_var); + var template (value) RSL_IE pwr := t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ms_power}); + + /* establish with fixed power level */ + f_est_dchan(more_ies :={valueof(pwr)}); + + /* check our initial power level */ + f_wait_for_l1_power_level(pwr_var); + + /* wait, then check that our power level did not change */ + timer T1 := 10.0; + T1.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { + if ( oct2int(l1_dl.payload.data_ind.payload[0]) != pwr_var) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "BS power control should not be active unless we receive a power parameters IE!"); + } + repeat; + } + [] L1CTL.receive { repeat; } + [] T1.timeout { setverdict(pass); } + } + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + +} + function f_wait_for_l1_power_level(integer level) runs on ConnHdlr { var L1ctlDlMessage l1_dl; timer T0 := 10.0; @@ -2238,6 +2278,21 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } +testcase TC_rsl_ms_pwr_dyn_active() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(); + f_vty_config(BTSVTY, "phy 0", "osmotrx ms-power-loop -100"); + for (var integer tn := 1; tn <= 1; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + pars.bts0_band := f_vty_get_bts0_band(); + vc_conn := f_start_handler(refers(f_TC_rsl_ms_pwr_dyn_active), pars, trxc_comp := true); + vc_conn.done; + } + f_vty_config(BTSVTY, "phy 0", "no osmotrx ms-power-loop"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + testcase TC_meas_res_sign_tchf() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; @@ -5898,6 +5953,7 @@ execute( TC_meas_res_sign_sdcch8() ); execute( TC_meas_res_sign_tchh_toa256() ); execute( TC_rsl_ms_pwr_ctrl() ); + execute( TC_rsl_ms_pwr_dyn_active() ); execute( TC_rsl_ms_pwr_dyn_up() ); execute( TC_rsl_ms_pwr_dyn_down() ); execute( TC_rsl_ms_pwr_dyn_ass_updown() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8b3bdf374c96fa3368f90ae524859f30ceefa5f5 Gerrit-Change-Number: 14485 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 17 09:21:00 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 09:21:00 +0000 Subject: Change in ...osmo-msc[master]: libmsc/msc_net_init.c: pass pointer to gsm_network directly In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14467 ) Change subject: libmsc/msc_net_init.c: pass pointer to gsm_network directly ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I122d2880b356997c60df5f0cf4f5ecb3abb2e672 Gerrit-Change-Number: 14467 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 09:21: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 17 09:22:55 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 09:22:55 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: inform HLR/EUSE if Paging has failed In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14475 ) Change subject: libmsc/gsm_09_11.c: inform HLR/EUSE if Paging has failed ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie2ac06aadb18251310e0cfd85bb0d9865470aab7 Gerrit-Change-Number: 14475 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 09:22:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 09:27:20 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 09:27:20 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14477 ) Change subject: libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/14477/1/src/libmsc/gsm_09_11.c File src/libmsc/gsm_09_11.c: https://gerrit.osmocom.org/#/c/14477/1/src/libmsc/gsm_09_11.c at 452 PS1, Line 452: return -EAGAIN; EAGAIN? why EAGAIN? -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I076d12ef24d7320eda1df1ee4588da7375ef3d9e Gerrit-Change-Number: 14477 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 09:27: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 Mon Jun 17 09:29:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 09:29:28 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: drop rudimentary vsub->cgi.lai.lac check In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14465 ) Change subject: libmsc/gsm_09_11.c: drop rudimentary vsub->cgi.lai.lac check ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I7bd48860e923cb1f1a5bccc4b0f497ec1a7bcf84 Gerrit-Change-Number: 14465 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 09:29: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 17 09:30:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 09:30:13 +0000 Subject: Change in ...libosmocore[master]: bitvec: correct comment in bitvec_alloc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14479 ) Change subject: bitvec: correct comment in bitvec_alloc ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14479 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I60fbe9fe9acd11c5d3232207f1bb677e8a98625f Gerrit-Change-Number: 14479 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 09: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 Mon Jun 17 09:31:17 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 09:31:17 +0000 Subject: Change in ...osmo-pcu[master]: decompress_crbb: replace int8_t with uint8_t as length In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14480 ) Change subject: decompress_crbb: replace int8_t with uint8_t as length ...................................................................... Patch Set 1: Assert failed test[itr].expect_rc == rc ../../../tests/bitcomp/BitcompTest.cpp:152 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7099bff92eba3bf4db8601a2575c721e2579ce8e Gerrit-Change-Number: 14480 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 09:31: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 Mon Jun 17 09:32:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 09:32:03 +0000 Subject: Change in ...osmo-pcu[master]: tests/BitcompTest: fix wording in log message In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14482 ) Change subject: tests/BitcompTest: fix wording in log message ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie7a2b31e305dffb2776698d1bc8e80d6a435c135 Gerrit-Change-Number: 14482 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 09:32: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 17 09:37:51 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 09:37:51 +0000 Subject: Change in ...osmo-pcu[master]: decompress_crbb: add length argument for search_runlen In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14481 ) Change subject: decompress_crbb: add length argument for search_runlen ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/14481/1/src/egprs_rlc_compression.cpp File src/egprs_rlc_compression.cpp: https://gerrit.osmocom.org/#/c/14481/1/src/egprs_rlc_compression.cpp at 471 PS1, Line 471: while (iter->run_length == -1) { Why is iterating over this condition which seems to never change inside the loop? That's really confusing. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie34a0651e7e7efea4e9ecff1e3a467588113cf47 Gerrit-Change-Number: 14481 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 09:37: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 Mon Jun 17 09:39:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 09:39:19 +0000 Subject: Change in ...osmo-pcu[master]: encoding: use `/* */` for comments instead of `#if 0 #endif` In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14483 ) Change subject: encoding: use `/* */` for comments instead of `#if 0 #endif` ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/14483/1/src/encoding.cpp File src/encoding.cpp: https://gerrit.osmocom.org/#/c/14483/1/src/encoding.cpp at 860 PS1, Line 860: You can take the chance to remove empty lines in between, it's easier to read and match bit position. https://gerrit.osmocom.org/#/c/14483/1/src/encoding.cpp at 869 PS1, Line 869: .0.. .... = CRBB Exist: 0 */ Feel free to put end of comment in next line. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ifff9526b15bfda7a0f85c92bcb0d3fabab61ca32 Gerrit-Change-Number: 14483 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 09:39:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 09:39:48 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 09:39:48 +0000 Subject: Change in ...osmo-pcu[master]: egprs_rlc_compression: fix white spaces In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14484 ) Change subject: egprs_rlc_compression: fix white spaces ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I43a5acc2dda4ba567ada9846880e31c85bc98394 Gerrit-Change-Number: 14484 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 09: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 17 10:11:27 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 10:11:27 +0000 Subject: Change in ...osmo-msc[master]: libvlr: fix sgsn tmsi creation, replace constant with In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/14448 to look at the new patch set (#2). Change subject: libvlr: fix sgsn tmsi creation, replace constant with ...................................................................... libvlr: fix sgsn tmsi creation, replace constant with reported by _dev_zero in #osmocom Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba --- M src/libvlr/vlr.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/48/14448/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba Gerrit-Change-Number: 14448 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen 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 Mon Jun 17 10:11:52 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 10:11:52 +0000 Subject: Change in ...osmo-msc[master]: libvlr: fix sgsn tmsi creation, replace constant with define In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/14448 to look at the new patch set (#3). Change subject: libvlr: fix sgsn tmsi creation, replace constant with define ...................................................................... libvlr: fix sgsn tmsi creation, replace constant with define reported by _dev_zero in #osmocom Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba --- M src/libvlr/vlr.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/48/14448/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba Gerrit-Change-Number: 14448 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen 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 Mon Jun 17 10:13:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 10:13:22 +0000 Subject: Change in ...osmo-msc[master]: libvlr: fix sgsn tmsi creation, replace constant with define In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14448 ) Change subject: libvlr: fix sgsn tmsi creation, replace constant with define ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba Gerrit-Change-Number: 14448 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 17 Jun 2019 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 Mon Jun 17 10:16:40 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 10:16:40 +0000 Subject: Change in ...osmo-sgsn[master]: replace magic tmsi constant with define Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14486 Change subject: replace magic tmsi constant with define ...................................................................... replace magic tmsi constant with define Change-Id: Icf9f466efce520779c926b47b6e6d6c9815120eb --- M src/gprs/gb_proxy.c M src/gprs/gprs_sgsn.c 2 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/86/14486/1 diff --git a/src/gprs/gb_proxy.c b/src/gprs/gb_proxy.c index 3da7bfd..3f471ff 100644 --- a/src/gprs/gb_proxy.c +++ b/src/gprs/gb_proxy.c @@ -243,7 +243,7 @@ break; } - bss_ptmsi = bss_ptmsi | 0xC0000000; + bss_ptmsi = bss_ptmsi | GSM23003_TMSI_SGSN_MASK; if (gbproxy_link_info_by_ptmsi(peer, bss_ptmsi)) bss_ptmsi = GSM_RESERVED_TMSI; diff --git a/src/gprs/gprs_sgsn.c b/src/gprs/gprs_sgsn.c index 5801107..8d3de7b 100644 --- a/src/gprs/gprs_sgsn.c +++ b/src/gprs/gprs_sgsn.c @@ -692,12 +692,12 @@ * Alternatively, a freeze list could be used if another PRNG is used * or when this approach proves to be not sufficient. */ - if (ptmsi >= 0xC0000000) { + if (ptmsi >= GSM23003_TMSI_SGSN_MASK) { if (!max_retries--) goto failed; goto restart; } - ptmsi |= 0xC0000000; + ptmsi |= GSM23003_TMSI_SGSN_MASK; if (ptmsi == GSM_RESERVED_TMSI) { if (!max_retries--) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icf9f466efce520779c926b47b6e6d6c9815120eb Gerrit-Change-Number: 14486 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 17 10:19:32 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 10:19:32 +0000 Subject: Change in ...libosmocore[master]: add define for magic tmsi constant Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14487 Change subject: add define for magic tmsi constant ...................................................................... add define for magic tmsi constant Change-Id: I52b9f6b5f3e96d85a390ba2af21d7814df8aaeec --- M include/osmocom/gsm/protocol/gsm_23_003.h 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/87/14487/1 diff --git a/include/osmocom/gsm/protocol/gsm_23_003.h b/include/osmocom/gsm/protocol/gsm_23_003.h index 3e5c3e5..15656f8 100644 --- a/include/osmocom/gsm/protocol/gsm_23_003.h +++ b/include/osmocom/gsm/protocol/gsm_23_003.h @@ -10,6 +10,7 @@ #define OSMO_IMSI_BUF_SIZE (GSM23003_IMSI_MAX_DIGITS+2) /* Chapter 2.4 */ #define GSM23003_TMSI_NUM_BYTES 4 +#define GSM23003_TMSI_SGSN_MASK 0xC0000000UL /* Chapter 2.5 */ #define GSM23003_LMSI_NUM_BYTES 4 /* Chapter 2.6 */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I52b9f6b5f3e96d85a390ba2af21d7814df8aaeec Gerrit-Change-Number: 14487 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 17 10:36:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 10:36:15 +0000 Subject: Change in ...libosmocore[master]: add define for magic tmsi constant In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14487 ) Change subject: add define for magic tmsi constant ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I52b9f6b5f3e96d85a390ba2af21d7814df8aaeec Gerrit-Change-Number: 14487 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 10:36: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 17 10:36:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 10:36:54 +0000 Subject: Change in ...osmo-sgsn[master]: replace magic tmsi constant with define In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14486 ) Change subject: replace magic tmsi constant with define ...................................................................... Patch Set 1: Missing in commit description: Depends: libosmocore I52b9f6b5f3e96d85a390ba2af21d7814df8aaeec -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icf9f466efce520779c926b47b6e6d6c9815120eb Gerrit-Change-Number: 14486 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 10:36:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 11:03:24 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 11:03:24 +0000 Subject: Change in ...osmo-trx[master]: Add option to set stack size in config file, default == 0 == OS default Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/14488 Change subject: Add option to set stack size in config file, default == 0 == OS default ...................................................................... Add option to set stack size in config file, default == 0 == OS default Change-Id: Id752f6b5ce9a96a67cd1ff835687ce0e03d3a50d --- M CommonLibs/Threads.cpp M CommonLibs/Threads.h M CommonLibs/trx_vty.c M CommonLibs/trx_vty.h M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h M Transceiver52M/osmo-trx.cpp 7 files changed, 33 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/88/14488/1 diff --git a/CommonLibs/Threads.cpp b/CommonLibs/Threads.cpp index c056d69..5c337c5 100644 --- a/CommonLibs/Threads.cpp +++ b/CommonLibs/Threads.cpp @@ -135,8 +135,10 @@ // (pat) Moved initialization to constructor to avoid crash in destructor. //res = pthread_attr_init(&mAttrib); //assert(!res); - res = pthread_attr_setstacksize(&mAttrib, mStackSize); - assert(!res); + if(mStackSize != 0){ + res = pthread_attr_setstacksize(&mAttrib, mStackSize); + assert(!res); + } res = pthread_create(&mThread, &mAttrib, task, arg); assert(!res); } diff --git a/CommonLibs/Threads.h b/CommonLibs/Threads.h index 4c5b9ee..8a6ba47 100644 --- a/CommonLibs/Threads.h +++ b/CommonLibs/Threads.h @@ -158,7 +158,7 @@ public: /** Create a thread in a non-running state. */ - Thread(size_t wStackSize = (65536*4)):mThread((pthread_t)0) { + Thread(size_t wStackSize = 0):mThread((pthread_t)0) { pthread_attr_init(&mAttrib); // (pat) moved this here. mStackSize=wStackSize; } diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c index 4cc827b..0def7eb 100644 --- a/CommonLibs/trx_vty.c +++ b/CommonLibs/trx_vty.c @@ -336,6 +336,18 @@ return CMD_SUCCESS; } +DEFUN(cfg_stack_size, cfg_stack_size_cmd, + "stack-size <0-2147483647>", + "Set the stack size per thread in BYTE, 0 = OS default\n" + "Stack size per thread in BYTE\n") +{ + struct trx_ctx *trx = trx_from_vty(vty); + + trx->cfg.stack_size = atoi(argv[0]); + + return CMD_SUCCESS; +} + DEFUN(cfg_filler, cfg_filler_cmd, "filler dummy", "Enable C0 filler table\n" @@ -546,6 +558,8 @@ vty_out(vty, " ext-rach %s%s", trx->cfg.ext_rach ? "enable" : "disable", VTY_NEWLINE); if (trx->cfg.sched_rr != 0) vty_out(vty, " rt-prio %u%s", trx->cfg.sched_rr, VTY_NEWLINE); + if (trx->cfg.stack_size != 0) + vty_out(vty, " stack-size %u%s", trx->cfg.stack_size, VTY_NEWLINE); trx_rate_ctr_threshold_write_config(vty, " "); for (i = 0; i < trx->cfg.num_chans; i++) { @@ -585,6 +599,7 @@ vty_out(vty, " Extended RACH support: %s%s", trx->cfg.ext_rach ? "Enabled" : "Disabled", VTY_NEWLINE); vty_out(vty, " Real Time Priority: %u (%s)%s", trx->cfg.sched_rr, trx->cfg.sched_rr ? "Enabled" : "Disabled", VTY_NEWLINE); + vty_out(vty, " Stack size per Thread in BYTE (0 = OS default): %u%s", trx->cfg.stack_size, VTY_NEWLINE); vty_out(vty, " Channels: %u%s", trx->cfg.num_chans, VTY_NEWLINE); for (i = 0; i < trx->cfg.num_chans; i++) { chan = &trx->cfg.chans[i]; @@ -667,6 +682,7 @@ trx->cfg.tx_sps = DEFAULT_TX_SPS; trx->cfg.rx_sps = DEFAULT_RX_SPS; trx->cfg.filler = FILLER_ZERO; + trx->cfg.stack_size = 0; return trx; } @@ -698,6 +714,7 @@ install_element(TRX_NODE, &cfg_filler_cmd); install_element(TRX_NODE, &cfg_ctr_error_threshold_cmd); install_element(TRX_NODE, &cfg_no_ctr_error_threshold_cmd); + install_element(TRX_NODE, &cfg_stack_size_cmd); install_element(TRX_NODE, &cfg_chan_cmd); install_node(&chan_node, dummy_config_write); diff --git a/CommonLibs/trx_vty.h b/CommonLibs/trx_vty.h index 8e91113..d939051 100644 --- a/CommonLibs/trx_vty.h +++ b/CommonLibs/trx_vty.h @@ -63,6 +63,7 @@ bool ext_rach; bool egprs; unsigned int sched_rr; + unsigned int stack_size; unsigned int num_chans; struct trx_chan chans[TRX_CHAN_MAX]; } cfg; diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 9c55d02..0aa4ff5 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -115,11 +115,11 @@ size_t tx_sps, size_t rx_sps, size_t chans, GSM::Time wTransmitLatency, RadioInterface *wRadioInterface, - double wRssiOffset) + double wRssiOffset, int wStackSize) : mBasePort(wBasePort), mLocalAddr(TRXAddress), mRemoteAddr(GSMcoreAddress), mClockSocket(TRXAddress, wBasePort, GSMcoreAddress, wBasePort + 100), mTransmitLatency(wTransmitLatency), mRadioInterface(wRadioInterface), - rssiOffset(wRssiOffset), + rssiOffset(wRssiOffset), stackSize(wStackSize), mSPSTx(tx_sps), mSPSRx(rx_sps), mChans(chans), mEdge(false), mOn(false), mForceClockInterface(false), mTxFreq(0.0), mRxFreq(0.0), mTSC(0), mMaxExpectedDelayAB(0), mMaxExpectedDelayNB(0), mWriteBurstToDiskMask(0) @@ -212,7 +212,7 @@ /* Start control threads */ for (size_t i = 0; i < mChans; i++) { TransceiverChannel *chan = new TransceiverChannel(this, i); - mControlServiceLoopThreads[i] = new Thread(32768); + mControlServiceLoopThreads[i] = new Thread(stackSize); mControlServiceLoopThreads[i]->start((void * (*)(void*)) ControlServiceLoopAdapter, (void*) chan); @@ -254,8 +254,8 @@ } /* Device is running - launch I/O threads */ - mRxLowerLoopThread = new Thread(32768); - mTxLowerLoopThread = new Thread(32768); + mRxLowerLoopThread = new Thread(stackSize); + mTxLowerLoopThread = new Thread(stackSize); mTxLowerLoopThread->start((void * (*)(void*)) TxLowerLoopAdapter,(void*) this); mRxLowerLoopThread->start((void * (*)(void*)) @@ -264,12 +264,12 @@ /* Launch uplink and downlink burst processing threads */ for (size_t i = 0; i < mChans; i++) { TransceiverChannel *chan = new TransceiverChannel(this, i); - mRxServiceLoopThreads[i] = new Thread(32768); + mRxServiceLoopThreads[i] = new Thread(stackSize); mRxServiceLoopThreads[i]->start((void * (*)(void*)) RxUpperLoopAdapter, (void*) chan); chan = new TransceiverChannel(this, i); - mTxPriorityQueueServiceLoopThreads[i] = new Thread(32768); + mTxPriorityQueueServiceLoopThreads[i] = new Thread(stackSize); mTxPriorityQueueServiceLoopThreads[i]->start((void * (*)(void*)) TxUpperLoopAdapter, (void*) chan); } diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h index 4614efe..ceb8c4a 100644 --- a/Transceiver52M/Transceiver.h +++ b/Transceiver52M/Transceiver.h @@ -108,7 +108,7 @@ size_t tx_sps, size_t rx_sps, size_t chans, GSM::Time wTransmitLatency, RadioInterface *wRadioInterface, - double wRssiOffset); + double wRssiOffset, int stackSize); /** Destructor */ ~Transceiver(); @@ -178,6 +178,7 @@ double rxFullScale; ///< full scale output to radio double rssiOffset; ///< RSSI to dBm conversion offset + int stackSize; ///< stack size for threads, 0 = OS default /** modulate and add a burst to the transmit queue */ void addRadioVector(size_t chan, BitVector &bits, diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index 05489bd..06b1a18 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -145,7 +145,7 @@ transceiver = new Transceiver(trx->cfg.base_port, trx->cfg.bind_addr, trx->cfg.remote_addr, trx->cfg.tx_sps, trx->cfg.rx_sps, trx->cfg.num_chans, GSM::Time(3,0), - radio, trx->cfg.rssi_offset); + radio, trx->cfg.rssi_offset, trx->cfg.stack_size); if (!transceiver->init(trx->cfg.filler, trx->cfg.rtsc, trx->cfg.rach_delay, trx->cfg.egprs, trx->cfg.ext_rach)) { LOG(ALERT) << "Failed to initialize transceiver"; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Id752f6b5ce9a96a67cd1ff835687ce0e03d3a50d Gerrit-Change-Number: 14488 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 17 11:14:39 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 11:14:39 +0000 Subject: Change in ...osmo-bts[master]: RSL: Fix fixed MS power control in RSL CHAN ACTIV Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14489 Change subject: RSL: Fix fixed MS power control in RSL CHAN ACTIV ...................................................................... RSL: Fix fixed MS power control in RSL CHAN ACTIV Dynamic MS power control should only be active if a power parameters IE was supplied. Change-Id: I0bbe171a287b10d71fc853cd721f66e4c84db8c5 --- M src/common/rsl.c 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/89/14489/1 diff --git a/src/common/rsl.c b/src/common/rsl.c index 7630a8c..0a613bb 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -1116,6 +1116,14 @@ /* 9.3.32 BS Power Parameters */ /* 9.3.31 MS Power Parameters */ + if (TLVP_PRESENT(&tp, RSL_IE_MS_POWER_PARAM)) + lchan->ms_power_ctrl.fixed = 0; + else { + /* Spec explicitly states BTS should only perform + * autonomous MS power control loop in BTS if 'MS Power + * Parameters' IE is present! */ + lchan->ms_power_ctrl.fixed = 1; + } /* 9.3.16 Physical Context */ /* 9.3.29 SACCH Information */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0bbe171a287b10d71fc853cd721f66e4c84db8c5 Gerrit-Change-Number: 14489 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 17 11:24:08 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 11:24:08 +0000 Subject: Change in ...libosmocore[master]: add define for magic tmsi constant In-Reply-To: References: Message-ID: Hoernchen has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14487 ) Change subject: add define for magic tmsi constant ...................................................................... add define for magic tmsi constant Change-Id: I52b9f6b5f3e96d85a390ba2af21d7814df8aaeec --- M include/osmocom/gsm/protocol/gsm_23_003.h 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/include/osmocom/gsm/protocol/gsm_23_003.h b/include/osmocom/gsm/protocol/gsm_23_003.h index 3e5c3e5..15656f8 100644 --- a/include/osmocom/gsm/protocol/gsm_23_003.h +++ b/include/osmocom/gsm/protocol/gsm_23_003.h @@ -10,6 +10,7 @@ #define OSMO_IMSI_BUF_SIZE (GSM23003_IMSI_MAX_DIGITS+2) /* Chapter 2.4 */ #define GSM23003_TMSI_NUM_BYTES 4 +#define GSM23003_TMSI_SGSN_MASK 0xC0000000UL /* Chapter 2.5 */ #define GSM23003_LMSI_NUM_BYTES 4 /* Chapter 2.6 */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I52b9f6b5f3e96d85a390ba2af21d7814df8aaeec Gerrit-Change-Number: 14487 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 11:30:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 11:30:28 +0000 Subject: Change in ...osmo-trx[master]: Add option to set stack size in config file, default == 0 == OS default In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14488 ) Change subject: Add option to set stack size in config file, default == 0 == OS default ...................................................................... Patch Set 1: Code-Review+1 (5 comments) Fine, small fixes needed. https://gerrit.osmocom.org/#/c/14488/1/CommonLibs/Threads.cpp File CommonLibs/Threads.cpp: https://gerrit.osmocom.org/#/c/14488/1/CommonLibs/Threads.cpp at 138 PS1, Line 138: if(mStackSize != 0){ give some air in between those characters! https://gerrit.osmocom.org/#/c/14488/1/CommonLibs/Threads.cpp at 139 PS1, Line 139: res = pthread_attr_setstacksize(&mAttrib, mStackSize); Not sure why gerrit marks differently these whitespace blocks. https://gerrit.osmocom.org/#/c/14488/1/CommonLibs/trx_vty.h File CommonLibs/trx_vty.h: https://gerrit.osmocom.org/#/c/14488/1/CommonLibs/trx_vty.h at 66 PS1, Line 66: unsigned int stack_size; size_t? https://gerrit.osmocom.org/#/c/14488/1/CommonLibs/trx_vty.c File CommonLibs/trx_vty.c: https://gerrit.osmocom.org/#/c/14488/1/CommonLibs/trx_vty.c at 340 PS1, Line 340: "stack-size <0-2147483647>", is 2147483647 or something similar? worth adding a comment. https://gerrit.osmocom.org/#/c/14488/1/CommonLibs/trx_vty.c at 685 PS1, Line 685: trx->cfg.stack_size = 0; You can drop this line, it's already set by talloc_zero. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Id752f6b5ce9a96a67cd1ff835687ce0e03d3a50d Gerrit-Change-Number: 14488 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 11:30:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 11:49:01 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 11:49:01 +0000 Subject: Change in ...osmo-trx[master]: Add option to set stack size in config file, default == 0 == OS default In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14488 ) Change subject: Add option to set stack size in config file, default == 0 == OS default ...................................................................... Patch Set 1: (3 comments) > Patch Set 1: Code-Review+1 > > (5 comments) > > Fine, small fixes needed. https://gerrit.osmocom.org/#/c/14488/1/CommonLibs/trx_vty.h File CommonLibs/trx_vty.h: https://gerrit.osmocom.org/#/c/14488/1/CommonLibs/trx_vty.h at 66 PS1, Line 66: unsigned int stack_size; > size_t? Why? Real range is from not enough (32k) to default on linux (8MiB) to ... slightly more, which is extremely unlikely, it just has to be a type that can hold a reasonably large number. https://gerrit.osmocom.org/#/c/14488/1/CommonLibs/trx_vty.c File CommonLibs/trx_vty.c: https://gerrit.osmocom.org/#/c/14488/1/CommonLibs/trx_vty.c at 340 PS1, Line 340: "stack-size <0-2147483647>", > is 2147483647 or something similar? worth adding a comment. Doesn't matter, no one is going to increase the stack size from 8MiB to 2GiB, i could have chosen 12345678 instead. https://gerrit.osmocom.org/#/c/14488/1/CommonLibs/trx_vty.c at 685 PS1, Line 685: trx->cfg.stack_size = 0; > You can drop this line, it's already set by talloc_zero. Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Id752f6b5ce9a96a67cd1ff835687ce0e03d3a50d Gerrit-Change-Number: 14488 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 11:49:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 11:49:29 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 11:49:29 +0000 Subject: Change in ...osmo-msc[master]: libvlr: fix sgsn tmsi creation, replace constant with define In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14448 ) Change subject: libvlr: fix sgsn tmsi creation, replace constant with define ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba Gerrit-Change-Number: 14448 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 17 Jun 2019 11:49: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 17 11:50:34 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 11:50:34 +0000 Subject: Change in ...osmo-sgsn[master]: replace magic tmsi constant with define 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/+/14486 to look at the new patch set (#2). Change subject: replace magic tmsi constant with define ...................................................................... replace magic tmsi constant with define Depends: libosmocore I52b9f6b5f3e96d85a390ba2af21d7814df8aaeec Change-Id: Icf9f466efce520779c926b47b6e6d6c9815120eb --- M src/gprs/gb_proxy.c M src/gprs/gprs_sgsn.c 2 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/86/14486/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icf9f466efce520779c926b47b6e6d6c9815120eb Gerrit-Change-Number: 14486 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 11:51:19 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 11:51:19 +0000 Subject: Change in ...osmo-msc[master]: libvlr: fix sgsn tmsi creation, replace constant with define In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14448 ) Change subject: libvlr: fix sgsn tmsi creation, replace constant with define ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/14448/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14448/3//COMMIT_MSG at 11 PS3, Line 11: Change-Id BTW: feel free to specify the related change in libosmocore here using: 'Depends-On: ', right after 'Change-Id'. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba Gerrit-Change-Number: 14448 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 17 Jun 2019 11:51:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 11:54:45 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 17 Jun 2019 11:54:45 +0000 Subject: Change in ...osmo-pcu[master]: decompress_crbb: add length argument for search_runlen In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14481 ) Change subject: decompress_crbb: add length argument for search_runlen ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14481/1/src/egprs_rlc_compression.cpp File src/egprs_rlc_compression.cpp: https://gerrit.osmocom.org/#/c/14481/1/src/egprs_rlc_compression.cpp at 471 PS1, Line 471: while (iter->run_length == -1) { > Why is iterating over this condition which seems to never change inside the loop? That's really conf [?] it's walking over a tree. branches have run_length = -1, while leafs have a runlength >= 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie34a0651e7e7efea4e9ecff1e3a467588113cf47 Gerrit-Change-Number: 14481 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 11:54: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 Mon Jun 17 11:54:48 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 11:54:48 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14477 ) Change subject: libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14477/1/src/libmsc/gsm_09_11.c File src/libmsc/gsm_09_11.c: https://gerrit.osmocom.org/#/c/14477/1/src/libmsc/gsm_09_11.c at 452 PS1, Line 452: return -EAGAIN; > EAGAIN? why EAGAIN? I am still not sure witch one to use. Any ideas? EEXIST? ENODEV? -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I076d12ef24d7320eda1df1ee4588da7375ef3d9e Gerrit-Change-Number: 14477 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 11:54:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 12:00:10 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 12:00:10 +0000 Subject: Change in ...osmo-sgsn[master]: replace magic tmsi constant with define In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14486 ) Change subject: replace magic tmsi constant with define ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icf9f466efce520779c926b47b6e6d6c9815120eb Gerrit-Change-Number: 14486 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 12:00: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 17 12:01:20 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 12:01:20 +0000 Subject: Change in ...osmo-pcu[master]: decompress_crbb: add length argument for search_runlen In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14481 ) Change subject: decompress_crbb: add length argument for search_runlen ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14481/1/src/egprs_rlc_compression.cpp File src/egprs_rlc_compression.cpp: https://gerrit.osmocom.org/#/c/14481/1/src/egprs_rlc_compression.cpp at 471 PS1, Line 471: while (iter->run_length == -1) { > it's walking over a tree. [?] Ah indeed iter is updated, thanks. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie34a0651e7e7efea4e9ecff1e3a467588113cf47 Gerrit-Change-Number: 14481 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 12:01:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: lynxis lazus 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 17 12:02:49 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 12:02:49 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14477 ) Change subject: libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14477/1/src/libmsc/gsm_09_11.c File src/libmsc/gsm_09_11.c: https://gerrit.osmocom.org/#/c/14477/1/src/libmsc/gsm_09_11.c at 452 PS1, Line 452: return -EAGAIN; > I am still not sure witch one to use. [?] Whatever, EEXIST, EINVAL, etc. but EAGAIN usually has a different meaning (like try calling it again), which doesn't apply here afaiu. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I076d12ef24d7320eda1df1ee4588da7375ef3d9e Gerrit-Change-Number: 14477 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 12:02:49 +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 17 12:05:53 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 12:05:53 +0000 Subject: Change in ...osmo-msc[master]: libvlr: fix sgsn tmsi creation, replace constant with define In-Reply-To: References: Message-ID: Hello fixeria, pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/14448 to look at the new patch set (#4). Change subject: libvlr: fix sgsn tmsi creation, replace constant with define ...................................................................... libvlr: fix sgsn tmsi creation, replace constant with define reported by _dev_zero in #osmocom Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba Depends: libosmocore I52b9f6b5f3e96d85a390ba2af21d7814df8aaeec --- M src/libvlr/vlr.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/48/14448/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba Gerrit-Change-Number: 14448 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 12:15:03 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 12:15:03 +0000 Subject: Change in ...osmo-msc[master]: libvlr: fix sgsn tmsi creation, replace constant with define In-Reply-To: References: Message-ID: Hello fixeria, pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/14448 to look at the new patch set (#5). Change subject: libvlr: fix sgsn tmsi creation, replace constant with define ...................................................................... libvlr: fix sgsn tmsi creation, replace constant with define reported by _dev_zero in #osmocom Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba Depends-On: libosmocore I52b9f6b5f3e96d85a390ba2af21d7814df8aaeec --- M src/libvlr/vlr.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/48/14448/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba Gerrit-Change-Number: 14448 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 12:18:56 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 12:18:56 +0000 Subject: Change in ...osmo-msc[master]: libvlr: fix sgsn tmsi creation, replace constant with define In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14448 ) Change subject: libvlr: fix sgsn tmsi creation, replace constant with define ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba Gerrit-Change-Number: 14448 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 17 Jun 2019 12:18:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 12:19:24 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 12:19:24 +0000 Subject: Change in ...osmo-trx[master]: Add option to set stack size in config file, default == 0 == OS default In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/14488 to look at the new patch set (#2). Change subject: Add option to set stack size in config file, default == 0 == OS default ...................................................................... Add option to set stack size in config file, default == 0 == OS default Change-Id: Id752f6b5ce9a96a67cd1ff835687ce0e03d3a50d --- M CommonLibs/Threads.cpp M CommonLibs/Threads.h M CommonLibs/trx_vty.c M CommonLibs/trx_vty.h M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h M Transceiver52M/osmo-trx.cpp 7 files changed, 32 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/88/14488/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Id752f6b5ce9a96a67cd1ff835687ce0e03d3a50d Gerrit-Change-Number: 14488 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen 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 17 12:21:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 12:21:25 +0000 Subject: Change in ...osmo-trx[master]: Add option to set stack size in config file, default == 0 == OS default In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14488 ) Change subject: Add option to set stack size in config file, default == 0 == OS default ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Id752f6b5ce9a96a67cd1ff835687ce0e03d3a50d Gerrit-Change-Number: 14488 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 12:21:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 12:21:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 12:21:39 +0000 Subject: Change in ...osmo-trx[master]: Add option to set stack size in config file, default == 0 == OS default In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14488 ) Change subject: Add option to set stack size in config file, default == 0 == OS default ...................................................................... Patch Set 2: Code-Review-1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Id752f6b5ce9a96a67cd1ff835687ce0e03d3a50d Gerrit-Change-Number: 14488 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 12:21:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 12:21:52 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 17 Jun 2019 12:21:52 +0000 Subject: Change in ...osmo-ci[master]: OBS: make nightly packages conflict with latest Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/14490 Change subject: OBS: make nightly packages conflict with latest ...................................................................... OBS: make nightly packages conflict with latest Add conflicting dummy packages osmocom-nightly and osmocom-latest, and make all packages from each repository depend on the right one. As usually, the latest packages will only get changed when a new release appears. So the dependency will get introduced after tagging a new release. I have tested in an own OBS namespace, that everything works as expected. Related: OS#2640 Change-Id: I79c45e798c10a65443b9fb9ecb54393d1918608a --- A scripts/common-obs.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 3 files changed, 95 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/90/14490/1 diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh new file mode 100644 index 0000000..2b33039 --- /dev/null +++ b/scripts/common-obs.sh @@ -0,0 +1,79 @@ +#!/bin/sh +# Various common code used in the OBS (opensuse build service) related osmo-ci shell scripts + +# Create the source for a dummy package, that conflicts with another dummy package in the current directory. Example +# of the structure that will be generated: +# osmocom-nightly +# ??? debian +# ??? changelog +# ??? compat +# ??? control +# ??? copyright +# ??? rules +# ??? source +# ??? format +# $1: name of dummy package (e.g. "osmocom-nightly") +# $2: name of conflicting package (e.g. "osmocom-latest") +osmo_obs_prepare_conflict() { + local pkgname="$1" + local pkgname_conflict="$2" + local pkgver="0.0.0" + local oldpwd="$PWD" + + mkdir -p "$pkgname/debian/source" + cd "$pkgname/debian" + + # Fill control, changelog, rules + cat << EOF > control +Source: ${pkgname} +Section: unknown +Priority: optional +Maintainer: Oliver Smith +Build-Depends: debhelper (>= 9) +Standards-Version: 3.9.8 + +Package: ${pkgname} +Depends: \${misc:Depends} +Architecture: any +Conflicts: ${pkgname_conflict} +Description: Dummy package, which conflicts with ${pkgname_conflict} +EOF + cat << EOF > changelog +${pkgname} (${pkgver}) unstable; urgency=medium + + * Dummy package, which conflicts with ${pkgname_conflict}. + + -- Oliver Smith Thu, 13 Jun 2019 12:50:19 +0200 +EOF + cat << EOF > rules +#!/usr/bin/make -f +%: + dh \$@ +EOF + + # Finish up debian dir + chmod +x rules + echo "9" > compat + echo "3.0 (native)" > source/format + touch copyright + + # Put in git repository + cd .. + git init . + git add -A + git commit -m "auto-commit: $pkgname dummy package" || true + git tag -f "$pkgver" + + cd "$oldpwd" +} + +# Add dependency to all (sub)packages in debian/control and commit the change. +# $1: path to debian/control file +# $2: name of the package to depend on +osmo_obs_add_debian_dependency() { + # Note: adding the comma at the end should be fine. If there is a Depends: line, it is most likely not empty. It + # should at least have ${misc:Depends} according to lintian. + sed "s/^Depends: /Depends: $2, /g" -i "$1" + + git -C "$(dirname "$1")" commit -m "auto-commit: debian: depend on $2" . +} diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 543c43a..2a9e28d 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -1,4 +1,5 @@ #!/bin/sh +. "$(dirname "$0")/common-obs.sh" # requirements # apt install git-buildpackage osc git @@ -28,6 +29,9 @@ fi [ -d "$DEBSRCDIR" ] && rm -rf "$DEBSRCDIR" mkdir "$DEBSRCDIR" + + cd "$TOP" + osmo_obs_prepare_conflict "osmocom-latest" "osmocom-nightly" } get_last_tag() { @@ -84,6 +88,11 @@ VER=$(get_last_tag "$project") if [ -x ./git-version-gen ]; then ./git-version-gen . > .tarball-version 2>/dev/null + fi + + osmo_obs_add_debian_dependency "./debian/control" "osmocom-latest" + + if [ -x ./git-version-gen ]; then gbp buildpackage -S -uc -us -d --git-ignore-branch "--git-export-dir=$output" \ "--git-debian-branch=$VER" --git-ignore-new $gitbpargs \ --git-postexport='cp $GBP_GIT_DIR/../.tarball-version $GBP_TMP_DIR/' @@ -152,6 +161,7 @@ checkout_copy_debian8_jessie "osmo-gsm-manuals" + build osmocom-latest build limesuite --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals build osmo-gsm-manuals-debian8-jessie diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index 27cd9dc..172e4e0 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -1,4 +1,5 @@ #!/bin/bash +. "$(dirname "$0")/common-obs.sh" # requirements # apt install devscripts git-buildpackage osc git @@ -23,6 +24,9 @@ mkdir -p "$REPO/osc/" cd "$REPO/osc" osc co "$PROJ" + + cd "$REPO" + osmo_obs_prepare_conflict "osmocom-nightly" "osmocom-latest" } get_last_tag() { @@ -98,6 +102,7 @@ if [ "$changelog" = "commit" ] ; then VER=$(get_commit_version) + osmo_obs_add_debian_dependency "./debian/control" "osmocom-nightly" dch -b -v "$VER" -m "Snapshot build" git commit -m "$VER snapshot" debian/ fi @@ -205,6 +210,7 @@ checkout_copy_debian8_jessie "osmo-gsm-manuals" checkout_copy_debian8_jessie "osmo-trx" + build osmocom-nightly build limesuite no_commit --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals build osmo-gsm-manuals-debian8-jessie -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/14490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I79c45e798c10a65443b9fb9ecb54393d1918608a Gerrit-Change-Number: 14490 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 17 12:25:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 12:25:22 +0000 Subject: Change in ...osmo-trx[master]: Add option to set stack size in config file, default == 0 == OS default In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14488 ) Change subject: Add option to set stack size in config file, default == 0 == OS default ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14488/2/CommonLibs/trx_vty.c File CommonLibs/trx_vty.c: https://gerrit.osmocom.org/#/c/14488/2/CommonLibs/trx_vty.c at 339 PS2, Line 339: DEFUN(cfg_stack_size, cfg_stack_size_cmd, Forgot before about it: You are missing an update of ./doc/manuals/vty/trx_vty_reference.xml. run the program and use "show online-help" in VTY. You can use osmo-python-test.git's "osmo_interact_vty.py -X" to get it into a file easily. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Id752f6b5ce9a96a67cd1ff835687ce0e03d3a50d Gerrit-Change-Number: 14488 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 12:25:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 12:29:22 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 12:29:22 +0000 Subject: Change in ...osmo-sgsn[master]: replace magic tmsi constant with define In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14486 ) Change subject: replace magic tmsi constant with define ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icf9f466efce520779c926b47b6e6d6c9815120eb Gerrit-Change-Number: 14486 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 12:29:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 12:41:41 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 12:41:41 +0000 Subject: Change in ...osmo-trx[master]: Add option to set stack size in config file, default == 0 == OS default In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/14488 to look at the new patch set (#3). Change subject: Add option to set stack size in config file, default == 0 == OS default ...................................................................... Add option to set stack size in config file, default == 0 == OS default Change-Id: Id752f6b5ce9a96a67cd1ff835687ce0e03d3a50d --- M CommonLibs/Threads.cpp M CommonLibs/Threads.h M CommonLibs/trx_vty.c M CommonLibs/trx_vty.h M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h M Transceiver52M/osmo-trx.cpp M doc/manuals/vty/trx_vty_reference.xml 8 files changed, 38 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/88/14488/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Id752f6b5ce9a96a67cd1ff835687ce0e03d3a50d Gerrit-Change-Number: 14488 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen 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 17 12:42:43 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 17 Jun 2019 12:42:43 +0000 Subject: Change in ...osmo-pcu[master]: encoding: use `/* */` for comments instead of `#if 0 #endif` In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14483 ) Change subject: encoding: use `/* */` for comments instead of `#if 0 #endif` ...................................................................... Patch Set 1: Code-Review+1 I agree with Pau, it would be nice to remove the empty lines there. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ifff9526b15bfda7a0f85c92bcb0d3fabab61ca32 Gerrit-Change-Number: 14483 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 12:42:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 12:43:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 12:43:02 +0000 Subject: Change in ...osmo-trx[master]: Add option to set stack size in config file, default == 0 == OS default In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14488 ) Change subject: Add option to set stack size in config file, default == 0 == OS default ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Id752f6b5ce9a96a67cd1ff835687ce0e03d3a50d Gerrit-Change-Number: 14488 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 12:43: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 17 12:44:56 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 17 Jun 2019 12:44:56 +0000 Subject: Change in ...osmo-bts[master]: RSL: Fix fixed MS power control in RSL CHAN ACTIV In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14489 ) Change subject: RSL: Fix fixed MS power control in RSL CHAN ACTIV ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0bbe171a287b10d71fc853cd721f66e4c84db8c5 Gerrit-Change-Number: 14489 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 17 Jun 2019 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 17 12:48:44 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 12:48:44 +0000 Subject: Change in ...osmo-sgsn[master]: replace magic tmsi constant with define In-Reply-To: References: Message-ID: Hoernchen has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14486 ) Change subject: replace magic tmsi constant with define ...................................................................... replace magic tmsi constant with define Depends: libosmocore I52b9f6b5f3e96d85a390ba2af21d7814df8aaeec Change-Id: Icf9f466efce520779c926b47b6e6d6c9815120eb --- M src/gprs/gb_proxy.c M src/gprs/gprs_sgsn.c 2 files changed, 3 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved Hoernchen: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs/gb_proxy.c b/src/gprs/gb_proxy.c index 3da7bfd..3f471ff 100644 --- a/src/gprs/gb_proxy.c +++ b/src/gprs/gb_proxy.c @@ -243,7 +243,7 @@ break; } - bss_ptmsi = bss_ptmsi | 0xC0000000; + bss_ptmsi = bss_ptmsi | GSM23003_TMSI_SGSN_MASK; if (gbproxy_link_info_by_ptmsi(peer, bss_ptmsi)) bss_ptmsi = GSM_RESERVED_TMSI; diff --git a/src/gprs/gprs_sgsn.c b/src/gprs/gprs_sgsn.c index 5801107..8d3de7b 100644 --- a/src/gprs/gprs_sgsn.c +++ b/src/gprs/gprs_sgsn.c @@ -692,12 +692,12 @@ * Alternatively, a freeze list could be used if another PRNG is used * or when this approach proves to be not sufficient. */ - if (ptmsi >= 0xC0000000) { + if (ptmsi >= GSM23003_TMSI_SGSN_MASK) { if (!max_retries--) goto failed; goto restart; } - ptmsi |= 0xC0000000; + ptmsi |= GSM23003_TMSI_SGSN_MASK; if (ptmsi == GSM_RESERVED_TMSI) { if (!max_retries--) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Icf9f466efce520779c926b47b6e6d6c9815120eb Gerrit-Change-Number: 14486 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 12:49:08 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 17 Jun 2019 12:49:08 +0000 Subject: Change in ...osmo-pcu[master]: decompress_crbb: add length argument for search_runlen In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14481 ) Change subject: decompress_crbb: add length argument for search_runlen ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/14481/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14481/1//COMMIT_MSG at 10 PS1, Line 10: read reads https://gerrit.osmocom.org/#/c/14481/1/src/egprs_rlc_compression.cpp File src/egprs_rlc_compression.cpp: https://gerrit.osmocom.org/#/c/14481/1/src/egprs_rlc_compression.cpp at 533 PS1, Line 533: (unrelated change) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie34a0651e7e7efea4e9ecff1e3a467588113cf47 Gerrit-Change-Number: 14481 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 12:49: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 17 12:51:25 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 12:51:25 +0000 Subject: Change in ...osmo-msc[master]: libvlr: fix sgsn tmsi creation, replace constant with define In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14448 ) Change subject: libvlr: fix sgsn tmsi creation, replace constant with define ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba Gerrit-Change-Number: 14448 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 17 Jun 2019 12:51: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 17 12:51:27 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 12:51:27 +0000 Subject: Change in ...osmo-msc[master]: libvlr: fix sgsn tmsi creation, replace constant with define In-Reply-To: References: Message-ID: Hoernchen has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14448 ) Change subject: libvlr: fix sgsn tmsi creation, replace constant with define ...................................................................... libvlr: fix sgsn tmsi creation, replace constant with define reported by _dev_zero in #osmocom Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba Depends-On: libosmocore I52b9f6b5f3e96d85a390ba2af21d7814df8aaeec --- M src/libvlr/vlr.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve Hoernchen: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c index 2753096..5610cfb 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -336,11 +336,11 @@ /* Section 2.4 of 23.003: MSC has two MSB 00/01/10, SGSN 11 */ if (vlr->cfg.is_ps) { /* SGSN */ - tmsi |= 0xC000000; + tmsi |= GSM23003_TMSI_SGSN_MASK; } else { /* MSC */ - if ((tmsi & 0xC0000000) == 0xC0000000) - tmsi &= ~0xC0000000; + if ((tmsi & GSM23003_TMSI_SGSN_MASK) == GSM23003_TMSI_SGSN_MASK) + tmsi &= ~GSM23003_TMSI_SGSN_MASK; } /* If this TMSI is already in use, try another one. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib5679ab5d06b6ef735725b4a68eeb1e9cbcc11ba Gerrit-Change-Number: 14448 Gerrit-PatchSet: 6 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria 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 Mon Jun 17 12:56:29 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 17 Jun 2019 12:56:29 +0000 Subject: Change in ...osmo-ccid-firmware[master]: CCID (minor): remove unused variables In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14435 ) Change subject: CCID (minor): remove unused variables ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14435/2/ccid/ccid_device.c File ccid/ccid_device.c: https://gerrit.osmocom.org/#/c/14435/2/ccid/ccid_device.c at 767 PS2, Line 767: /* cs = &ci->slot[slot_nr]; */ Why are these three lines commented out, instead of also deleting them? -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14435 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: Iaf5e13574c27a6f4b8efa541ac908dde452d1dcf Gerrit-Change-Number: 14435 Gerrit-PatchSet: 2 Gerrit-Owner: K?vin Redon Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Mon, 17 Jun 2019 12:56:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 12:57:20 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 12:57:20 +0000 Subject: Change in ...osmo-trx[master]: Add option to set stack size in config file, default == 0 == OS default In-Reply-To: References: Message-ID: Hoernchen has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/14488 ) Change subject: Add option to set stack size in config file, default == 0 == OS default ...................................................................... Add option to set stack size in config file, default == 0 == OS default Change-Id: Id752f6b5ce9a96a67cd1ff835687ce0e03d3a50d --- M CommonLibs/Threads.cpp M CommonLibs/Threads.h M CommonLibs/trx_vty.c M CommonLibs/trx_vty.h M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h M Transceiver52M/osmo-trx.cpp M doc/manuals/vty/trx_vty_reference.xml 8 files changed, 38 insertions(+), 12 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/CommonLibs/Threads.cpp b/CommonLibs/Threads.cpp index c056d69..ccea1e7 100644 --- a/CommonLibs/Threads.cpp +++ b/CommonLibs/Threads.cpp @@ -135,8 +135,10 @@ // (pat) Moved initialization to constructor to avoid crash in destructor. //res = pthread_attr_init(&mAttrib); //assert(!res); - res = pthread_attr_setstacksize(&mAttrib, mStackSize); - assert(!res); + if (mStackSize != 0) { + res = pthread_attr_setstacksize(&mAttrib, mStackSize); + assert(!res); + } res = pthread_create(&mThread, &mAttrib, task, arg); assert(!res); } diff --git a/CommonLibs/Threads.h b/CommonLibs/Threads.h index 4c5b9ee..8a6ba47 100644 --- a/CommonLibs/Threads.h +++ b/CommonLibs/Threads.h @@ -158,7 +158,7 @@ public: /** Create a thread in a non-running state. */ - Thread(size_t wStackSize = (65536*4)):mThread((pthread_t)0) { + Thread(size_t wStackSize = 0):mThread((pthread_t)0) { pthread_attr_init(&mAttrib); // (pat) moved this here. mStackSize=wStackSize; } diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c index 4cc827b..795ec7b 100644 --- a/CommonLibs/trx_vty.c +++ b/CommonLibs/trx_vty.c @@ -336,6 +336,18 @@ return CMD_SUCCESS; } +DEFUN(cfg_stack_size, cfg_stack_size_cmd, + "stack-size <0-2147483647>", + "Set the stack size per thread in BYTE, 0 = OS default\n" + "Stack size per thread in BYTE\n") +{ + struct trx_ctx *trx = trx_from_vty(vty); + + trx->cfg.stack_size = atoi(argv[0]); + + return CMD_SUCCESS; +} + DEFUN(cfg_filler, cfg_filler_cmd, "filler dummy", "Enable C0 filler table\n" @@ -546,6 +558,8 @@ vty_out(vty, " ext-rach %s%s", trx->cfg.ext_rach ? "enable" : "disable", VTY_NEWLINE); if (trx->cfg.sched_rr != 0) vty_out(vty, " rt-prio %u%s", trx->cfg.sched_rr, VTY_NEWLINE); + if (trx->cfg.stack_size != 0) + vty_out(vty, " stack-size %u%s", trx->cfg.stack_size, VTY_NEWLINE); trx_rate_ctr_threshold_write_config(vty, " "); for (i = 0; i < trx->cfg.num_chans; i++) { @@ -585,6 +599,7 @@ vty_out(vty, " Extended RACH support: %s%s", trx->cfg.ext_rach ? "Enabled" : "Disabled", VTY_NEWLINE); vty_out(vty, " Real Time Priority: %u (%s)%s", trx->cfg.sched_rr, trx->cfg.sched_rr ? "Enabled" : "Disabled", VTY_NEWLINE); + vty_out(vty, " Stack size per Thread in BYTE (0 = OS default): %u%s", trx->cfg.stack_size, VTY_NEWLINE); vty_out(vty, " Channels: %u%s", trx->cfg.num_chans, VTY_NEWLINE); for (i = 0; i < trx->cfg.num_chans; i++) { chan = &trx->cfg.chans[i]; @@ -698,6 +713,7 @@ install_element(TRX_NODE, &cfg_filler_cmd); install_element(TRX_NODE, &cfg_ctr_error_threshold_cmd); install_element(TRX_NODE, &cfg_no_ctr_error_threshold_cmd); + install_element(TRX_NODE, &cfg_stack_size_cmd); install_element(TRX_NODE, &cfg_chan_cmd); install_node(&chan_node, dummy_config_write); diff --git a/CommonLibs/trx_vty.h b/CommonLibs/trx_vty.h index 8e91113..d939051 100644 --- a/CommonLibs/trx_vty.h +++ b/CommonLibs/trx_vty.h @@ -63,6 +63,7 @@ bool ext_rach; bool egprs; unsigned int sched_rr; + unsigned int stack_size; unsigned int num_chans; struct trx_chan chans[TRX_CHAN_MAX]; } cfg; diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 9c55d02..0aa4ff5 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -115,11 +115,11 @@ size_t tx_sps, size_t rx_sps, size_t chans, GSM::Time wTransmitLatency, RadioInterface *wRadioInterface, - double wRssiOffset) + double wRssiOffset, int wStackSize) : mBasePort(wBasePort), mLocalAddr(TRXAddress), mRemoteAddr(GSMcoreAddress), mClockSocket(TRXAddress, wBasePort, GSMcoreAddress, wBasePort + 100), mTransmitLatency(wTransmitLatency), mRadioInterface(wRadioInterface), - rssiOffset(wRssiOffset), + rssiOffset(wRssiOffset), stackSize(wStackSize), mSPSTx(tx_sps), mSPSRx(rx_sps), mChans(chans), mEdge(false), mOn(false), mForceClockInterface(false), mTxFreq(0.0), mRxFreq(0.0), mTSC(0), mMaxExpectedDelayAB(0), mMaxExpectedDelayNB(0), mWriteBurstToDiskMask(0) @@ -212,7 +212,7 @@ /* Start control threads */ for (size_t i = 0; i < mChans; i++) { TransceiverChannel *chan = new TransceiverChannel(this, i); - mControlServiceLoopThreads[i] = new Thread(32768); + mControlServiceLoopThreads[i] = new Thread(stackSize); mControlServiceLoopThreads[i]->start((void * (*)(void*)) ControlServiceLoopAdapter, (void*) chan); @@ -254,8 +254,8 @@ } /* Device is running - launch I/O threads */ - mRxLowerLoopThread = new Thread(32768); - mTxLowerLoopThread = new Thread(32768); + mRxLowerLoopThread = new Thread(stackSize); + mTxLowerLoopThread = new Thread(stackSize); mTxLowerLoopThread->start((void * (*)(void*)) TxLowerLoopAdapter,(void*) this); mRxLowerLoopThread->start((void * (*)(void*)) @@ -264,12 +264,12 @@ /* Launch uplink and downlink burst processing threads */ for (size_t i = 0; i < mChans; i++) { TransceiverChannel *chan = new TransceiverChannel(this, i); - mRxServiceLoopThreads[i] = new Thread(32768); + mRxServiceLoopThreads[i] = new Thread(stackSize); mRxServiceLoopThreads[i]->start((void * (*)(void*)) RxUpperLoopAdapter, (void*) chan); chan = new TransceiverChannel(this, i); - mTxPriorityQueueServiceLoopThreads[i] = new Thread(32768); + mTxPriorityQueueServiceLoopThreads[i] = new Thread(stackSize); mTxPriorityQueueServiceLoopThreads[i]->start((void * (*)(void*)) TxUpperLoopAdapter, (void*) chan); } diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h index 4614efe..ceb8c4a 100644 --- a/Transceiver52M/Transceiver.h +++ b/Transceiver52M/Transceiver.h @@ -108,7 +108,7 @@ size_t tx_sps, size_t rx_sps, size_t chans, GSM::Time wTransmitLatency, RadioInterface *wRadioInterface, - double wRssiOffset); + double wRssiOffset, int stackSize); /** Destructor */ ~Transceiver(); @@ -178,6 +178,7 @@ double rxFullScale; ///< full scale output to radio double rssiOffset; ///< RSSI to dBm conversion offset + int stackSize; ///< stack size for threads, 0 = OS default /** modulate and add a burst to the transmit queue */ void addRadioVector(size_t chan, BitVector &bits, diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index 05489bd..06b1a18 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -145,7 +145,7 @@ transceiver = new Transceiver(trx->cfg.base_port, trx->cfg.bind_addr, trx->cfg.remote_addr, trx->cfg.tx_sps, trx->cfg.rx_sps, trx->cfg.num_chans, GSM::Time(3,0), - radio, trx->cfg.rssi_offset); + radio, trx->cfg.rssi_offset, trx->cfg.stack_size); if (!transceiver->init(trx->cfg.filler, trx->cfg.rtsc, trx->cfg.rach_delay, trx->cfg.egprs, trx->cfg.ext_rach)) { LOG(ALERT) << "Failed to initialize transceiver"; diff --git a/doc/manuals/vty/trx_vty_reference.xml b/doc/manuals/vty/trx_vty_reference.xml index e448a46..ce6d335 100644 --- a/doc/manuals/vty/trx_vty_reference.xml +++ b/doc/manuals/vty/trx_vty_reference.xml @@ -1247,6 +1247,12 @@ + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Id752f6b5ce9a96a67cd1ff835687ce0e03d3a50d Gerrit-Change-Number: 14488 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 13:09:21 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 17 Jun 2019 13:09:21 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: test that RSL MS POWER does not activate MS power control withou... Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14491 Change subject: BTS: test that RSL MS POWER does not activate MS power control without PP IE ...................................................................... BTS: test that RSL MS POWER does not activate MS power control without PP IE Change-Id: I8776ed4af83dc9f9f32ac14f5d4c9e35f4a286d6 --- M bts/BTS_Tests.ttcn 1 file changed, 62 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/91/14491/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 9184f6a..9d7b8c2 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -2088,7 +2088,8 @@ } -/* see if we change the power level without receiving power parameters, which should not happen */ +/* see if we change the power level without receiving power parameters, which should not happen +rsl chan act WITHOUT power parameters */ function f_TC_rsl_ms_pwr_dyn_active(charstring id) runs on ConnHdlr { var L1ctlDlMessage l1_dl; @@ -2128,6 +2129,50 @@ } +/* see if we change the power level without receiving power parameters, which should not happen +ms power control WITHOUT power parameters */ +function f_TC_rsl_ms_pwr_dyn_active2(charstring id) runs on ConnHdlr { + var L1ctlDlMessage l1_dl; + + /* set a high value to ensure power decreases */ + f_trxc_fake_rssi(rxlev2dbm(50)); + f_l1_tune(L1CTL); + RSL.clear; + + var uint5_t pwr_var := 5; + + var template (value) RSL_IE_MS_Power ms_power := ts_RSL_IE_MS_Power(pwr_var); + var template (value) RSL_IE pwr := t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ms_power}); + + /* establish with fixed power level */ + f_est_dchan(more_ies :={valueof(pwr)}); + + /* check our initial power level */ + f_wait_for_l1_power_level(pwr_var); + + /* pwr control without power params IE, should NOT activate MS power control*/ + RSL.send(ts_RSL_MS_PWR_CTRL(g_chan_nr, ms_power)); + + /* wait, then check that our power level did not change */ + timer T1 := 10.0; + T1.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { + if ( oct2int(l1_dl.payload.data_ind.payload[0]) != pwr_var) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "BS power control should not be active unless we receive a power parameters IE!"); + } + repeat; + } + [] L1CTL.receive { repeat; } + [] T1.timeout { setverdict(pass); } + } + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + +} + function f_wait_for_l1_power_level(integer level) runs on ConnHdlr { var L1ctlDlMessage l1_dl; timer T0 := 10.0; @@ -2293,6 +2338,21 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } +testcase TC_rsl_ms_pwr_dyn_active2() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(); + f_vty_config(BTSVTY, "phy 0", "osmotrx ms-power-loop -100"); + for (var integer tn := 1; tn <= 1; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + pars.bts0_band := f_vty_get_bts0_band(); + vc_conn := f_start_handler(refers(f_TC_rsl_ms_pwr_dyn_active2), pars, trxc_comp := true); + vc_conn.done; + } + f_vty_config(BTSVTY, "phy 0", "no osmotrx ms-power-loop"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + testcase TC_meas_res_sign_tchf() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; @@ -5954,6 +6014,7 @@ execute( TC_meas_res_sign_tchh_toa256() ); execute( TC_rsl_ms_pwr_ctrl() ); execute( TC_rsl_ms_pwr_dyn_active() ); + execute( TC_rsl_ms_pwr_dyn_active2() ); execute( TC_rsl_ms_pwr_dyn_up() ); execute( TC_rsl_ms_pwr_dyn_down() ); execute( TC_rsl_ms_pwr_dyn_ass_updown() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8776ed4af83dc9f9f32ac14f5d4c9e35f4a286d6 Gerrit-Change-Number: 14491 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 17 13:48:49 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 13:48:49 +0000 Subject: Change in ...osmo-bsc[master]: Remove extern declarations of libosmovty symbols Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14492 Change subject: Remove extern declarations of libosmovty symbols ...................................................................... Remove extern declarations of libosmovty symbols Depends: libosmocore d61d517a2e35f482519561bd325652ee7144679a Change-Id: I5c8d02605a78c6792f616ad423b4491b83f42545 --- M include/osmocom/bsc/vty.h 1 file changed, 0 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/14492/1 diff --git a/include/osmocom/bsc/vty.h b/include/osmocom/bsc/vty.h index e632755..7e3c505 100644 --- a/include/osmocom/bsc/vty.h +++ b/include/osmocom/bsc/vty.h @@ -12,9 +12,6 @@ struct buffer *vty_argv_to_buffer(int argc, const char *argv[], int base); -extern struct cmd_element cfg_description_cmd; -extern struct cmd_element cfg_no_description_cmd; - enum bsc_vty_node { GSMNET_NODE = _LAST_OSMOVTY_NODE + 1, BTS_NODE, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5c8d02605a78c6792f616ad423b4491b83f42545 Gerrit-Change-Number: 14492 Gerrit-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 17 14:08:19 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 14:08:19 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/14463 to look at the new patch set (#4). Change subject: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation ...................................................................... libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation In case of network-originated SS/USSD session establishment, we need to verify the received GSUP PROC_SS_REQ message and make sure that all mandatory IEs are present. There is no sensible need to allocate a new transaction before doing all the checks, other than the ability to use LOG_TRANS(). This complicates the code, so let's avoid the early allocation. Change-Id: I4e027b19e8065a39324a1647957cef4066b82ce7 --- M src/libmsc/gsm_09_11.c M tests/msc_vlr/msc_vlr_test_ss.err 2 files changed, 21 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/63/14463/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I4e027b19e8065a39324a1647957cef4066b82ce7 Gerrit-Change-Number: 14463 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 Mon Jun 17 14:08:19 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 14:08:19 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/14477 to look at the new patch set (#2). Change subject: libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR ...................................................................... libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR This message can be used by the HLR/EUSE to indicate that something went wrong, e.g. the connection with EUSE is lost, EUSE or the MS did not respond in time, etc. OsmoMSC needs to release the SS/USSD transaction, and send GSM 04.80 RELEASE COMPLETE message to the MS if there is an active RAN connection. Change-Id: I076d12ef24d7320eda1df1ee4588da7375ef3d9e Related: (TTCN-3) I5586a88136c936441a842f49248824680603672e Related: OS#2931 --- M src/libmsc/gsm_09_11.c 1 file changed, 25 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/77/14477/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I076d12ef24d7320eda1df1ee4588da7375ef3d9e Gerrit-Change-Number: 14477 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 14:12:49 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 14:12:49 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14463 ) Change subject: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I4e027b19e8065a39324a1647957cef4066b82ce7 Gerrit-Change-Number: 14463 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 14:12:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 14:13:40 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 14:13:40 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14477 ) Change subject: libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I076d12ef24d7320eda1df1ee4588da7375ef3d9e Gerrit-Change-Number: 14477 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 14:13: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 17 14:34:17 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 14:34:17 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: WIP Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14493 Change subject: WIP ...................................................................... WIP Change-Id: I21ffcaa241e4fc0bd2c6563e21f1c8bdb4d14dd6 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M library/BSSMAP_Templates.ttcn 3 files changed, 94 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/93/14493/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 00995bf..37e1bf8 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1233,6 +1233,20 @@ setverdict(pass); } +/* Verify MGCP muxed over IPA from MSC (or BSC-NAT) is forwarded to MGW by BSC */ +testcase TC_assignment_mgcp_ipa() 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})); + pars.forward_mgcp_ipa := true; + vc_conn := f_start_handler(refers(f_TC_assignment_codec), pars); + vc_conn.done; +} + function f_bssap_tx_ud(template PDU_BSSAP bssap) runs on test_CT { BSSAP.send(ts_BSSAP_UNITDATA_req(g_bssap.sccp_addr_peer, g_bssap.sccp_addr_own, bssap)); } @@ -1717,6 +1731,7 @@ } connect(vc_conn:BSSAP, g_bssap.vc_RAN:CLIENT); connect(vc_conn:MGCP, vc_MGCP:MGCP_CLIENT); + connect(vc_conn:MGCP_MSC_CLIENT, g_bssap.vc_RAN:MGCP) } function f_start_handler(void_fn fn, template (omit) TestHdlrParams pars := omit) @@ -4018,6 +4033,7 @@ execute( TC_ctrl() ); if (mp_bssap_cfg.transport == BSSAP_TRANSPORT_SCCPlite_SERVER) { execute( TC_ctrl_location() ); + execute( TC_assignment_mgcp_ipa() ); } /* RSL DCHAN Channel ACtivation / Deactivation */ diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index c709794..870103f 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -15,6 +15,7 @@ import from General_Types all; import from Osmocom_Types all; import from GSM_Types all; +import from IPA_Emulation all; import from SCCPasp_Types all; import from BSSAP_Types all; import from RAN_Emulation all; @@ -23,6 +24,7 @@ import from IPL4asp_Types all; import from Native_Functions all; +import from MGCP_CodecPort all; import from MGCP_Types all; import from MGCP_Templates all; import from MGCP_Emulation all; @@ -357,9 +359,19 @@ port RAN_PROC_PT RAN; port TELNETasp_PT BSCVTY; + /* Proxy MGCP-over-IPA and MGCP-over-UDP */ + //var MGCP_Adapter_CT vc_MGCP_UDP; + port IPA_MGCP_PT MGCP_MSC_CLIENT; + var integer g_trans_id := 0; + var MgcpConnectionId g_mgcp_conn_id; + var MediaState g_media; var TestHdlrParams g_pars; + var charstring host_bts := "127.0.0.2"; + var charstring host_mgw := "127.0.0.3"; + var charstring host_msc := "127.0.0.4"; + var boolean g_vty_initialized := false; } @@ -372,6 +384,19 @@ f_vty_transceive(BSCVTY, "enable"); g_vty_initialized := true; } + +/* + if (g_pars.forward_mgcp_ipa) { + vc_MGCP_UDP := MGCP_Adapter_CT.create(int2str(i) & "-MGCP_UDP"); + connect(vc_BSSMAP:MGCP, vc_MGCP_UDP:MGCP); + vc_MGCP_UDP.start(MGCP_Adapter.main()); + }*/ +} + +private function get_next_trans_id() runs on MSC_ConnHdlr return MgcpTransId { + var MgcpTransId tid := int2str(g_trans_id); + g_trans_id := g_trans_id + 1; + return tid; } /* Callback function from general RAN_Emulation whenever a connectionless @@ -453,7 +478,8 @@ TestHdlrParamsLcls lcls, TestHdlrParamsHandover handover optional, boolean aoip, - boolean use_osmux + boolean use_osmux, + boolean forward_mgcp_ipa /* only used for SCCPLite: Forward MGCP towards BSC's attached MGW over BSC<->MSC IPA conn */ }; /* Note: Do not use valueof() to get a value of this template, use @@ -478,7 +504,8 @@ }, handover := omit, aoip := true, - use_osmux := false + use_osmux := false, + forward_mgcp_ipa := false } function f_create_chan_and_exp() runs on MSC_ConnHdlr { @@ -846,6 +873,30 @@ } } +/* Send a MGCP request + receive a (matching!) response */ +function mgcp_transceive_mgw(template MgcpCommand cmd, template MgcpResponse resp := ?) runs on MSC_ConnHdlr { + template MgcpResponse resp_any := ? + var MgcpResponse resp_val; + resp.line.trans_id := cmd.line.trans_id; + timer T := 5.0; + + BSSAP.send(cmd); + T.start; + alt { + [] BSSAP.receive(resp) -> value resp_val { } + [] BSSAP.receive(resp_any) { + setverdict(fail, "Response didn't match template"); + mtc.stop; + } + [] BSSAP.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for response to ", cmd); + mtc.stop; + } + } + T.stop; +} + /* Helper function to check if the activity on the MGCP matches what we * expected */ function f_check_mgcp_expectations() runs on MSC_ConnHdlr { @@ -878,7 +929,7 @@ codecType := FR_AMR; } - f_MscConnHdlr_init(g_pars.media_nr, "127.0.0.2", "127.0.0.3", codecType); + f_MscConnHdlr_init(g_pars.media_nr, host_bts, host_mgw, codecType); /* patch in the LCLS related items, as needed */ f_ass_patch_lcls(ass_tpl, exp_ass_cpl); @@ -964,6 +1015,7 @@ g_media.mgcp_conn[0].mdcx_seen_exp := 1; g_media.mgcp_conn[1].crcx_seen_exp := 0; g_media.mgcp_conn[1].mdcx_seen_exp := 0; + /* FIXME: may want to add something here */ } else { g_media.mgcp_conn[0].crcx_seen_exp := 1; g_media.mgcp_conn[0].mdcx_seen_exp := 1; @@ -1028,6 +1080,24 @@ } } + if (g_pars.forward_mgcp_ipa) { + /* With SCCPLite, connect to BSC-located MGW using a CRCX + SDP. + It is sent in MGCP over IPA in the BSC<->MSC (BSC-NAT) + connection. BSC will forward it to its MGW. */ + var template MgcpCommand cmd; + var template MgcpResponse resp := ?; + var integer cic := f_bssmap_ie_cic_2_int(ass_cmd.pdu.bssmap.assignmentRequest.circuitIdentityCode); + var MgcpEndpoint ep := int2str(cic) & "@mgw"; /* 1: matches value configured in BSC_Tests.ttcn pass in AssignReq */ + var MgcpCallId call_id := '51234'H; + var SDP_attribute_list attributes := { valueof(ts_SDP_ptime(20)) }; + cmd := ts_CRCX(get_next_trans_id(), ep, "sendrecv", call_id); + cmd.sdp := ts_SDP(host_msc, host_mgw, "23", "42", + 14000, { int2str(g_media.mgcp_conn[0].rtp_pt) }, + { valueof(ts_SDP_ptime(20)) }); + g_mgcp_conn_id := f_mgcp_alloc_conn_id(); + mgcp_transceive_mgw(cmd, tr_CRCX_ACK); + } + f_check_mgcp_expectations(); if (st.is_assignment and st.assignment_done) { diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index b377358..9015680 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -402,6 +402,11 @@ cicLow := bit2oct((substr(int2bit(span, 11), 8, 3) << 5) & int2bit(ts, 5)) } +function f_bssmap_ie_cic_2_int(BSSMAP_IE_CircuitIdentityCode cic_ie) return integer { + var integer cic := (oct2int(cic_ie.cicHigh) * 256) + oct2int(cic_ie.cicLow); + return cic; +} + template (value) BSSMAP_IE_AoIP_TransportLayerAddress ts_BSSMAP_IE_AoIP_TLA(BSSMAP_FIELD_IPAddress addr, uint16_t udp_port, integer len) := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I21ffcaa241e4fc0bd2c6563e21f1c8bdb4d14dd6 Gerrit-Change-Number: 14493 Gerrit-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 17 14:37:51 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 14:37:51 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14463 ) Change subject: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation ...................................................................... libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation In case of network-originated SS/USSD session establishment, we need to verify the received GSUP PROC_SS_REQ message and make sure that all mandatory IEs are present. There is no sensible need to allocate a new transaction before doing all the checks, other than the ability to use LOG_TRANS(). This complicates the code, so let's avoid the early allocation. Change-Id: I4e027b19e8065a39324a1647957cef4066b82ce7 --- M src/libmsc/gsm_09_11.c M tests/msc_vlr/msc_vlr_test_ss.err 2 files changed, 21 insertions(+), 31 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 4a7c348..adf13b1 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -317,53 +317,43 @@ struct gsm_trans *trans, *transt; int tid; - /* Allocate transaction first, for log context */ - trans = trans_alloc(net, vsub, TRANS_USSD, - TRANS_ID_UNASSIGNED, gsup_msg->session_id); - - if (!trans) { - LOG_TRANS(trans, LOGL_ERROR, " -> No memory for trans\n"); - return NULL; - } - if (gsup_msg->session_state != OSMO_GSUP_SESSION_STATE_BEGIN) { - LOG_TRANS(trans, LOGL_ERROR, "Received non-BEGIN message " - "for non-existing transaction\n"); - trans_free(trans); + LOGP(DSS, LOGL_ERROR, "Received non-BEGIN message for non-existing transaction\n"); return NULL; } + LOGP(DSS, LOGL_DEBUG, "(%s) Establishing a network-originated session (id=0x%x)\n", + vlr_subscr_name(vsub), gsup_msg->session_id); + if (!gsup_msg->ss_info || gsup_msg->ss_info_len < 2) { - LOG_TRANS(trans, LOGL_ERROR, "Missing mandatory Facility IE\n"); - trans_free(trans); + LOGP(DSS, LOGL_ERROR, "Missing mandatory Facility IE\n"); return NULL; } /* If subscriber is not "attached" */ if (!vsub->cgi.lai.lac) { - LOG_TRANS(trans, LOGL_ERROR, "Network-originated session " + LOGP(DSS, LOGL_ERROR, "Network-originated session " "rejected - subscriber is not attached\n"); - trans_free(trans); return NULL; } - LOG_TRANS(trans, LOGL_DEBUG, "Establishing network-originated session\n"); + /* Obtain an unused transaction ID */ + tid = trans_assign_trans_id(net, vsub, TRANS_USSD); + if (tid < 0) { + LOGP(DSS, LOGL_ERROR, "No free transaction ID\n"); + return NULL; + } + + /* Allocate a new NCSS transaction */ + trans = trans_alloc(net, vsub, TRANS_USSD, tid, gsup_msg->session_id); + if (!trans) { + LOGP(DSS, LOGL_ERROR, " -> No memory for trans\n"); + return NULL; + } /* Count active NC SS/USSD sessions */ osmo_counter_inc(net->active_nc_ss); - /* Assign transaction ID */ - tid = trans_assign_trans_id(trans->net, trans->vsub, TRANS_USSD); - if (tid < 0) { - LOG_TRANS(trans, LOGL_ERROR, "No free transaction ID\n"); - /* TODO: inform HLR about this */ - /* TODO: release connection with subscriber */ - trans->callref = 0; - trans_free(trans); - return NULL; - } - trans->transaction_id = tid; - /* Init inactivity timer */ osmo_timer_setup(&trans->ss.timer_guard, ncss_session_timeout_handler, trans); diff --git a/tests/msc_vlr/msc_vlr_test_ss.err b/tests/msc_vlr/msc_vlr_test_ss.err index 1199cf1..7845c99 100644 --- a/tests/msc_vlr/msc_vlr_test_ss.err +++ b/tests/msc_vlr/msc_vlr_test_ss.err @@ -367,9 +367,9 @@ llist_count(&vsub->cs.requests) == 0 <-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: 20010809710000004026f03004200001013101013515a11302010102013b300b04010f0406aa510c061b010a0103 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + gsm0911_gsup_rx: now used by 3 (attached,_test_ss_ussd_no,gsm0911_gsup_rx) +DSS (IMSI-901700000004620:MSISDN-46071) Establishing a network-originated session (id=0x20000101) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + NCSS: now used by 4 (attached,_test_ss_ussd_no,gsm0911_gsup_rx,NCSS) -DSS trans(NCSS IMSI-901700000004620:MSISDN-46071 callref-0x20000101 tid-255) New transaction -DSS trans(NCSS IMSI-901700000004620:MSISDN-46071 callref-0x20000101 tid-255) Establishing network-originated session +DSS trans(NCSS IMSI-901700000004620:MSISDN-46071 callref-0x20000101 tid-0) New transaction DSS trans(NCSS IMSI-901700000004620:MSISDN-46071 callref-0x20000101 tid-0) Triggering Paging Request DPAG Paging: IMSI-901700000004620:MSISDN-46071 for GSM 09.11 SS/USSD: Starting paging paging request (SIGNALLING_HIGH_PRIO) to IMSI-901700000004620:MSISDN-46071 on GERAN-A -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I4e027b19e8065a39324a1647957cef4066b82ce7 Gerrit-Change-Number: 14463 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 14:37:52 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 14:37:52 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: log network-originated session establishment error In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14464 ) Change subject: libmsc/gsm_09_11.c: log network-originated session establishment error ...................................................................... libmsc/gsm_09_11.c: log network-originated session establishment error Change-Id: I090c25de3421f770115ed68a7ecc050694cedff7 --- M src/libmsc/gsm_09_11.c 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index adf13b1..b85c742 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -465,6 +465,9 @@ /* Attempt to establish a new transaction */ trans = establish_nc_ss_trans(net, vsub, gsup_msg); if (!trans) { + LOGP(DSS, LOGL_ERROR, "Failed to establish a network-originated " + "SS/USSD transaction, rejecting %s\n", + osmo_gsup_message_type_name(gsup_msg->message_type)); gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_NET_FAIL); return -EINVAL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I090c25de3421f770115ed68a7ecc050694cedff7 Gerrit-Change-Number: 14464 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 14:37:53 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 14:37:53 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: drop rudimentary vsub->cgi.lai.lac check In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14465 ) Change subject: libmsc/gsm_09_11.c: drop rudimentary vsub->cgi.lai.lac check ...................................................................... libmsc/gsm_09_11.c: drop rudimentary vsub->cgi.lai.lac check This check was copy-pasted either from CC, or from SMS handling code during the initial development of "SS/USSD over GSUP". Now this is the only one survived after the recent refactoring. I doubt this is exactly the right way to check whether subscriber is attached or not. Moreover, this check should rather be done in a single place, rather then in each CC/SS/SMS handler separately. Change-Id: I7bd48860e923cb1f1a5bccc4b0f497ec1a7bcf84 --- M src/libmsc/gsm_09_11.c 1 file changed, 0 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index b85c742..bcf8dec 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -330,13 +330,6 @@ return NULL; } - /* If subscriber is not "attached" */ - if (!vsub->cgi.lai.lac) { - LOGP(DSS, LOGL_ERROR, "Network-originated session " - "rejected - subscriber is not attached\n"); - return NULL; - } - /* Obtain an unused transaction ID */ tid = trans_assign_trans_id(net, vsub, TRANS_USSD); if (tid < 0) { -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I7bd48860e923cb1f1a5bccc4b0f497ec1a7bcf84 Gerrit-Change-Number: 14465 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 14:37:53 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 14:37:53 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: drop meaningless check for concurrent paging In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14466 ) Change subject: libmsc/gsm_09_11.c: drop meaningless check for concurrent paging ...................................................................... libmsc/gsm_09_11.c: drop meaningless check for concurrent paging This check was copy-pasted from the CC handling code during the initial development of "SS/USSD over GSUP" feature. It probably makes sense for MT calls, but definitely not for SS/USSD. Change-Id: I2899a23ee49fd7917443943629603700a5025cf4 --- M src/libmsc/gsm_09_11.c 1 file changed, 1 insertion(+), 15 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index bcf8dec..f85c3f6 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -314,7 +314,7 @@ struct vlr_subscr *vsub, const struct osmo_gsup_message *gsup_msg) { struct msc_a *msc_a; - struct gsm_trans *trans, *transt; + struct gsm_trans *trans; int tid; if (gsup_msg->session_state != OSMO_GSUP_SESSION_STATE_BEGIN) { @@ -363,20 +363,6 @@ LOG_TRANS(trans, LOGL_DEBUG, "Triggering Paging Request\n"); - /* Find transaction with this subscriber already paging */ - llist_for_each_entry(transt, &net->trans_list, entry) { - /* Transaction of our conn? */ - if (transt == trans || transt->vsub != vsub) - continue; - - LOG_TRANS(trans, LOGL_ERROR, "Paging already started, " - "rejecting message...\n"); - trans_free(trans); - /* FIXME: WTF IS THIS!? This is completely insane. Presence of a trans doesn't indicate Paging, and even - * if, why drop the current request??? */ - return NULL; - } - /* Trigger Paging Request */ trans->paging_request = paging_request_start(vsub, PAGING_CAUSE_SIGNALLING_HIGH_PRIO, ss_paging_cb, trans, "GSM 09.11 SS/USSD"); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2899a23ee49fd7917443943629603700a5025cf4 Gerrit-Change-Number: 14466 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 14:37:54 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 14:37:54 +0000 Subject: Change in ...osmo-msc[master]: libmsc/msc_net_init.c: pass pointer to gsm_network directly In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14467 ) Change subject: libmsc/msc_net_init.c: pass pointer to gsm_network directly ...................................................................... libmsc/msc_net_init.c: pass pointer to gsm_network directly Change-Id: I122d2880b356997c60df5f0cf4f5ecb3abb2e672 --- M src/libmsc/gsm_04_11_gsup.c M src/libmsc/gsm_09_11.c M src/libmsc/msc_net_init.c 3 files changed, 12 insertions(+), 31 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index b4d74c7..331092a 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -117,19 +117,13 @@ } /* Triggers either RP-ACK or RP-ERROR on response from SMSC */ -static int gsm411_gsup_mo_handler(struct vlr_subscr *vsub, - const struct osmo_gsup_message *gsup_msg) +static int gsm411_gsup_mo_handler(struct gsm_network *net, struct vlr_subscr *vsub, + const struct osmo_gsup_message *gsup_msg) { - struct vlr_instance *vlr; - struct gsm_network *net; struct gsm_trans *trans; const char *msg_name; bool msg_is_err; - /* Obtain required pointers */ - vlr = vsub->vlr; - net = (struct gsm_network *) vlr->user_ctx; - /* Associate logging messages with this subscriber */ log_set_context(LOG_CTX_VLR_SUBSCR, vsub); @@ -230,16 +224,12 @@ } /* Handles MT SMS (and triggers Paging Request if required) */ -static int gsm411_gsup_mt_handler(struct vlr_subscr *vsub, - const struct osmo_gsup_message *gsup_msg) +static int gsm411_gsup_mt_handler(struct gsm_network *net, struct vlr_subscr *vsub, + const struct osmo_gsup_message *gsup_msg) { - struct gsm_network *net; bool sm_rp_mmts_ind; int rc; - /* Obtain required pointers */ - net = (struct gsm_network *) vsub->vlr->user_ctx; - /* Associate logging messages with this subscriber */ log_set_context(LOG_CTX_VLR_SUBSCR, vsub); @@ -296,8 +286,8 @@ int gsm411_gsup_rx(struct gsup_client_mux *gcm, void *data, const struct osmo_gsup_message *gsup_msg) { - struct vlr_instance *vlr = data; - struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(vlr, gsup_msg->imsi, __func__); + struct gsm_network *net = (struct gsm_network *) data; + struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(net->vlr, gsup_msg->imsi, __func__); if (!vsub) { LOGP(DLSMS, LOGL_ERROR, "Rx %s for unknown subscriber, rejecting\n", @@ -313,12 +303,12 @@ case OSMO_GSUP_MSGT_READY_FOR_SM_ERROR: case OSMO_GSUP_MSGT_READY_FOR_SM_RESULT: DEBUGP(DMSC, "Routed to GSM 04.11 MO handler\n"); - return gsm411_gsup_mo_handler(vsub, gsup_msg); + return gsm411_gsup_mo_handler(net, vsub, gsup_msg); /* GSM 04.11 code implementing MT SMS */ case OSMO_GSUP_MSGT_MT_FORWARD_SM_REQUEST: DEBUGP(DMSC, "Routed to GSM 04.11 MT handler\n"); - return gsm411_gsup_mt_handler(vsub, gsup_msg); + return gsm411_gsup_mt_handler(net, vsub, gsup_msg); default: LOGP(DMM, LOGL_ERROR, "No handler found for %s, dropping message...\n", diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index f85c3f6..51cb2fb 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -402,14 +402,13 @@ int gsm0911_gsup_rx(struct gsup_client_mux *gcm, void *data, const struct osmo_gsup_message *gsup_msg) { - struct vlr_instance *vlr = data; - struct gsm_network *net; + struct gsm_network *net = (struct gsm_network *) data; struct gsm_trans *trans; struct gsm48_hdr *gh; struct msgb *ss_msg; bool trans_end; struct msc_a *msc_a; - struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(vlr, gsup_msg->imsi, __func__); + struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(net->vlr, gsup_msg->imsi, __func__); if (!vsub) { LOGP(DSS, LOGL_ERROR, "Rx %s for unknown subscriber, rejecting\n", @@ -421,14 +420,6 @@ /* Associate logging messages with this subscriber */ log_set_context(LOG_CTX_VLR_SUBSCR, vsub); - /* Obtain pointer to vlr_instance */ - vlr = vsub->vlr; - OSMO_ASSERT(vlr); - - /* Obtain pointer to gsm_network */ - net = (struct gsm_network *) vlr->user_ctx; - OSMO_ASSERT(net); - /* Handle errors */ if (OSMO_GSUP_IS_MSGT_ERROR(gsup_msg->message_type)) { /* FIXME: handle this error somehow! */ diff --git a/src/libmsc/msc_net_init.c b/src/libmsc/msc_net_init.c index 637ee74..4a752bf 100644 --- a/src/libmsc/msc_net_init.c +++ b/src/libmsc/msc_net_init.c @@ -117,8 +117,8 @@ .rx_cb = { /* vlr.c sets up its own cb and data */ /* MSC-A and MSC-B set up their own cb and data */ - [OSMO_GSUP_MESSAGE_CLASS_SMS] = { .func = gsm411_gsup_rx, .data = net->vlr }, - [OSMO_GSUP_MESSAGE_CLASS_USSD] = { .func = gsm0911_gsup_rx, .data = net->vlr }, + [OSMO_GSUP_MESSAGE_CLASS_SMS] = { .func = gsm411_gsup_rx, .data = net }, + [OSMO_GSUP_MESSAGE_CLASS_USSD] = { .func = gsm0911_gsup_rx, .data = net }, }, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I122d2880b356997c60df5f0cf4f5ecb3abb2e672 Gerrit-Change-Number: 14467 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 Mon Jun 17 14:37:54 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 14:37:54 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: inform HLR/EUSE if Paging has failed In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14475 ) Change subject: libmsc/gsm_09_11.c: inform HLR/EUSE if Paging has failed ...................................................................... libmsc/gsm_09_11.c: inform HLR/EUSE if Paging has failed Change-Id: Ie2ac06aadb18251310e0cfd85bb0d9865470aab7 Related: (TTCN-3) I1f53c56d569c8ac4071835685bbe3bc9e0ebd7f0 Related: OS#2931 --- M src/libmsc/gsm_09_11.c 1 file changed, 17 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 51cb2fb..f58c106 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -297,9 +297,25 @@ /* Count established network-initiated NC SS/USSD sessions */ rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_NC_SS_MT_ESTABLISHED]); } else { + struct osmo_gsup_message gsup_msg; + LOG_MSC_A_CAT(msc_a, DSS, LOGL_DEBUG, "Paging expired\n"); - /* TODO: inform HLR about this failure */ + gsup_msg = (struct osmo_gsup_message){ + .message_class = OSMO_GSUP_MESSAGE_CLASS_USSD, + .message_type = OSMO_GSUP_MSGT_PROC_SS_ERROR, + + .session_state = OSMO_GSUP_SESSION_STATE_END, + .session_id = trans->callref, + /* FIXME: we need message class specific cause values */ + .cause = GMM_CAUSE_IMPL_DETACHED, + }; + + /* Fill in subscriber's IMSI */ + OSMO_STRLCPY_ARRAY(gsup_msg.imsi, trans->vsub->imsi); + + /* Inform HLR/EUSE about the failure */ + gsup_client_mux_tx(trans->net->gcm, &gsup_msg); msgb_free(trans->ss.msg); trans->ss.msg = NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie2ac06aadb18251310e0cfd85bb0d9865470aab7 Gerrit-Change-Number: 14475 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 14:37:55 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 14:37:55 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14477 ) Change subject: libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR ...................................................................... libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR This message can be used by the HLR/EUSE to indicate that something went wrong, e.g. the connection with EUSE is lost, EUSE or the MS did not respond in time, etc. OsmoMSC needs to release the SS/USSD transaction, and send GSM 04.80 RELEASE COMPLETE message to the MS if there is an active RAN connection. Change-Id: I076d12ef24d7320eda1df1ee4588da7375ef3d9e Related: (TTCN-3) I5586a88136c936441a842f49248824680603672e Related: OS#2931 --- M src/libmsc/gsm_09_11.c 1 file changed, 25 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index f58c106..7e1f580 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -436,14 +436,36 @@ /* Associate logging messages with this subscriber */ log_set_context(LOG_CTX_VLR_SUBSCR, vsub); + /* Attempt to find DTAP-transaction */ + trans = trans_find_by_callref(net, gsup_msg->session_id); + /* Handle errors */ if (OSMO_GSUP_IS_MSGT_ERROR(gsup_msg->message_type)) { - /* FIXME: handle this error somehow! */ + LOGP(DSS, LOGL_NOTICE, "Rx %s from HLR/EUSE (cause=0x%02x, sid=0x%x)\n", + osmo_gsup_message_type_name(gsup_msg->message_type), + gsup_msg->cause, gsup_msg->session_id); + + if (!trans) { + LOGP(DSS, LOGL_ERROR, "No transaction found for " + "sid=0x%x, nothing to abort\n", gsup_msg->session_id); + return -ENODEV; + } + + LOG_TRANS(trans, LOGL_NOTICE, "Aborting the session: sending RELEASE COMPLETE\n"); + + /* Indicate connection release to subscriber (if active) */ + if (trans->msc_a != NULL) { + /* TODO: implement GSUP - GSM 04.80 cause mapping */ + msc_send_ussd_release_complete_cause(trans->msc_a, trans->transaction_id, + GSM48_CAUSE_LOC_PUN_S_LU, GSM48_CC_CAUSE_TEMP_FAILURE); + } + + /* Terminate transaction */ + trans_free(trans); + return 0; } - /* Attempt to find DTAP-transaction */ - trans = trans_find_by_callref(net, gsup_msg->session_id); 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]); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I076d12ef24d7320eda1df1ee4588da7375ef3d9e Gerrit-Change-Number: 14477 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 14:55:08 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 17 Jun 2019 14:55:08 +0000 Subject: Change in ...osmo-bsc[master]: manuals: Add script to update vtr/counter documentation from docker In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/14404 to look at the new patch set (#2). Change subject: manuals: Add script to update vtr/counter documentation from docker ...................................................................... manuals: Add script to update vtr/counter documentation from docker Run it like this: COMMIT=master DOCKER_PLAYGROUND=~/scm/osmo/docker-playground OSMO_INTERACT_VTY=~/scm/osmo/osmo-python-tests/scripts/osmo_interact_vty.py ./regen_doc.sh COMMIT will default to current HEAD. Change-Id: Iedd1f55d021231d86c19b6f14ff296e3a55148c8 Related: OS#1700 --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/04/14404/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iedd1f55d021231d86c19b6f14ff296e3a55148c8 Gerrit-Change-Number: 14404 Gerrit-PatchSet: 2 Gerrit-Owner: daniel 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 17 15:08:50 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 15:08:50 +0000 Subject: Change in ...osmo-bsc[master]: manuals: Add script to update vtr/counter documentation from docker In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14404 ) Change subject: manuals: Add script to update vtr/counter documentation from docker ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iedd1f55d021231d86c19b6f14ff296e3a55148c8 Gerrit-Change-Number: 14404 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 Jun 2019 15:08:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 15:08:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 15:08:52 +0000 Subject: Change in ...osmo-bsc[master]: manuals: Add script to update vtr/counter documentation from docker In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14404 ) Change subject: manuals: Add script to update vtr/counter documentation from docker ...................................................................... manuals: Add script to update vtr/counter documentation from docker Run it like this: COMMIT=master DOCKER_PLAYGROUND=~/scm/osmo/docker-playground OSMO_INTERACT_VTY=~/scm/osmo/osmo-python-tests/scripts/osmo_interact_vty.py ./regen_doc.sh COMMIT will default to current HEAD. Change-Id: Iedd1f55d021231d86c19b6f14ff296e3a55148c8 Related: OS#1700 --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 49ddc18..6542393 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -9,6 +9,7 @@ message-sequences \ mgw \ om2000 \ + regen_doc.sh \ vty if BUILD_MANUALS diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..2f9ef74 --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_BSC_BRANCH=$COMMIT ./regen_doc.sh osmo-bsc 4242 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/bsc_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iedd1f55d021231d86c19b6f14ff296e3a55148c8 Gerrit-Change-Number: 14404 Gerrit-PatchSet: 2 Gerrit-Owner: daniel 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 17 15:08:56 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 17 Jun 2019 15:08:56 +0000 Subject: Change in ...osmo-msc[master]: manuals: Add script to update vty/counter documentation from docker Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14494 Change subject: manuals: Add script to update vty/counter documentation from docker ...................................................................... manuals: Add script to update vty/counter documentation from docker Change-Id: I3f5573f81460b40d4606fbcf0febcfd078a7bdca Related: OS#1700 --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/94/14494/1 diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 2ce6a0a..3b50d4e 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -1,6 +1,7 @@ EXTRA_DIST = osmomsc-usermanual.adoc \ osmomsc-usermanual-docinfo.xml \ osmomsc-vty-reference.xml \ + regen_doc.sh \ chapters \ images \ vty diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..55cda5c --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_MSC_BRANCH=$COMMIT ./regen_doc.sh osmo-msc 4254 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/msc_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3f5573f81460b40d4606fbcf0febcfd078a7bdca Gerrit-Change-Number: 14494 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 15:08:56 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 17 Jun 2019 15:08:56 +0000 Subject: Change in ...osmo-msc[master]: manuals: Update counter/vty documentation Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14495 Change subject: manuals: Update counter/vty documentation ...................................................................... manuals: Update counter/vty documentation Change-Id: I1ef0e8ae166d7fdc5e85716a961e8387d26bdd2c Related: OS#1700 --- M doc/manuals/chapters/counters_generated.adoc M doc/manuals/vty/msc_vty_reference.xml 2 files changed, 199 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/95/14495/1 diff --git a/doc/manuals/chapters/counters_generated.adoc b/doc/manuals/chapters/counters_generated.adoc index afeb8ff..6a3a3d2 100644 --- a/doc/manuals/chapters/counters_generated.adoc +++ b/doc/manuals/chapters/counters_generated.adoc @@ -1,5 +1,8 @@ + // autogenerated by show asciidoc counters -These counters and their description based on OsmoMSC UNKNOWN (OsmoMSC). +These counters and their description based on OsmoMSC 1.4.0 (OsmoMSC). + +=== Rate Counters // generating tables for rate_ctr_group // rate_ctr_group table mobile switching center @@ -13,6 +16,10 @@ | loc_update_type:detach | <> | Received location update detach indication. | loc_update_resp:failed | <> | Rejected location updates. | loc_update_resp:completed | <> | Successful location updates. +| cm_service_request:rejected | <> | Rejected CM Service Request. +| cm_service_request:accepted | <> | Accepted CM Service Request. +| paging_resp:rejected | <> | Rejected Paging Response. +| paging_resp:accepted | <> | Accepted Paging Response. | sms:submitted | <> | Received a RPDU from a MS (MO). | sms:no_receiver | <> | Counts SMS which couldn't routed because no receiver found. | sms:delivered | <> | Global SMS Deliver attempts. @@ -26,8 +33,18 @@ | call:active | <> | Count total amount of calls that ever reached active state. | call:complete | <> | Count total amount of calls which got terminated by disconnect req or ind after reaching active state. | call:incomplete | <> | Count total amount of call which got terminated by any other reason after reaching active state. +| nc_ss:mo_requests | <> | Received MS-initiated call independent SS/USSD requests. +| nc_ss:mo_established | <> | Established MS-initiated call independent SS/USSD sessions. +| nc_ss:mt_requests | <> | Received network-initiated call independent SS/USSD requests. +| nc_ss:mt_established | <> | Established network-initiated call independent SS/USSD sessions. +| bssmap:cipher_mode_reject | <> | Number of CIPHER MODE REJECT messages processed by BSSMAP layer +| bssmap:cipher_mode_complete | <> | Number of CIPHER MODE COMPLETE messages processed by BSSMAP layer |=== +== Osmo Stat Items + // generating tables for osmo_stat_items +== Osmo Counters + // generating tables for osmo_counters // ungrouped osmo_counters .ungrouped osmo counters @@ -35,6 +52,5 @@ |=== | Name | Reference | Description | msc.active_calls | <> | +| msc.active_nc_ss | <> | |=== - - diff --git a/doc/manuals/vty/msc_vty_reference.xml b/doc/manuals/vty/msc_vty_reference.xml index bb7e958..0e5d04d 100644 --- a/doc/manuals/vty/msc_vty_reference.xml +++ b/doc/manuals/vty/msc_vty_reference.xml @@ -279,7 +279,7 @@ - + @@ -300,6 +300,7 @@ + @@ -318,6 +319,7 @@ + @@ -464,6 +466,12 @@ + + + + + + @@ -483,6 +491,12 @@ + + + + + + @@ -559,7 +573,7 @@ - + @@ -572,8 +586,16 @@ + + + + + + + + @@ -674,7 +696,7 @@ - + @@ -937,7 +959,7 @@ - + @@ -958,6 +980,7 @@ + @@ -976,6 +999,7 @@ + @@ -1122,6 +1146,12 @@ + + + + + + @@ -1141,6 +1171,12 @@ + + + + + + @@ -1217,7 +1253,7 @@ - + @@ -1230,8 +1266,16 @@ + + + + + + + + @@ -1379,11 +1423,24 @@ + + + + + + + + + + + + + - + @@ -1639,6 +1696,11 @@ + + + + + @@ -1729,7 +1791,7 @@ - + @@ -1750,6 +1812,7 @@ + @@ -1768,6 +1831,7 @@ + @@ -1898,10 +1962,11 @@ - + + @@ -2368,12 +2433,33 @@ - + - + + + + + + + + + + + + + + + + + + + + + + @@ -2389,8 +2475,15 @@ - - + + + + + + + + + @@ -2420,6 +2513,17 @@ + + + + + + + + + + + @@ -2448,19 +2552,11 @@ - + - - - - - - - - - - + + @@ -2543,7 +2639,7 @@ - + @@ -2568,7 +2664,8 @@ - + + @@ -2667,6 +2764,17 @@ + + + + + + + + + + + config-hlr @@ -2682,5 +2790,52 @@ + + + + + + + + + config-sgs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1ef0e8ae166d7fdc5e85716a961e8387d26bdd2c Gerrit-Change-Number: 14495 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 15:08:57 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 17 Jun 2019 15:08:57 +0000 Subject: Change in ...osmo-msc[master]: manuals: Include overview chapter about counters Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14496 Change subject: manuals: Include overview chapter about counters ...................................................................... manuals: Include overview chapter about counters Change-Id: I8c3e8bcda27f35118ab0e3d75621a02eec86f15c --- M doc/manuals/osmomsc-usermanual.adoc 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/96/14496/1 diff --git a/doc/manuals/osmomsc-usermanual.adoc b/doc/manuals/osmomsc-usermanual.adoc index 4fd0cc7..f62c29f 100644 --- a/doc/manuals/osmomsc-usermanual.adoc +++ b/doc/manuals/osmomsc-usermanual.adoc @@ -14,6 +14,8 @@ include::{srcdir}/chapters/control.adoc[] +include::./common/chapters/counters_overview.adoc[] + include::{srcdir}/chapters/counters.adoc[] include::./common/chapters/vty.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8c3e8bcda27f35118ab0e3d75621a02eec86f15c Gerrit-Change-Number: 14496 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 15:09:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 15:09:54 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: add another failing power control test In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14485 ) Change subject: BTS: add another failing power control test ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8b3bdf374c96fa3368f90ae524859f30ceefa5f5 Gerrit-Change-Number: 14485 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 Jun 2019 15: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 17 15:10:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 15:10:10 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: test that RSL MS POWER does not activate MS power control withou... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14491 ) Change subject: BTS: test that RSL MS POWER does not activate MS power control without PP IE ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8776ed4af83dc9f9f32ac14f5d4c9e35f4a286d6 Gerrit-Change-Number: 14491 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 Jun 2019 15:10: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 17 15:10:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 15:10:12 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: add another failing power control test In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14485 ) Change subject: BTS: add another failing power control test ...................................................................... BTS: add another failing power control test Change-Id: I8b3bdf374c96fa3368f90ae524859f30ceefa5f5 --- M bts/BTS_Tests.ttcn 1 file changed, 56 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 2d2ae0b..9184f6a 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -2088,6 +2088,46 @@ } +/* see if we change the power level without receiving power parameters, which should not happen */ +function f_TC_rsl_ms_pwr_dyn_active(charstring id) runs on ConnHdlr { + var L1ctlDlMessage l1_dl; + + /* set a high value to ensure power decreases */ + f_trxc_fake_rssi(rxlev2dbm(50)); + f_l1_tune(L1CTL); + RSL.clear; + + var uint5_t pwr_var := 5; + + var template (value) RSL_IE_MS_Power ms_power := ts_RSL_IE_MS_Power(pwr_var); + var template (value) RSL_IE pwr := t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ms_power}); + + /* establish with fixed power level */ + f_est_dchan(more_ies :={valueof(pwr)}); + + /* check our initial power level */ + f_wait_for_l1_power_level(pwr_var); + + /* wait, then check that our power level did not change */ + timer T1 := 10.0; + T1.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { + if ( oct2int(l1_dl.payload.data_ind.payload[0]) != pwr_var) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "BS power control should not be active unless we receive a power parameters IE!"); + } + repeat; + } + [] L1CTL.receive { repeat; } + [] T1.timeout { setverdict(pass); } + } + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + +} + function f_wait_for_l1_power_level(integer level) runs on ConnHdlr { var L1ctlDlMessage l1_dl; timer T0 := 10.0; @@ -2238,6 +2278,21 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } +testcase TC_rsl_ms_pwr_dyn_active() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(); + f_vty_config(BTSVTY, "phy 0", "osmotrx ms-power-loop -100"); + for (var integer tn := 1; tn <= 1; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + pars.bts0_band := f_vty_get_bts0_band(); + vc_conn := f_start_handler(refers(f_TC_rsl_ms_pwr_dyn_active), pars, trxc_comp := true); + vc_conn.done; + } + f_vty_config(BTSVTY, "phy 0", "no osmotrx ms-power-loop"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + testcase TC_meas_res_sign_tchf() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; @@ -5898,6 +5953,7 @@ execute( TC_meas_res_sign_sdcch8() ); execute( TC_meas_res_sign_tchh_toa256() ); execute( TC_rsl_ms_pwr_ctrl() ); + execute( TC_rsl_ms_pwr_dyn_active() ); execute( TC_rsl_ms_pwr_dyn_up() ); execute( TC_rsl_ms_pwr_dyn_down() ); execute( TC_rsl_ms_pwr_dyn_ass_updown() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8b3bdf374c96fa3368f90ae524859f30ceefa5f5 Gerrit-Change-Number: 14485 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 17 15:10:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 15:10:12 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: test that RSL MS POWER does not activate MS power control withou... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14491 ) Change subject: BTS: test that RSL MS POWER does not activate MS power control without PP IE ...................................................................... BTS: test that RSL MS POWER does not activate MS power control without PP IE Change-Id: I8776ed4af83dc9f9f32ac14f5d4c9e35f4a286d6 --- M bts/BTS_Tests.ttcn 1 file changed, 62 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 9184f6a..9d7b8c2 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -2088,7 +2088,8 @@ } -/* see if we change the power level without receiving power parameters, which should not happen */ +/* see if we change the power level without receiving power parameters, which should not happen +rsl chan act WITHOUT power parameters */ function f_TC_rsl_ms_pwr_dyn_active(charstring id) runs on ConnHdlr { var L1ctlDlMessage l1_dl; @@ -2128,6 +2129,50 @@ } +/* see if we change the power level without receiving power parameters, which should not happen +ms power control WITHOUT power parameters */ +function f_TC_rsl_ms_pwr_dyn_active2(charstring id) runs on ConnHdlr { + var L1ctlDlMessage l1_dl; + + /* set a high value to ensure power decreases */ + f_trxc_fake_rssi(rxlev2dbm(50)); + f_l1_tune(L1CTL); + RSL.clear; + + var uint5_t pwr_var := 5; + + var template (value) RSL_IE_MS_Power ms_power := ts_RSL_IE_MS_Power(pwr_var); + var template (value) RSL_IE pwr := t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ms_power}); + + /* establish with fixed power level */ + f_est_dchan(more_ies :={valueof(pwr)}); + + /* check our initial power level */ + f_wait_for_l1_power_level(pwr_var); + + /* pwr control without power params IE, should NOT activate MS power control*/ + RSL.send(ts_RSL_MS_PWR_CTRL(g_chan_nr, ms_power)); + + /* wait, then check that our power level did not change */ + timer T1 := 10.0; + T1.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(g_chan_nr, tr_RslLinkID_SACCH(?))) -> value l1_dl { + if ( oct2int(l1_dl.payload.data_ind.payload[0]) != pwr_var) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + "BS power control should not be active unless we receive a power parameters IE!"); + } + repeat; + } + [] L1CTL.receive { repeat; } + [] T1.timeout { setverdict(pass); } + } + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + +} + function f_wait_for_l1_power_level(integer level) runs on ConnHdlr { var L1ctlDlMessage l1_dl; timer T0 := 10.0; @@ -2293,6 +2338,21 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } +testcase TC_rsl_ms_pwr_dyn_active2() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(); + f_vty_config(BTSVTY, "phy 0", "osmotrx ms-power-loop -100"); + for (var integer tn := 1; tn <= 1; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + pars.bts0_band := f_vty_get_bts0_band(); + vc_conn := f_start_handler(refers(f_TC_rsl_ms_pwr_dyn_active2), pars, trxc_comp := true); + vc_conn.done; + } + f_vty_config(BTSVTY, "phy 0", "no osmotrx ms-power-loop"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + testcase TC_meas_res_sign_tchf() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars; @@ -5954,6 +6014,7 @@ execute( TC_meas_res_sign_tchh_toa256() ); execute( TC_rsl_ms_pwr_ctrl() ); execute( TC_rsl_ms_pwr_dyn_active() ); + execute( TC_rsl_ms_pwr_dyn_active2() ); execute( TC_rsl_ms_pwr_dyn_up() ); execute( TC_rsl_ms_pwr_dyn_down() ); execute( TC_rsl_ms_pwr_dyn_ass_updown() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8776ed4af83dc9f9f32ac14f5d4c9e35f4a286d6 Gerrit-Change-Number: 14491 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 17 15:10:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 15:10:41 +0000 Subject: Change in ...osmo-msc[master]: manuals: Add script to update vty/counter documentation from docker In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14494 ) Change subject: manuals: Add script to update vty/counter documentation from docker ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3f5573f81460b40d4606fbcf0febcfd078a7bdca Gerrit-Change-Number: 14494 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 17 Jun 2019 15:10: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 17 15:10:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 15:10:51 +0000 Subject: Change in ...osmo-msc[master]: manuals: Update counter/vty documentation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14495 ) Change subject: manuals: Update counter/vty documentation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1ef0e8ae166d7fdc5e85716a961e8387d26bdd2c Gerrit-Change-Number: 14495 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 17 Jun 2019 15:10:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 15:11:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 15:11:02 +0000 Subject: Change in ...osmo-msc[master]: manuals: Include overview chapter about counters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14496 ) Change subject: manuals: Include overview chapter about counters ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8c3e8bcda27f35118ab0e3d75621a02eec86f15c Gerrit-Change-Number: 14496 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 17 Jun 2019 15:11: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 17 15:11:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 15:11:52 +0000 Subject: Change in ...osmo-bsc[master]: Remove extern declarations of libosmovty symbols In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14492 ) Change subject: Remove extern declarations of libosmovty symbols ...................................................................... Patch Set 1: commitlog is missing the *why* -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5c8d02605a78c6792f616ad423b4491b83f42545 Gerrit-Change-Number: 14492 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 17 Jun 2019 15:11:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 15:11:58 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 17 Jun 2019 15:11:58 +0000 Subject: Change in ...osmo-hlr[master]: manuals: Add script to update vty/counter documentation from docker Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14497 Change subject: manuals: Add script to update vty/counter documentation from docker ...................................................................... manuals: Add script to update vty/counter documentation from docker Related: OS#1700 Change-Id: Id57c34214396b02fafa55da223764748086290e8 --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/97/14497/1 diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 9e1295a..8a47f8a 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -4,6 +4,7 @@ osmohlr-usermanual.adoc \ osmohlr-usermanual-docinfo.xml \ osmohlr-vty-reference.xml \ + regen_doc.sh \ chapters \ vty diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..2e9194b --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_HLR_BRANCH=$COMMIT ./regen_doc.sh osmo-hlr 4258 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/hlr_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Id57c34214396b02fafa55da223764748086290e8 Gerrit-Change-Number: 14497 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 15:11:59 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 17 Jun 2019 15:11:59 +0000 Subject: Change in ...osmo-hlr[master]: manuals: Update vty documentation Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14498 Change subject: manuals: Update vty documentation ...................................................................... manuals: Update vty documentation Related: OS#1700 Change-Id: Ia650ec9ab97dcb64e4b701328bc7e88d691d427a --- M doc/manuals/vty/hlr_vty_reference.xml 1 file changed, 276 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/98/14498/1 diff --git a/doc/manuals/vty/hlr_vty_reference.xml b/doc/manuals/vty/hlr_vty_reference.xml index cc97dc4..e5fd0f2 100644 --- a/doc/manuals/vty/hlr_vty_reference.xml +++ b/doc/manuals/vty/hlr_vty_reference.xml @@ -187,7 +187,7 @@ - + @@ -213,6 +213,7 @@ + @@ -302,22 +303,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + enable @@ -486,7 +528,7 @@ - + @@ -512,6 +554,7 @@ + @@ -521,8 +564,7 @@ - - + @@ -601,22 +643,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + @@ -625,47 +708,52 @@ - + - + + - + - + + + - + - + + - + - + + @@ -676,25 +764,27 @@ - + - + + - + - + + @@ -707,6 +797,20 @@ + + + + + + + + + + + + + + config @@ -883,7 +987,8 @@ - + + @@ -905,6 +1010,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -985,7 +1127,7 @@ - + @@ -1011,6 +1153,7 @@ + @@ -1051,6 +1194,75 @@ + + config-stats + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-line @@ -1064,10 +1276,11 @@ - + + @@ -1087,6 +1300,12 @@ + + + + + + @@ -1145,6 +1364,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-hlr-gsup -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ia650ec9ab97dcb64e4b701328bc7e88d691d427a Gerrit-Change-Number: 14498 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 15:13:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 15:13:36 +0000 Subject: Change in ...osmo-ci[master]: OBS: make nightly packages conflict with latest In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/14490 ) Change subject: OBS: make nightly packages conflict with latest ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/14490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I79c45e798c10a65443b9fb9ecb54393d1918608a Gerrit-Change-Number: 14490 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 15:13:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 15:13:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 15:13:59 +0000 Subject: Change in ...osmo-pcu[master]: encoding: use `/* */` for comments instead of `#if 0 #endif` In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14483 ) Change subject: encoding: use `/* */` for comments instead of `#if 0 #endif` ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ifff9526b15bfda7a0f85c92bcb0d3fabab61ca32 Gerrit-Change-Number: 14483 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 15: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 17 15:14:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 15:14:13 +0000 Subject: Change in ...osmo-pcu[master]: egprs_rlc_compression: fix white spaces In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14484 ) Change subject: egprs_rlc_compression: fix white spaces ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I43a5acc2dda4ba567ada9846880e31c85bc98394 Gerrit-Change-Number: 14484 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 15:14: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 17 15:14:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 15:14:40 +0000 Subject: Change in ...libosmocore[master]: bitvec: correct comment in bitvec_alloc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14479 ) Change subject: bitvec: correct comment in bitvec_alloc ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14479 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I60fbe9fe9acd11c5d3232207f1bb677e8a98625f Gerrit-Change-Number: 14479 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 15:14: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 17 15:14:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 15:14:42 +0000 Subject: Change in ...libosmocore[master]: bitvec: correct comment in bitvec_alloc In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14479 ) Change subject: bitvec: correct comment in bitvec_alloc ...................................................................... bitvec: correct comment in bitvec_alloc The function allocates x bytes not bits for the vector. Change-Id: I60fbe9fe9acd11c5d3232207f1bb677e8a98625f --- M src/bitvec.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/bitvec.c b/src/bitvec.c index 0f56e3e..dac0401 100644 --- a/src/bitvec.c +++ b/src/bitvec.c @@ -401,7 +401,7 @@ } /*! Allocate a bit vector - * \param[in] size Number of bits in the vector + * \param[in] size Number of bytes in the vector * \param[in] ctx Context from which to allocate * \return pointer to allocated vector; NULL in case of error */ struct bitvec *bitvec_alloc(unsigned int size, TALLOC_CTX *ctx) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14479 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I60fbe9fe9acd11c5d3232207f1bb677e8a98625f Gerrit-Change-Number: 14479 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 17 15:20:29 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 15:20:29 +0000 Subject: Change in ...osmo-bsc[master]: Remove extern declarations of libosmovty symbols In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14492 ) Change subject: Remove extern declarations of libosmovty symbols ...................................................................... Patch Set 1: I'd say it's pretty obvious. Declaration of symbols belong to headers from the library containing them, not to the program using them. And the library has the declarations since 2011, so it's time to get them removed from here. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5c8d02605a78c6792f616ad423b4491b83f42545 Gerrit-Change-Number: 14492 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 17 Jun 2019 15:20: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 Mon Jun 17 15:23:24 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 15:23:24 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: avoid double zero-initialization of gsup_msg Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14499 Change subject: libmsc/gsm_09_11.c: avoid double zero-initialization of gsup_msg ...................................................................... libmsc/gsm_09_11.c: avoid double zero-initialization of gsup_msg Change-Id: Ib991b01534499401e7a0c3de49ceba770fdd9b48 --- M src/libmsc/gsm_09_11.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/99/14499/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 7e1f580..cd54703 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -57,7 +57,7 @@ static void ncss_session_timeout_handler(void *_trans) { struct gsm_trans *trans = (struct gsm_trans *) _trans; - struct osmo_gsup_message gsup_msg = { 0 }; + struct osmo_gsup_message gsup_msg; /* The timeout might be disabled from the VTY */ if (trans->net->ncss_guard_timeout == 0) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib991b01534499401e7a0c3de49ceba770fdd9b48 Gerrit-Change-Number: 14499 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 17 15:23:24 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 15:23:24 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: fix broken reference counting for vsub Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14500 Change subject: libmsc/gsm_09_11.c: fix broken reference counting for vsub ...................................................................... libmsc/gsm_09_11.c: fix broken reference counting for vsub In gsm0911_gsup_rx() we do call vlr_subscr_find_by_imsi(), which increases subscriber's reference count by one using the function name as the token. However, we never release this token, so the reference count grows on every received GSUP PROC-SS message. Change-Id: I5540556b1c75f6873883e46b78656f31fc1ef186 --- M src/libmsc/gsm_09_11.c M tests/msc_vlr/msc_vlr_test_ss.err 2 files changed, 36 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/00/14500/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index cd54703..c7b2155 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -424,8 +424,9 @@ struct msgb *ss_msg; bool trans_end; struct msc_a *msc_a; - struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(net->vlr, gsup_msg->imsi, __func__); + struct vlr_subscr *vsub; + vsub = vlr_subscr_find_by_imsi(net->vlr, gsup_msg->imsi, __func__); if (!vsub) { LOGP(DSS, LOGL_ERROR, "Rx %s for unknown subscriber, rejecting\n", osmo_gsup_message_type_name(gsup_msg->message_type)); @@ -445,6 +446,9 @@ osmo_gsup_message_type_name(gsup_msg->message_type), gsup_msg->cause, gsup_msg->session_id); + /* We don't need subscriber info anymore */ + vlr_subscr_put(vsub, __func__); + if (!trans) { LOGP(DSS, LOGL_ERROR, "No transaction found for " "sid=0x%x, nothing to abort\n", gsup_msg->session_id); @@ -477,14 +481,20 @@ "SS/USSD transaction, rejecting %s\n", osmo_gsup_message_type_name(gsup_msg->message_type)); gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_NET_FAIL); + vlr_subscr_put(vsub, __func__); return -EINVAL; } /* Wait for Paging Response */ - if (trans->paging_request) + if (trans->paging_request) { + vlr_subscr_put(vsub, __func__); return 0; + } } + /* We don't need subscriber info anymore */ + vlr_subscr_put(vsub, __func__); + /* (Re)schedule the inactivity timer */ if (net->ncss_guard_timeout > 0) { osmo_timer_schedule(&trans->ss.timer_guard, diff --git a/tests/msc_vlr/msc_vlr_test_ss.err b/tests/msc_vlr/msc_vlr_test_ss.err index 7845c99..9f47dba 100644 --- a/tests/msc_vlr/msc_vlr_test_ss.err +++ b/tests/msc_vlr/msc_vlr_test_ss.err @@ -184,23 +184,24 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (nc_ss) <-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: 20010809710000004026f03004200000013101033527a225020101302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d0a0103 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + gsm0911_gsup_rx: now used by 4 (attached,active-conn,NCSS,gsm0911_gsup_rx) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm0911_gsup_rx: now used by 3 (attached,active-conn,NCSS) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020101302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DSS trans(NCSS IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ callref-0x20000001 tid-8) Freeing transaction -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - NCSS: now used by 3 (attached,active-conn,gsm0911_gsup_rx) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - NCSS: now used by 2 (attached,active-conn) DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - nc_ss: now used by 0 (-) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Received Event MSC_A_EV_UNUSED DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: state_chg to MSC_A_ST_RELEASING DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: Releasing: msc_a use is 0 (-) -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + msc_a_fsm_releasing_onenter: now used by 4 (attached,active-conn,gsm0911_gsup_rx,msc_a_fsm_releasing_onenter) -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 5 (attached,active-conn,gsm0911_gsup_rx,msc_a_fsm_releasing_onenter,vlr_subscr_cancel_attach_fsm) -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 4 (attached,active-conn,gsm0911_gsup_rx,msc_a_fsm_releasing_onenter) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + msc_a_fsm_releasing_onenter: now used by 3 (attached,active-conn,msc_a_fsm_releasing_onenter) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,active-conn,msc_a_fsm_releasing_onenter,vlr_subscr_cancel_attach_fsm) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,active-conn,msc_a_fsm_releasing_onenter) DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: + wait-Clear-Complete: now used by 1 (wait-Clear-Complete) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - msc_a_fsm_releasing_onenter: now used by 3 (attached,active-conn,gsm0911_gsup_rx) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - msc_a_fsm_releasing_onenter: now used by 2 (attached,active-conn) <-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: vlr_gsupc_read_cb() returns 0 dtap_tx_confirmed == 1 bssap_clear_sent == 1 @@ -225,7 +226,7 @@ DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Removing from parent msub_fsm DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Deferring: will deallocate with msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ) DMSC msub(IMSI-901700000004620:MSISDN-46071) Free -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - active-conn: now used by 2 (attached,gsm0911_gsup_rx) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - active-conn: now used by 1 (attached) DMSC msub_fsm{terminating}: Deferring: will deallocate with msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_RELEASED}: Deallocated, including all deferred deallocations - msub gone @@ -375,14 +376,15 @@ paging request (SIGNALLING_HIGH_PRIO) to IMSI-901700000004620:MSISDN-46071 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + Paging: now used by 5 (attached,_test_ss_ussd_no,gsm0911_gsup_rx,NCSS,Paging) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm0911_gsup_rx: now used by 4 (attached,_test_ss_ussd_no,NCSS,Paging) <-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: vlr_gsupc_read_cb() returns 0 llist_count(&vsub->cs.requests) == 1 -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _test_ss_ussd_no: now used by 4 (attached,gsm0911_gsup_rx,NCSS,Paging) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _test_ss_ussd_no: now used by 3 (attached,NCSS,Paging) paging_sent == 1 - the subscriber and its pending request should remain -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + _test_ss_ussd_no: now used by 5 (attached,gsm0911_gsup_rx,NCSS,Paging,_test_ss_ussd_no) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + _test_ss_ussd_no: now used by 4 (attached,NCSS,Paging,_test_ss_ussd_no) llist_count(&vsub->cs.requests) == 1 -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _test_ss_ussd_no: now used by 4 (attached,gsm0911_gsup_rx,NCSS,Paging) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _test_ss_ussd_no: now used by 3 (attached,NCSS,Paging) - MS replies with Paging Response, we deliver the NC/USSD MSC <--GERAN-A-- MS: GSM48_MT_RR_PAG_RESP new conn @@ -401,8 +403,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: is child of msc_a(IMSI-901700000004620:GERAN-A:PAGING_RESP) DVLR Process_Access_Request_VLR(IMSI-901700000004620:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: rev=GSM net=GERAN (no Auth) DVLR Process_Access_Request_VLR(IMSI-901700000004620:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: Received Event PR_ARQ_E_START -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + proc_arq_vlr_fn_init: now used by 5 (attached,gsm0911_gsup_rx,NCSS,Paging,proc_arq_vlr_fn_init) -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + active-conn: now used by 6 (attached,gsm0911_gsup_rx,NCSS,Paging,proc_arq_vlr_fn_init,active-conn) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + proc_arq_vlr_fn_init: now used by 4 (attached,NCSS,Paging,proc_arq_vlr_fn_init) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + active-conn: now used by 5 (attached,NCSS,Paging,proc_arq_vlr_fn_init,active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi() @@ -425,9 +427,9 @@ - DTAP --GERAN-A--> MS: GSM0480_MTYPE_REGISTER: 0b3b1c15a11302010102013b300b04010f0406aa510c061b01 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - Paging: now used by 5 (attached,gsm0911_gsup_rx,NCSS,proc_arq_vlr_fn_init,active-conn) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - Paging: now used by 4 (attached,NCSS,proc_arq_vlr_fn_init,active-conn) DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: - paging-response: now used by 2 (rx_from_ms,nc_ss) -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - proc_arq_vlr_fn_init: now used by 4 (attached,gsm0911_gsup_rx,NCSS,active-conn) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - proc_arq_vlr_fn_init: now used by 3 (attached,NCSS,active-conn) DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: - rx_from_ms: now used by 1 (nc_ss) dtap_tx_confirmed == 1 - MS responds to SS/USSD request @@ -441,24 +443,25 @@ dtap_tx_confirmed == 1 - HLR terminates the session <-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: 20010809710000004026f03004200001013101030a0103 -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + gsm0911_gsup_rx: now used by 5 (attached,2*gsm0911_gsup_rx,NCSS,active-conn) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + gsm0911_gsup_rx: now used by 4 (attached,NCSS,active-conn,gsm0911_gsup_rx) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm0911_gsup_rx: now used by 3 (attached,NCSS,active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 0b2a - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DSS trans(NCSS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x20000101 tid-0) Freeing transaction -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - NCSS: now used by 4 (attached,2*gsm0911_gsup_rx,active-conn) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - NCSS: now used by 2 (attached,active-conn) DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: - nc_ss: now used by 0 (-) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_UNUSED DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_RELEASING DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_RELEASING}: Releasing: msc_a use is 0 (-) -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + msc_a_fsm_releasing_onenter: now used by 5 (attached,2*gsm0911_gsup_rx,active-conn,msc_a_fsm_releasing_onenter) -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 6 (attached,2*gsm0911_gsup_rx,active-conn,msc_a_fsm_releasing_onenter,vlr_subscr_cancel_attach_fsm) -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 5 (attached,2*gsm0911_gsup_rx,active-conn,msc_a_fsm_releasing_onenter) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + msc_a_fsm_releasing_onenter: now used by 3 (attached,active-conn,msc_a_fsm_releasing_onenter) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,active-conn,msc_a_fsm_releasing_onenter,vlr_subscr_cancel_attach_fsm) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,active-conn,msc_a_fsm_releasing_onenter) DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_RELEASING}: + wait-Clear-Complete: now used by 1 (wait-Clear-Complete) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - msc_a_fsm_releasing_onenter: now used by 4 (attached,2*gsm0911_gsup_rx,active-conn) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - msc_a_fsm_releasing_onenter: now used by 2 (attached,active-conn) <-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: vlr_gsupc_read_cb() returns 0 dtap_tx_confirmed == 1 bssap_clear_sent == 1 @@ -483,12 +486,12 @@ DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){0}: Removing from parent msub_fsm DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){0}: Deferring: will deallocate with msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP) DMSC msub(IMSI-901700000004620:MSISDN-46071) Free -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - active-conn: now used by 3 (attached,2*gsm0911_gsup_rx) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - active-conn: now used by 1 (attached) DMSC msub_fsm{terminating}: Deferring: will deallocate with msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_RELEASED}: Deallocated, including all deferred deallocations - msub gone llist_count(&msub_list) == 0 -DVLR freeing VLR subscr IMSI-901700000004620:MSISDN-46071 (max total use count was 6) +DVLR freeing VLR subscr IMSI-901700000004620:MSISDN-46071 (max total use count was 5) ===== test_ss_ussd_no_geran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5540556b1c75f6873883e46b78656f31fc1ef186 Gerrit-Change-Number: 14500 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 17 15:23:25 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 15:23:25 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() in gsm0911_rcv_nc_ss() Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14501 Change subject: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() in gsm0911_rcv_nc_ss() ...................................................................... libmsc/gsm_09_11.c: do not abuse LOG_TRANS() in gsm0911_rcv_nc_ss() If we 100% sure that trans == NULL, it makes more sense to use generic LOGP(DSS, LOGL_*, ...) call, so the logs can reflect more information than such dummy prefix: trans(NULL NULL callref-0x0 tid-0) ... Change-Id: I6b68a0f0b32eb126e0f7e914a314130254d28467 --- M src/libmsc/gsm_09_11.c 1 file changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/01/14501/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index c7b2155..df0a9b4 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -135,8 +135,9 @@ * a supplementary service. */ if (msg_type != GSM0480_MTYPE_REGISTER) { - LOG_TRANS(trans, LOGL_ERROR, "Rx wrong SS/USSD message type for new transaction: %s\n", - gsm48_pdisc_msgtype_name(GSM48_PDISC_NC_SS, msg_type)); + LOGP(DSS, LOGL_ERROR, "Rx %s message for non-existing transaction (tid-%u)\n", + gsm48_pdisc_msgtype_name(GSM48_PDISC_NC_SS, msg_type), + gsm48_hdr_trans_id(gh)); gsm48_tx_simple(msc_a, GSM48_PDISC_NC_SS | (tid << 4), GSM0480_MTYPE_RELEASE_COMPLETE); @@ -145,7 +146,7 @@ trans = trans_alloc(net, vsub, TRANS_USSD, tid, new_callref++); if (!trans) { - LOG_TRANS(trans, LOGL_ERROR, " -> No memory for trans\n"); + LOGP(DSS, LOGL_ERROR, " -> No memory for trans\n"); gsm48_tx_simple(msc_a, GSM48_PDISC_NC_SS | (tid << 4), GSM0480_MTYPE_RELEASE_COMPLETE); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6b68a0f0b32eb126e0f7e914a314130254d28467 Gerrit-Change-Number: 14501 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 17 15:23:25 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 15:23:25 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: do not suppress rc of gsup_client_mux_tx() Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14502 Change subject: libmsc/gsm_09_11.c: do not suppress rc of gsup_client_mux_tx() ...................................................................... libmsc/gsm_09_11.c: do not suppress rc of gsup_client_mux_tx() Change-Id: Ide2440188fb6fe1c54681fef8ec4fed9e6da66e2 --- M src/libmsc/gsm_09_11.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/02/14502/1 diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index df0a9b4..79fcb5a 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -242,7 +242,7 @@ if (msg_type == GSM0480_MTYPE_REGISTER) rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_NC_SS_MO_ESTABLISHED]); - return 0; + return rc; error: /* Abort transaction on DTAP-interface */ -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ide2440188fb6fe1c54681fef8ec4fed9e6da66e2 Gerrit-Change-Number: 14502 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 17 15:26:52 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 15:26:52 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: avoid double zero-initialization of gsup_msg In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14499 ) Change subject: libmsc/gsm_09_11.c: avoid double zero-initialization of gsup_msg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib991b01534499401e7a0c3de49ceba770fdd9b48 Gerrit-Change-Number: 14499 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 17 Jun 2019 15:26: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 17 15:36:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 15:36:20 +0000 Subject: Change in ...osmo-bsc[master]: Remove extern declarations of libosmovty symbols In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14492 ) Change subject: Remove extern declarations of libosmovty symbols ...................................................................... Patch Set 1: Code-Review+1 > And the library has the declarations since 2011, so it's time to > get them removed from here. This is exactly the kind of information I would want to read in the changelog. Thanks! -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5c8d02605a78c6792f616ad423b4491b83f42545 Gerrit-Change-Number: 14492 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 15:36:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 15:37:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 15:37:24 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: fix broken reference counting for vsub In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14500 ) Change subject: libmsc/gsm_09_11.c: fix broken reference counting for vsub ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5540556b1c75f6873883e46b78656f31fc1ef186 Gerrit-Change-Number: 14500 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 17 Jun 2019 15:37: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 17 15:38:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 15:38:15 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() in gsm0911_rcv_nc_ss() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14501 ) Change subject: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() in gsm0911_rcv_nc_ss() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6b68a0f0b32eb126e0f7e914a314130254d28467 Gerrit-Change-Number: 14501 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 15:38:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 15:40:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 17 Jun 2019 15:40:05 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: do not suppress rc of gsup_client_mux_tx() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14502 ) Change subject: libmsc/gsm_09_11.c: do not suppress rc of gsup_client_mux_tx() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ide2440188fb6fe1c54681fef8ec4fed9e6da66e2 Gerrit-Change-Number: 14502 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 15:40: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 17 16:02:54 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 16:02:54 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_mo_ussd_for_unknown_trans Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14503 Change subject: MSC_Tests.ttcn: introduce TC_mo_ussd_for_unknown_trans ...................................................................... MSC_Tests.ttcn: introduce TC_mo_ussd_for_unknown_trans The new test case is aimed to verify that OsmoMSC properly does reject (call independent) SS/USSD messages for non-existing transactions. Change-Id: I231142c88b0d3308039c797aa2bccadd79dce18b Related: OS#2931 --- M msc/MSC_Tests.ttcn 1 file changed, 60 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/03/14503/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index b0834a4..b00e032 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3509,6 +3509,65 @@ vc_conn.done; } +/* MO (mobile-originated) SS/USSD for unknown transaction */ +friend function f_tc_mo_ussd_for_unknown_trans(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + f_init_handler(pars); + + f_ran_register_imsi(g_pars.imsi, 'FFFFFFFF'O); + f_create_gsup_expect(hex2str(g_pars.imsi)); + + /* Perform location update */ + f_perform_lu(); + + /* Send CM Service Request for SS/USSD */ + f_establish_fully(EST_TYPE_SS_ACT); + + /* GSM 04.80 FACILITY message for a non-existing transaction */ + var template (value) PDU_ML3_MS_NW mo_ss_fac := ts_ML3_MO_SS_FACILITY( + tid := 1, /* An arbitrary transaction identifier */ + ti_flag := c_TIF_ORIG, /* Sent from the side that originates the TI */ + facility := f_rnd_octstring(23) /* We don't care about the Facility IE */ + ); + + /* GSM 04.80 RELEASE COMPLETE message for a non-existing transaction */ + var template (value) PDU_ML3_MS_NW mo_ss_rel := ts_ML3_MO_SS_RELEASE_COMPLETE( + tid := 1, /* An arbitrary transaction identifier */ + ti_flag := c_TIF_ORIG, /* Sent from the side that originates the TI */ + facility := f_rnd_octstring(23) /* We don't care about the Facility IE */ + ); + + /* Expected response from the network */ + var template PDU_ML3_NW_MS mt_ss_rel := tr_ML3_MT_SS_RELEASE_COMPLETE( + tid := 1, /* Same as in the FACILITY message */ + ti_flag := c_TIF_REPL, /* Sent to the side that originates the TI */ + facility := omit + ); + + /* Send GSM 04.80 FACILITY for non-existing transaction */ + BSSAP.send(ts_PDU_DTAP_MO(mo_ss_fac)); + + /* Expect GSM 04.80 RELEASE COMPLETE message */ + f_expect_mt_dtap_msg(mt_ss_rel); + f_expect_clear(); + + /* Send another CM Service Request for SS/USSD */ + f_establish_fully(EST_TYPE_SS_ACT); + + /* Send GSM 04.80 RELEASE COMPLETE for non-existing transaction */ + BSSAP.send(ts_PDU_DTAP_MO(mo_ss_rel)); + + /* Expect GSM 04.80 RELEASE COMPLETE message */ + f_expect_mt_dtap_msg(mt_ss_rel); + f_expect_clear(); +} +testcase TC_mo_ussd_for_unknown_trans() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_mo_ussd_for_unknown_trans), 111); + vc_conn.done; +} + /* MT (network-originated) USSD for unknown session */ friend function f_tc_proc_ss_for_unknown_session(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -5542,6 +5601,7 @@ execute( TC_lu_and_ss_session_timeout() ); execute( TC_mt_ussd_for_unknown_subscr() ); + execute( TC_mo_ussd_for_unknown_trans() ); execute( TC_proc_ss_for_unknown_session() ); execute( TC_proc_ss_paging_fail() ); execute( TC_proc_ss_abort() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I231142c88b0d3308039c797aa2bccadd79dce18b Gerrit-Change-Number: 14503 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 17 16:20:15 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 16:20:15 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: msc/expected-results.xml: update SS and SMS related expectations Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14504 Change subject: msc/expected-results.xml: update SS and SMS related expectations ...................................................................... msc/expected-results.xml: update SS and SMS related expectations Change-Id: I7c67fa71e2157063c13605267ec34779c5603ed9 --- M msc/expected-results.xml 1 file changed, 7 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/04/14504/1 diff --git a/msc/expected-results.xml b/msc/expected-results.xml index 78b0099..a60e2ec 100644 --- a/msc/expected-results.xml +++ b/msc/expected-results.xml @@ -65,9 +65,12 @@ - - Dynamic test case error: testcase.stop - + + + + + + @@ -92,11 +95,6 @@ - - Tguard timeout - MSC_Tests.ttcn:MASKED MSC_Tests control part - MSC_Tests.ttcn:MASKED TC_gsup_mt_multi_part_sms testcase - - + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7c67fa71e2157063c13605267ec34779c5603ed9 Gerrit-Change-Number: 14504 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 17 16:28:43 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 16:28:43 +0000 Subject: Change in ...osmo-hlr[master]: manuals: Update vty documentation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14498 ) Change subject: manuals: Update vty documentation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ia650ec9ab97dcb64e4b701328bc7e88d691d427a Gerrit-Change-Number: 14498 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 17 Jun 2019 16:28:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 16:29:40 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 17 Jun 2019 16:29:40 +0000 Subject: Change in ...osmo-msc[master]: manuals: Update counter/vty documentation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14495 ) Change subject: manuals: Update counter/vty documentation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1ef0e8ae166d7fdc5e85716a961e8387d26bdd2c Gerrit-Change-Number: 14495 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 Jun 2019 16:29: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 17 21:53:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 21:53:51 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: msc/expected-results.xml: update SS and SMS related expectations In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14504 ) Change subject: msc/expected-results.xml: update SS and SMS related expectations ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7c67fa71e2157063c13605267ec34779c5603ed9 Gerrit-Change-Number: 14504 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 Jun 2019 21:53:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 21:54:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 21:54:37 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: fix broken reference counting for vsub In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14500 ) Change subject: libmsc/gsm_09_11.c: fix broken reference counting for vsub ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5540556b1c75f6873883e46b78656f31fc1ef186 Gerrit-Change-Number: 14500 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 21:54: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 17 21:55:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 21:55:05 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() in gsm0911_rcv_nc_ss() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14501 ) Change subject: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() in gsm0911_rcv_nc_ss() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6b68a0f0b32eb126e0f7e914a314130254d28467 Gerrit-Change-Number: 14501 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 21:55:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 21:55:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 21:55:33 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: do not suppress rc of gsup_client_mux_tx() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14502 ) Change subject: libmsc/gsm_09_11.c: do not suppress rc of gsup_client_mux_tx() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ide2440188fb6fe1c54681fef8ec4fed9e6da66e2 Gerrit-Change-Number: 14502 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 17 Jun 2019 21:55: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 17 21:55:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 21:55:34 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: avoid double zero-initialization of gsup_msg In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14499 ) Change subject: libmsc/gsm_09_11.c: avoid double zero-initialization of gsup_msg ...................................................................... libmsc/gsm_09_11.c: avoid double zero-initialization of gsup_msg Change-Id: Ib991b01534499401e7a0c3de49ceba770fdd9b48 --- M src/libmsc/gsm_09_11.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 7e1f580..cd54703 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -57,7 +57,7 @@ static void ncss_session_timeout_handler(void *_trans) { struct gsm_trans *trans = (struct gsm_trans *) _trans; - struct osmo_gsup_message gsup_msg = { 0 }; + struct osmo_gsup_message gsup_msg; /* The timeout might be disabled from the VTY */ if (trans->net->ncss_guard_timeout == 0) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ib991b01534499401e7a0c3de49ceba770fdd9b48 Gerrit-Change-Number: 14499 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 17 21:55:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 21:55:34 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: fix broken reference counting for vsub In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14500 ) Change subject: libmsc/gsm_09_11.c: fix broken reference counting for vsub ...................................................................... libmsc/gsm_09_11.c: fix broken reference counting for vsub In gsm0911_gsup_rx() we do call vlr_subscr_find_by_imsi(), which increases subscriber's reference count by one using the function name as the token. However, we never release this token, so the reference count grows on every received GSUP PROC-SS message. Change-Id: I5540556b1c75f6873883e46b78656f31fc1ef186 --- M src/libmsc/gsm_09_11.c M tests/msc_vlr/msc_vlr_test_ss.err 2 files changed, 36 insertions(+), 23 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/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index cd54703..c7b2155 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -424,8 +424,9 @@ struct msgb *ss_msg; bool trans_end; struct msc_a *msc_a; - struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(net->vlr, gsup_msg->imsi, __func__); + struct vlr_subscr *vsub; + vsub = vlr_subscr_find_by_imsi(net->vlr, gsup_msg->imsi, __func__); if (!vsub) { LOGP(DSS, LOGL_ERROR, "Rx %s for unknown subscriber, rejecting\n", osmo_gsup_message_type_name(gsup_msg->message_type)); @@ -445,6 +446,9 @@ osmo_gsup_message_type_name(gsup_msg->message_type), gsup_msg->cause, gsup_msg->session_id); + /* We don't need subscriber info anymore */ + vlr_subscr_put(vsub, __func__); + if (!trans) { LOGP(DSS, LOGL_ERROR, "No transaction found for " "sid=0x%x, nothing to abort\n", gsup_msg->session_id); @@ -477,14 +481,20 @@ "SS/USSD transaction, rejecting %s\n", osmo_gsup_message_type_name(gsup_msg->message_type)); gsup_client_mux_tx_error_reply(gcm, gsup_msg, GMM_CAUSE_NET_FAIL); + vlr_subscr_put(vsub, __func__); return -EINVAL; } /* Wait for Paging Response */ - if (trans->paging_request) + if (trans->paging_request) { + vlr_subscr_put(vsub, __func__); return 0; + } } + /* We don't need subscriber info anymore */ + vlr_subscr_put(vsub, __func__); + /* (Re)schedule the inactivity timer */ if (net->ncss_guard_timeout > 0) { osmo_timer_schedule(&trans->ss.timer_guard, diff --git a/tests/msc_vlr/msc_vlr_test_ss.err b/tests/msc_vlr/msc_vlr_test_ss.err index 7845c99..9f47dba 100644 --- a/tests/msc_vlr/msc_vlr_test_ss.err +++ b/tests/msc_vlr/msc_vlr_test_ss.err @@ -184,23 +184,24 @@ DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (nc_ss) <-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: 20010809710000004026f03004200000013101033527a225020101302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d0a0103 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + gsm0911_gsup_rx: now used by 4 (attached,active-conn,NCSS,gsm0911_gsup_rx) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm0911_gsup_rx: now used by 3 (attached,active-conn,NCSS) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020101302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DSS trans(NCSS IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ callref-0x20000001 tid-8) Freeing transaction -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - NCSS: now used by 3 (attached,active-conn,gsm0911_gsup_rx) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - NCSS: now used by 2 (attached,active-conn) DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - nc_ss: now used by 0 (-) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Received Event MSC_A_EV_UNUSED DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: state_chg to MSC_A_ST_RELEASING DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: Releasing: msc_a use is 0 (-) -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + msc_a_fsm_releasing_onenter: now used by 4 (attached,active-conn,gsm0911_gsup_rx,msc_a_fsm_releasing_onenter) -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 5 (attached,active-conn,gsm0911_gsup_rx,msc_a_fsm_releasing_onenter,vlr_subscr_cancel_attach_fsm) -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 4 (attached,active-conn,gsm0911_gsup_rx,msc_a_fsm_releasing_onenter) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + msc_a_fsm_releasing_onenter: now used by 3 (attached,active-conn,msc_a_fsm_releasing_onenter) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,active-conn,msc_a_fsm_releasing_onenter,vlr_subscr_cancel_attach_fsm) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,active-conn,msc_a_fsm_releasing_onenter) DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: + wait-Clear-Complete: now used by 1 (wait-Clear-Complete) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - msc_a_fsm_releasing_onenter: now used by 3 (attached,active-conn,gsm0911_gsup_rx) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - msc_a_fsm_releasing_onenter: now used by 2 (attached,active-conn) <-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: vlr_gsupc_read_cb() returns 0 dtap_tx_confirmed == 1 bssap_clear_sent == 1 @@ -225,7 +226,7 @@ DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Removing from parent msub_fsm DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){0}: Deferring: will deallocate with msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ) DMSC msub(IMSI-901700000004620:MSISDN-46071) Free -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - active-conn: now used by 2 (attached,gsm0911_gsup_rx) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - active-conn: now used by 1 (attached) DMSC msub_fsm{terminating}: Deferring: will deallocate with msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_RELEASED}: Deallocated, including all deferred deallocations - msub gone @@ -375,14 +376,15 @@ paging request (SIGNALLING_HIGH_PRIO) to IMSI-901700000004620:MSISDN-46071 on GERAN-A strcmp(paging_expecting_imsi, vsub->imsi) == 0 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + Paging: now used by 5 (attached,_test_ss_ussd_no,gsm0911_gsup_rx,NCSS,Paging) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm0911_gsup_rx: now used by 4 (attached,_test_ss_ussd_no,NCSS,Paging) <-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: vlr_gsupc_read_cb() returns 0 llist_count(&vsub->cs.requests) == 1 -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _test_ss_ussd_no: now used by 4 (attached,gsm0911_gsup_rx,NCSS,Paging) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _test_ss_ussd_no: now used by 3 (attached,NCSS,Paging) paging_sent == 1 - the subscriber and its pending request should remain -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + _test_ss_ussd_no: now used by 5 (attached,gsm0911_gsup_rx,NCSS,Paging,_test_ss_ussd_no) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + _test_ss_ussd_no: now used by 4 (attached,NCSS,Paging,_test_ss_ussd_no) llist_count(&vsub->cs.requests) == 1 -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _test_ss_ussd_no: now used by 4 (attached,gsm0911_gsup_rx,NCSS,Paging) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _test_ss_ussd_no: now used by 3 (attached,NCSS,Paging) - MS replies with Paging Response, we deliver the NC/USSD MSC <--GERAN-A-- MS: GSM48_MT_RR_PAG_RESP new conn @@ -401,8 +403,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: is child of msc_a(IMSI-901700000004620:GERAN-A:PAGING_RESP) DVLR Process_Access_Request_VLR(IMSI-901700000004620:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: rev=GSM net=GERAN (no Auth) DVLR Process_Access_Request_VLR(IMSI-901700000004620:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: Received Event PR_ARQ_E_START -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + proc_arq_vlr_fn_init: now used by 5 (attached,gsm0911_gsup_rx,NCSS,Paging,proc_arq_vlr_fn_init) -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + active-conn: now used by 6 (attached,gsm0911_gsup_rx,NCSS,Paging,proc_arq_vlr_fn_init,active-conn) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + proc_arq_vlr_fn_init: now used by 4 (attached,NCSS,Paging,proc_arq_vlr_fn_init) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + active-conn: now used by 5 (attached,NCSS,Paging,proc_arq_vlr_fn_init,active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi() @@ -425,9 +427,9 @@ - DTAP --GERAN-A--> MS: GSM0480_MTYPE_REGISTER: 0b3b1c15a11302010102013b300b04010f0406aa510c061b01 - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - Paging: now used by 5 (attached,gsm0911_gsup_rx,NCSS,proc_arq_vlr_fn_init,active-conn) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - Paging: now used by 4 (attached,NCSS,proc_arq_vlr_fn_init,active-conn) DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: - paging-response: now used by 2 (rx_from_ms,nc_ss) -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - proc_arq_vlr_fn_init: now used by 4 (attached,gsm0911_gsup_rx,NCSS,active-conn) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - proc_arq_vlr_fn_init: now used by 3 (attached,NCSS,active-conn) DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: - rx_from_ms: now used by 1 (nc_ss) dtap_tx_confirmed == 1 - MS responds to SS/USSD request @@ -441,24 +443,25 @@ dtap_tx_confirmed == 1 - HLR terminates the session <-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: 20010809710000004026f03004200001013101030a0103 -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + gsm0911_gsup_rx: now used by 5 (attached,2*gsm0911_gsup_rx,NCSS,active-conn) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + gsm0911_gsup_rx: now used by 4 (attached,NCSS,active-conn,gsm0911_gsup_rx) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm0911_gsup_rx: now used by 3 (attached,NCSS,active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 0b2a - DTAP matches expected message DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST DSS trans(NCSS IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP callref-0x20000101 tid-0) Freeing transaction -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - NCSS: now used by 4 (attached,2*gsm0911_gsup_rx,active-conn) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - NCSS: now used by 2 (attached,active-conn) DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: - nc_ss: now used by 0 (-) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_UNUSED DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: state_chg to MSC_A_ST_RELEASING DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_RELEASING}: Releasing: msc_a use is 0 (-) -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + msc_a_fsm_releasing_onenter: now used by 5 (attached,2*gsm0911_gsup_rx,active-conn,msc_a_fsm_releasing_onenter) -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 6 (attached,2*gsm0911_gsup_rx,active-conn,msc_a_fsm_releasing_onenter,vlr_subscr_cancel_attach_fsm) -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 5 (attached,2*gsm0911_gsup_rx,active-conn,msc_a_fsm_releasing_onenter) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + msc_a_fsm_releasing_onenter: now used by 3 (attached,active-conn,msc_a_fsm_releasing_onenter) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,active-conn,msc_a_fsm_releasing_onenter,vlr_subscr_cancel_attach_fsm) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,active-conn,msc_a_fsm_releasing_onenter) DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_RELEASING}: + wait-Clear-Complete: now used by 1 (wait-Clear-Complete) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - msc_a_fsm_releasing_onenter: now used by 4 (attached,2*gsm0911_gsup_rx,active-conn) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - msc_a_fsm_releasing_onenter: now used by 2 (attached,active-conn) <-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: vlr_gsupc_read_cb() returns 0 dtap_tx_confirmed == 1 bssap_clear_sent == 1 @@ -483,12 +486,12 @@ DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){0}: Removing from parent msub_fsm DMSC dummy_msc_i(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){0}: Deferring: will deallocate with msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP) DMSC msub(IMSI-901700000004620:MSISDN-46071) Free -DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - active-conn: now used by 3 (attached,2*gsm0911_gsup_rx) +DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - active-conn: now used by 1 (attached) DMSC msub_fsm{terminating}: Deferring: will deallocate with msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:PAGING_RESP){MSC_A_ST_RELEASED}: Deallocated, including all deferred deallocations - msub gone llist_count(&msub_list) == 0 -DVLR freeing VLR subscr IMSI-901700000004620:MSISDN-46071 (max total use count was 6) +DVLR freeing VLR subscr IMSI-901700000004620:MSISDN-46071 (max total use count was 5) ===== test_ss_ussd_no_geran: SUCCESS full talloc report on 'msgb' (total 0 bytes in 1 blocks) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5540556b1c75f6873883e46b78656f31fc1ef186 Gerrit-Change-Number: 14500 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-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 17 21:55:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 21:55:35 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() in gsm0911_rcv_nc_ss() In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14501 ) Change subject: libmsc/gsm_09_11.c: do not abuse LOG_TRANS() in gsm0911_rcv_nc_ss() ...................................................................... libmsc/gsm_09_11.c: do not abuse LOG_TRANS() in gsm0911_rcv_nc_ss() If we 100% sure that trans == NULL, it makes more sense to use generic LOGP(DSS, LOGL_*, ...) call, so the logs can reflect more information than such dummy prefix: trans(NULL NULL callref-0x0 tid-0) ... Change-Id: I6b68a0f0b32eb126e0f7e914a314130254d28467 --- M src/libmsc/gsm_09_11.c 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/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index c7b2155..df0a9b4 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -135,8 +135,9 @@ * a supplementary service. */ if (msg_type != GSM0480_MTYPE_REGISTER) { - LOG_TRANS(trans, LOGL_ERROR, "Rx wrong SS/USSD message type for new transaction: %s\n", - gsm48_pdisc_msgtype_name(GSM48_PDISC_NC_SS, msg_type)); + LOGP(DSS, LOGL_ERROR, "Rx %s message for non-existing transaction (tid-%u)\n", + gsm48_pdisc_msgtype_name(GSM48_PDISC_NC_SS, msg_type), + gsm48_hdr_trans_id(gh)); gsm48_tx_simple(msc_a, GSM48_PDISC_NC_SS | (tid << 4), GSM0480_MTYPE_RELEASE_COMPLETE); @@ -145,7 +146,7 @@ trans = trans_alloc(net, vsub, TRANS_USSD, tid, new_callref++); if (!trans) { - LOG_TRANS(trans, LOGL_ERROR, " -> No memory for trans\n"); + LOGP(DSS, LOGL_ERROR, " -> No memory for trans\n"); gsm48_tx_simple(msc_a, GSM48_PDISC_NC_SS | (tid << 4), GSM0480_MTYPE_RELEASE_COMPLETE); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6b68a0f0b32eb126e0f7e914a314130254d28467 Gerrit-Change-Number: 14501 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 17 21:55:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 21:55:36 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_09_11.c: do not suppress rc of gsup_client_mux_tx() In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14502 ) Change subject: libmsc/gsm_09_11.c: do not suppress rc of gsup_client_mux_tx() ...................................................................... libmsc/gsm_09_11.c: do not suppress rc of gsup_client_mux_tx() Change-Id: Ide2440188fb6fe1c54681fef8ec4fed9e6da66e2 --- M src/libmsc/gsm_09_11.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index df0a9b4..79fcb5a 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -242,7 +242,7 @@ if (msg_type == GSM0480_MTYPE_REGISTER) rate_ctr_inc(&net->msc_ctrs->ctr[MSC_CTR_NC_SS_MO_ESTABLISHED]); - return 0; + return rc; error: /* Abort transaction on DTAP-interface */ -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ide2440188fb6fe1c54681fef8ec4fed9e6da66e2 Gerrit-Change-Number: 14502 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 17 21:56:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 21:56:02 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_mo_ussd_for_unknown_trans In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14503 ) Change subject: MSC_Tests.ttcn: introduce TC_mo_ussd_for_unknown_trans ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I231142c88b0d3308039c797aa2bccadd79dce18b Gerrit-Change-Number: 14503 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 17 Jun 2019 21:56: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 17 21:56:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 21:56:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests.ttcn: introduce TC_mo_ussd_for_unknown_trans In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14503 ) Change subject: MSC_Tests.ttcn: introduce TC_mo_ussd_for_unknown_trans ...................................................................... MSC_Tests.ttcn: introduce TC_mo_ussd_for_unknown_trans The new test case is aimed to verify that OsmoMSC properly does reject (call independent) SS/USSD messages for non-existing transactions. Change-Id: I231142c88b0d3308039c797aa2bccadd79dce18b Related: OS#2931 --- M msc/MSC_Tests.ttcn 1 file changed, 60 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index b0834a4..b00e032 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -3509,6 +3509,65 @@ vc_conn.done; } +/* MO (mobile-originated) SS/USSD for unknown transaction */ +friend function f_tc_mo_ussd_for_unknown_trans(charstring id, BSC_ConnHdlrPars pars) +runs on BSC_ConnHdlr { + f_init_handler(pars); + + f_ran_register_imsi(g_pars.imsi, 'FFFFFFFF'O); + f_create_gsup_expect(hex2str(g_pars.imsi)); + + /* Perform location update */ + f_perform_lu(); + + /* Send CM Service Request for SS/USSD */ + f_establish_fully(EST_TYPE_SS_ACT); + + /* GSM 04.80 FACILITY message for a non-existing transaction */ + var template (value) PDU_ML3_MS_NW mo_ss_fac := ts_ML3_MO_SS_FACILITY( + tid := 1, /* An arbitrary transaction identifier */ + ti_flag := c_TIF_ORIG, /* Sent from the side that originates the TI */ + facility := f_rnd_octstring(23) /* We don't care about the Facility IE */ + ); + + /* GSM 04.80 RELEASE COMPLETE message for a non-existing transaction */ + var template (value) PDU_ML3_MS_NW mo_ss_rel := ts_ML3_MO_SS_RELEASE_COMPLETE( + tid := 1, /* An arbitrary transaction identifier */ + ti_flag := c_TIF_ORIG, /* Sent from the side that originates the TI */ + facility := f_rnd_octstring(23) /* We don't care about the Facility IE */ + ); + + /* Expected response from the network */ + var template PDU_ML3_NW_MS mt_ss_rel := tr_ML3_MT_SS_RELEASE_COMPLETE( + tid := 1, /* Same as in the FACILITY message */ + ti_flag := c_TIF_REPL, /* Sent to the side that originates the TI */ + facility := omit + ); + + /* Send GSM 04.80 FACILITY for non-existing transaction */ + BSSAP.send(ts_PDU_DTAP_MO(mo_ss_fac)); + + /* Expect GSM 04.80 RELEASE COMPLETE message */ + f_expect_mt_dtap_msg(mt_ss_rel); + f_expect_clear(); + + /* Send another CM Service Request for SS/USSD */ + f_establish_fully(EST_TYPE_SS_ACT); + + /* Send GSM 04.80 RELEASE COMPLETE for non-existing transaction */ + BSSAP.send(ts_PDU_DTAP_MO(mo_ss_rel)); + + /* Expect GSM 04.80 RELEASE COMPLETE message */ + f_expect_mt_dtap_msg(mt_ss_rel); + f_expect_clear(); +} +testcase TC_mo_ussd_for_unknown_trans() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_tc_mo_ussd_for_unknown_trans), 111); + vc_conn.done; +} + /* MT (network-originated) USSD for unknown session */ friend function f_tc_proc_ss_for_unknown_session(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -5542,6 +5601,7 @@ execute( TC_lu_and_ss_session_timeout() ); execute( TC_mt_ussd_for_unknown_subscr() ); + execute( TC_mo_ussd_for_unknown_trans() ); execute( TC_proc_ss_for_unknown_session() ); execute( TC_proc_ss_paging_fail() ); execute( TC_proc_ss_abort() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I231142c88b0d3308039c797aa2bccadd79dce18b Gerrit-Change-Number: 14503 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 17 21:56:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 21:56:06 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: msc/expected-results.xml: update SS and SMS related expectations In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14504 ) Change subject: msc/expected-results.xml: update SS and SMS related expectations ...................................................................... msc/expected-results.xml: update SS and SMS related expectations Change-Id: I7c67fa71e2157063c13605267ec34779c5603ed9 --- M msc/expected-results.xml 1 file changed, 7 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/msc/expected-results.xml b/msc/expected-results.xml index 78b0099..a60e2ec 100644 --- a/msc/expected-results.xml +++ b/msc/expected-results.xml @@ -65,9 +65,12 @@ - - Dynamic test case error: testcase.stop - + + + + + + @@ -92,11 +95,6 @@ - - Tguard timeout - MSC_Tests.ttcn:MASKED MSC_Tests control part - MSC_Tests.ttcn:MASKED TC_gsup_mt_multi_part_sms testcase - - + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7c67fa71e2157063c13605267ec34779c5603ed9 Gerrit-Change-Number: 14504 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 17 21:56:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 21:56:40 +0000 Subject: Change in ...osmo-pcu[master]: encoding: use `/* */` for comments instead of `#if 0 #endif` In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14483 ) Change subject: encoding: use `/* */` for comments instead of `#if 0 #endif` ...................................................................... encoding: use `/* */` for comments instead of `#if 0 #endif` Change-Id: Ifff9526b15bfda7a0f85c92bcb0d3fabab61ca32 --- M src/encoding.cpp 1 file changed, 3 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/encoding.cpp b/src/encoding.cpp index b6879cc..530cba7 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -853,8 +853,8 @@ bool len_coded = true; uint8_t crbb_start_clr_code; uint8_t i; -#if 0 - /* static size of 16 bits*/ + + /* static size of 16 bits ..0. .... = ACKNACK: (Union) Desc @@ -866,8 +866,7 @@ .... ..10 0101 0001 1... .... = STARTING_SEQUENCE_NUMBER: 1187 - .0.. .... = CRBB Exist: 0 -#endif + .0.. .... = CRBB Exist: 0 */ rest_bits -= 16; if (num_blocks > 0) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ifff9526b15bfda7a0f85c92bcb0d3fabab61ca32 Gerrit-Change-Number: 14483 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 17 21:56:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 17 Jun 2019 21:56:40 +0000 Subject: Change in ...osmo-pcu[master]: egprs_rlc_compression: fix white spaces In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14484 ) Change subject: egprs_rlc_compression: fix white spaces ...................................................................... egprs_rlc_compression: fix white spaces Change-Id: I43a5acc2dda4ba567ada9846880e31c85bc98394 --- M src/egprs_rlc_compression.cpp M src/egprs_rlc_compression.h 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/egprs_rlc_compression.cpp b/src/egprs_rlc_compression.cpp index 7eeb7d2..014e930 100644 --- a/src/egprs_rlc_compression.cpp +++ b/src/egprs_rlc_compression.cpp @@ -618,7 +618,7 @@ struct bitvec *urbb_vec, struct bitvec *crbb_vec, uint8_t *uclen_crbb, /* Uncompressed bitmap len in CRBB */ - uint8_t max_bits) /* max remaining bits */ + uint8_t max_bits) /* max remaining bits */ { bool run_len_bit; int buflen = urbb_vec->cur_bit; diff --git a/src/egprs_rlc_compression.h b/src/egprs_rlc_compression.h index 4d2501b..84a54fb 100644 --- a/src/egprs_rlc_compression.h +++ b/src/egprs_rlc_compression.h @@ -17,7 +17,7 @@ egprs_compress(); int osmo_t4_compress(struct bitvec *bv); static int compress_rbb(struct bitvec *urbb_vec, struct bitvec *crbb_vec, - uint8_t *uclen_crbb, uint8_t max_bits); + uint8_t *uclen_crbb, uint8_t max_bits); private: egprs_compress_node *ones_list; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I43a5acc2dda4ba567ada9846880e31c85bc98394 Gerrit-Change-Number: 14484 Gerrit-PatchSet: 1 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 admin at opensuse.org Tue Jun 18 02:57:10 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 18 Jun 2019 02:57:10 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0853123051_6068de26001897a8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 770s] | | #define HAVE_SYS_TIMERFD_H 1 [ 770s] | | #define HAVE_SYSLOG_H 1 [ 770s] | | #define HAVE_CTYPE_H 1 [ 770s] | | #define HAVE_NETINET_TCP_H 1 [ 770s] | | #define HAVE_NETINET_IN_H 1 [ 770s] | | #define HAVE_ALLOCA_H 1 [ 770s] | | #define HAVE_ALLOCA 1 [ 770s] | | /* end confdefs.h. */ [ 770s] | | [ 770s] | | /* Override any GCC internal prototype to avoid an error. [ 770s] | | Use char because int might match the return type of a GCC [ 770s] | | builtin and then its argument prototype would still apply. */ [ 770s] | | #ifdef __cplusplus [ 770s] | | extern "C" [ 770s] | | #endif [ 770s] | | char dlopen (); [ 770s] | | int [ 770s] | | main () [ 770s] | | { [ 770s] | | return dlopen (); [ 770s] | | ; [ 770s] | | return 0; [ 770s] | | } [ 772s] | configure:12811: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftes[ 720.920854] sysrq: SysRq : Power Off [ 772s] [ 720.923225] reboot: Power down [ 773s] ### VM INTERACTION END ### [ 774s] [ 774s] armbuild19 failed "build libosmocore_1.1.0.70.76e8c.dsc" at Tue Jun 18 02:56:57 UTC 2019. [ 774s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 18 04:09:27 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 18 Jun 2019 04:09:27 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d086412cae0d_6068de2600192119@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 473s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 473s] ./src/common/bts.c:423: undefined reference to `lapdm_channel_init2' [ 473s] collect2: error: ld returned 1 exit status [ 473s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 473s] make[4]: *** [osmo-bts-virtual] Error 1 [ 473s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 473s] Makefile:385: recipe for target 'all-recursive' failed [ 473s] make[3]: *** [all-recursive] Error 1 [ 473s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 473s] Makefile:434: recipe for target 'all-recursive' failed [ 473s] make[2]: *** [all-recursive] Error 1 [ 473s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 473s] Makefile:366: recipe for target 'all' failed [ 473s] make[1]: *** [all] Error 2 [ 473s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 473s] dh_auto_build: make -j1 returned exit code 2 [ 473s] debian/rules:12: recipe for target 'build' failed [ 473s] make: *** [build] Error 2 [ 473s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 474s] [ 474s] obs-arm-6 failed "build osmo-bts_0.8.1.326.5a3e.dsc" at Tue Jun 18 04:09:17 UTC 2019. [ 474s] [ 474s] ### VM INTERACTION START ### [ 477s] [ 445.326381] sysrq: SysRq : Power Off [ 477s] [ 445.336902] reboot: Power down [ 478s] ### VM INTERACTION END ### [ 478s] [ 478s] obs-arm-6 failed "build osmo-bts_0.8.1.326.5a3e.dsc" at Tue Jun 18 04:09:21 UTC 2019. [ 478s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Jun 18 05:23:13 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 Jun 2019 05:23:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add create-subscriber-on-demand tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 ) Change subject: hlr: add create-subscriber-on-demand tests ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id544fa906ad442c2bbbccff437c18d04ddccde2e Gerrit-Change-Number: 14424 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 Jun 2019 05:23:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Jun 18 05:43:45 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 18 Jun 2019 05:43:45 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d087a169636d_6068de2600198694@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-sgsn failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 907s] bss_ptmsi = bss_ptmsi | GSM23003_TMSI_SGSN_MASK; [ 907s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 907s] gb_proxy.c:246:28: note: each undeclared identifier is reported only once for each function it appears in [ 907s] Makefile:615: recipe for target 'gb_proxy.o' failed [ 907s] make[4]: *** [gb_proxy.o] Error 1 [ 907s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/gprs' [ 907s] Makefile:391: recipe for target 'all-recursive' failed [ 907s] make[3]: *** [all-recursive] Error 1 [ 907s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 908s] Makefile:453: recipe for target 'all-recursive' failed [ 908s] make[2]: *** [all-recursive] Error 1 [ 908s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 908s] Makefile:385: recipe for target 'all' failed [ 908s] make[1]: *** [all] Error 2 [ 908s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 908s] dh_auto_build: make -j1 returned exit code 2 [ 908s] debian/rules:45: recipe for target 'build' failed [ 908s] make: *** [build] Error 2 [ 908s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 909s] [ 909s] obs-arm-5 failed "build osmo-sgsn_1.4.0.26.df9b3.dsc" at Tue Jun 18 05:43:36 UTC 2019. [ 909s] [ 910s] ### VM INTERACTION START ### [ 913s] [ 873.509439] sysrq: SysRq : Power Off [ 913s] [ 873.565935] reboot: Power down [ 915s] ### VM INTERACTION END ### [ 915s] [ 915s] obs-arm-5 failed "build osmo-sgsn_1.4.0.26.df9b3.dsc" at Tue Jun 18 05:43:42 UTC 2019. [ 915s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 18 05:45:28 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 18 Jun 2019 05:45:28 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d087a912b6bb_6068de260019878@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-msc failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 1015s] tmsi |= GSM23003_TMSI_SGSN_MASK; [ 1015s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 1015s] vlr.c:339:12: note: each undeclared identifier is reported only once for each function it appears in [ 1015s] Makefile:442: recipe for target 'vlr.o' failed [ 1015s] make[4]: *** [vlr.o] Error 1 [ 1015s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/libvlr' [ 1015s] Makefile:422: recipe for target 'all-recursive' failed [ 1015s] make[3]: *** [all-recursive] Error 1 [ 1015s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 1015s] Makefile:462: recipe for target 'all-recursive' failed [ 1015s] make[2]: *** [all-recursive] Error 1 [ 1015s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 1015s] Makefile:394: recipe for target 'all' failed [ 1015s] make[1]: *** [all] Error 2 [ 1015s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 1015s] dh_auto_build: make -j1 returned exit code 2 [ 1015s] debian/rules:45: recipe for target 'build' failed [ 1015s] make: *** [build] Error 2 [ 1015s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 1015s] [ 1015s] obs-arm-5 failed "build osmo-msc_1.3.1.166.b3bdc.dsc" at Tue Jun 18 05:45:16 UTC 2019. [ 1015s] [ 1015s] ### VM INTERACTION START ### [ 1018s] [ 975.649628] sysrq: SysRq : Power Off [ 1018s] [ 975.686490] reboot: Power down [ 1019s] ### VM INTERACTION END ### [ 1019s] [ 1019s] obs-arm-5 failed "build osmo-msc_1.3.1.166.b3bdc.dsc" at Tue Jun 18 05:45:19 UTC 2019. [ 1019s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Jun 18 10:23:43 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 18 Jun 2019 10:23:43 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add osmo-sgsn.cfg, SGSN_Tests.cfg Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14505 Change subject: sgsn: add osmo-sgsn.cfg, SGSN_Tests.cfg ...................................................................... sgsn: add osmo-sgsn.cfg, SGSN_Tests.cfg Base on the docker-playground.git's config, but with 127.0.0.*. All tests passing in jenkins are passing locally with this config. Change-Id: I6da479e35fbe9f861a8bd8e578badcd1563e740f --- A sgsn/SGSN_Tests.cfg A sgsn/osmo-sgsn.cfg 2 files changed, 145 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/05/14505/1 diff --git a/sgsn/SGSN_Tests.cfg b/sgsn/SGSN_Tests.cfg new file mode 100644 index 0000000..8782845 --- /dev/null +++ b/sgsn/SGSN_Tests.cfg @@ -0,0 +1,18 @@ +[ORDERED_INCLUDE] +# Common configuration, shared between test suites +"../Common.cfg" +# testsuite specific configuration, not expected to change +"./SGSN_Tests.default" + +# Local configuration below + +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] + +[MAIN_CONTROLLER] + +[EXECUTE] +SGSN_Tests.control diff --git a/sgsn/osmo-sgsn.cfg b/sgsn/osmo-sgsn.cfg new file mode 100644 index 0000000..00c3fed --- /dev/null +++ b/sgsn/osmo-sgsn.cfg @@ -0,0 +1,127 @@ +! +! OsmoSGSN (1.2.0.46-e77e-dirty) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 1 + logging print extended-timestamp 1 + logging print file 1 + logging level all everything + logging level mm debug + logging level pag notice + logging level meas notice + logging level ref notice + logging level gprs debug + logging level ns info + logging level bssgp info + logging level llc debug + logging level sndcp debug + logging level slhc notice + logging level ranap info + logging level sua info + logging level v42bis info + logging level lglobal info + 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 debug + logging level lstats notice + logging level lgsup debug + logging level loap notice + logging level lss7 notice + logging level lsccp info + logging level lsua notice + logging level lm3ua notice + logging level lmgcp notice +! +log file sgsn-raw.log + logging filter all 1 + logging color 0 + logging print category 1 + logging timestamp 1 + logging print file 1 + logging level all everything + logging level mm debug + logging level pag notice + logging level meas notice + logging level ref notice + logging level gprs debug + logging level ns info + logging level bssgp info + logging level llc debug + logging level sndcp debug + logging level slhc notice + logging level ranap info + logging level sua info + logging level v42bis info + logging level lglobal info + 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 debug + logging level lstats notice + logging level lgsup debug + logging level loap notice + logging level lss7 notice + logging level lsccp info + logging level lsua notice + logging level lm3ua notice + logging level lmgcp notice +! +stats interval 5 +! +line vty + no login + bind 127.0.0.1 +ctrl + bind 127.0.0.1 +! +ns + timer tns-block 3 + timer tns-block-retries 3 + timer tns-reset 3 + timer tns-reset-retries 3 + timer tns-test 30 + timer tns-alive 3 + timer tns-alive-retries 10 + encapsulation udp local-ip 127.0.0.1 + encapsulation udp local-port 23000 + encapsulation framerelay-gre enabled 0 +bssgp +sgsn + gtp local-ip 127.0.0.1 + ggsn 0 remote-ip 127.0.0.2 + ggsn 0 gtp-version 1 + gsup remote-ip 127.0.0.1 + gsup remote-port 4222 + auth-policy remote + gsup oap-id 0 + ! apn * ggsn 0 + no cdr filename + no cdr trap + cdr interval 600 + timer t3312 600 + timer t3322 6 + timer t3350 6 + timer t3360 6 + timer t3370 6 + timer t3313 30 + timer t3314 44 + timer t3316 44 + timer t3385 8 + timer t3386 8 + timer t3395 8 + timer t3397 8 + no compression rfc1144 + no compression v42bis -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6da479e35fbe9f861a8bd8e578badcd1563e740f Gerrit-Change-Number: 14505 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 18 11:05:28 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 Jun 2019 11:05:28 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add osmo-sgsn.cfg, SGSN_Tests.cfg In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14505 ) Change subject: sgsn: add osmo-sgsn.cfg, SGSN_Tests.cfg ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/14505/1/sgsn/osmo-sgsn.cfg File sgsn/osmo-sgsn.cfg: https://gerrit.osmocom.org/#/c/14505/1/sgsn/osmo-sgsn.cfg at 12 PS1, Line 12: all everything Same here. https://gerrit.osmocom.org/#/c/14505/1/sgsn/osmo-sgsn.cfg at 50 PS1, Line 50: all everything This has been deprecated. Let's rather do: logging level set-all notice and then list only those categories where level != NOTICE. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6da479e35fbe9f861a8bd8e578badcd1563e740f Gerrit-Change-Number: 14505 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 Jun 2019 11:05:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 11:05:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 11:05:41 +0000 Subject: Change in ...osmo-ci[master]: WIP: coverity: Make sure curl is installed, as our coverity upload jo... Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/14506 Change subject: WIP: coverity: Make sure curl is installed, as our coverity upload job needs it ...................................................................... WIP: coverity: Make sure curl is installed, as our coverity upload job needs it This is untested. I'm on the train and have very limited understanding of Ansible Change-Id: I9918b89971bf6c2e200f1d96d993d5fbd6741b71 --- M jobs/coverity.yml 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/06/14506/1 diff --git a/jobs/coverity.yml b/jobs/coverity.yml index 576fa29..5614fc0 100644 --- a/jobs/coverity.yml +++ b/jobs/coverity.yml @@ -2,9 +2,19 @@ - project: name: osmocom-coverity jobs: + - osmocom-coverity-deps - osmocom-coverity - job: + name: 'osmocom-coverity-deps' + apt: + name: "{{ item }}" + cache_valid_time: 3600 + update_cache: yes + with_items: + - curl + +- job: name: 'osmocom-coverity' project-type: freestyle defaults: global -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/14506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I9918b89971bf6c2e200f1d96d993d5fbd6741b71 Gerrit-Change-Number: 14506 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 18 12:16:23 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 18 Jun 2019 12:16:23 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add osmo-sgsn.cfg, SGSN_Tests.cfg In-Reply-To: References: Message-ID: Hello fixeria, pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14505 to look at the new patch set (#2). Change subject: sgsn: add osmo-sgsn.cfg, SGSN_Tests.cfg ...................................................................... sgsn: add osmo-sgsn.cfg, SGSN_Tests.cfg Base on the docker-playground.git's config, but with 127.0.0.*. All tests passing in jenkins are passing locally with this config. Change-Id: I6da479e35fbe9f861a8bd8e578badcd1563e740f --- A sgsn/SGSN_Tests.cfg A sgsn/osmo-sgsn.cfg 2 files changed, 90 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/05/14505/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6da479e35fbe9f861a8bd8e578badcd1563e740f Gerrit-Change-Number: 14505 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 12:18:27 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 18 Jun 2019 12:18:27 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add osmo-sgsn.cfg, SGSN_Tests.cfg In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14505 ) Change subject: sgsn: add osmo-sgsn.cfg, SGSN_Tests.cfg ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/14505/1/sgsn/osmo-sgsn.cfg File sgsn/osmo-sgsn.cfg: https://gerrit.osmocom.org/#/c/14505/1/sgsn/osmo-sgsn.cfg at 12 PS1, Line 12: all everything > Same here. Thanks, done. https://gerrit.osmocom.org/#/c/14505/1/sgsn/osmo-sgsn.cfg at 50 PS1, Line 50: all everything > This has been deprecated. Let's rather do: [?] I've removed the entire "log file sgsn-raw.log" block, because I realized that none of the other configs in osmo-ttcn3-hacks.git log to a separate log file. So let's make it behave like the other ones and just output to stderr. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6da479e35fbe9f861a8bd8e578badcd1563e740f Gerrit-Change-Number: 14505 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 Jun 2019 12:18:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 12:49:55 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 12:49:55 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add osmo-sgsn.cfg, SGSN_Tests.cfg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14505 ) Change subject: sgsn: add osmo-sgsn.cfg, SGSN_Tests.cfg ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6da479e35fbe9f861a8bd8e578badcd1563e740f Gerrit-Change-Number: 14505 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 Jun 2019 12:49: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 18 12:50:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 12:50:35 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add create-subscriber-on-demand tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 ) Change subject: hlr: add create-subscriber-on-demand tests ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id544fa906ad442c2bbbccff437c18d04ddccde2e Gerrit-Change-Number: 14424 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 Jun 2019 12:50: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 18 12:50:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 12:50:37 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: add create-subscriber-on-demand tests In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 ) Change subject: hlr: add create-subscriber-on-demand tests ...................................................................... hlr: add create-subscriber-on-demand tests Test all possible code paths where a subscriber on demand can be created: * Check IMEI early * Location Update * Send Auth Info Related: OS#2542 Change-Id: Id544fa906ad442c2bbbccff437c18d04ddccde2e --- M hlr/HLR_Tests.ttcn 1 file changed, 173 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn index 4c158fd..f309575 100644 --- a/hlr/HLR_Tests.ttcn +++ b/hlr/HLR_Tests.ttcn @@ -1196,6 +1196,176 @@ vc_conn.done; } +/* Test create-subscriber-on-demand during Check IMEI (OsmoMSC would be set to "check-imei-rqd early") */ +private function f_TC_subscr_create_on_demand_check_imei_early() runs on HLR_ConnHdlr { + var GSUP_PDU res; /* save various return values to prevent ttcn3 compiler warnings */ + var charstring imsi_pattern := "*IMSI: " & hex2str(g_pars.sub.imsi) & "*"; + + /* Random MSISDN and CS+PS NAM (LU must pass) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 cs+ps"); + f_perform_CHECK_IMEI(g_pars.sub.imsi, '12345678901234'H, result := OSMO_GSUP_IMEI_RESULT_ACK); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d*"); /* last line, hence not matching "\d\d\d\n" */ + f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*[CP]S disabled*"); + res := f_perform_UL(g_pars.sub.imsi, ?); + f_vty_subscr_delete(VTY, g_pars.sub); + + /* Random MSISDN and PS NAM (LU must pass) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 ps"); + f_perform_CHECK_IMEI(g_pars.sub.imsi, '12345678901234'H, result := OSMO_GSUP_IMEI_RESULT_ACK); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d*"); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*CS disabled*"); + f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*PS disabled*"); + res := f_perform_UL(g_pars.sub.imsi, ?); + f_vty_subscr_delete(VTY, g_pars.sub); + + /* Random MSISDN and CS NAM (LU must fail) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 cs"); + f_perform_CHECK_IMEI(g_pars.sub.imsi, '12345678901234'H, result := OSMO_GSUP_IMEI_RESULT_ACK); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d*"); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*PS disabled*"); + f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*CS disabled*"); + res := f_perform_UL(g_pars.sub.imsi, ?, 7 /* GPRS services not allowed */); + f_vty_subscr_delete(VTY, g_pars.sub); + + /* Random MSISDN and no NAM (LU must fail) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 none"); + f_perform_CHECK_IMEI(g_pars.sub.imsi, '12345678901234'H, result := OSMO_GSUP_IMEI_RESULT_ACK); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d*"); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*CS disabled*PS disabled*"); + res := f_perform_UL(g_pars.sub.imsi, ?, 7 /* GPRS services not allowed */); + f_vty_subscr_delete(VTY, g_pars.sub); + + /* No MSISDN and no NAM (LU must fail) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand no-msisdn none"); + f_perform_CHECK_IMEI(g_pars.sub.imsi, '12345678901234'H, result := OSMO_GSUP_IMEI_RESULT_ACK); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: none*"); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*CS disabled*PS disabled*"); + res := f_perform_UL(g_pars.sub.imsi, ?, 7 /* GPRS services not allowed */); + f_vty_subscr_delete(VTY, g_pars.sub); + + /* No MSISDN and CS+PS NAM (LU must pass) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand no-msisdn cs+ps"); + f_perform_CHECK_IMEI(g_pars.sub.imsi, '12345678901234'H, result := OSMO_GSUP_IMEI_RESULT_ACK); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: none*"); + f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*[CP]S disabled*"); + res := f_perform_UL(g_pars.sub.imsi, omit); + f_vty_subscr_delete(VTY, g_pars.sub); + + setverdict(pass); +} +testcase TC_subscr_create_on_demand_check_imei_early() runs on test_CT { + var hexstring imsi := f_rnd_imsi('26242'H); + var HLR_ConnHdlrPars pars := valueof(t_Pars(imsi)); + var HLR_ConnHdlr vc_conn; + + f_init(false); + vc_conn := f_start_handler(refers(f_TC_subscr_create_on_demand_check_imei_early), pars); + vc_conn.done; +} + +/* Test create-subscriber-on-demand during LU (Location Update) */ +private function f_TC_subscr_create_on_demand_ul() runs on HLR_ConnHdlr { + var GSUP_PDU res; + var charstring imsi_pattern := "*IMSI: " & hex2str(g_pars.sub.imsi) & "*"; + + /* Random MSISDN and CS+PS NAM (LU must pass) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 cs+ps"); + res := f_perform_UL(g_pars.sub.imsi, ?); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d\n*"); + f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*[CP]S disabled*"); + f_vty_subscr_delete(VTY, g_pars.sub); + + /* Random MSISDN and PS NAM (LU must pass) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 ps"); + res := f_perform_UL(g_pars.sub.imsi, ?); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d\n*"); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*CS disabled*"); + f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*PS disabled*"); + f_vty_subscr_delete(VTY, g_pars.sub); + + /* Random MSISDN and CS NAM (LU must fail) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 cs"); + res := f_perform_UL(g_pars.sub.imsi, ?, 7 /* GPRS services not allowed */); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d\n*"); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*PS disabled*"); + f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*CS disabled*"); + f_vty_subscr_delete(VTY, g_pars.sub); + + /* Random MSISDN and no NAM (LU must fail) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 none"); + res := f_perform_UL(g_pars.sub.imsi, ?, 7 /* GPRS services not allowed */); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d\n*"); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*CS disabled*PS disabled*"); + f_vty_subscr_delete(VTY, g_pars.sub); + + /* No MSISDN and no NAM (LU must fail) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand no-msisdn none"); + res := f_perform_UL(g_pars.sub.imsi, ?, 7 /* GPRS services not allowed */); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: none*"); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*CS disabled*PS disabled*"); + f_vty_subscr_delete(VTY, g_pars.sub); + + /* No MSISDN and CS+PS NAM (LU must pass) */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand no-msisdn cs+ps"); + res := f_perform_UL(g_pars.sub.imsi, omit); + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: none*"); + f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*[CP]S disabled*"); + f_vty_subscr_delete(VTY, g_pars.sub); + + setverdict(pass); +} +testcase TC_subscr_create_on_demand_ul() runs on test_CT { + var hexstring imsi := f_rnd_imsi('26242'H); + var HLR_ConnHdlrPars pars := valueof(t_Pars(imsi)); + var HLR_ConnHdlr vc_conn; + + f_init(false); + vc_conn := f_start_handler(refers(f_TC_subscr_create_on_demand_ul), pars); + vc_conn.done; +} + +/* Test create-subscriber-on-demand during SAI (SendAuthInfo) */ +private function f_TC_subscr_create_on_demand_sai() runs on HLR_ConnHdlr { + var GSUP_PDU res; + var charstring imsi_pattern := "*IMSI: " & hex2str(g_pars.sub.imsi) & "*"; + + /* HLR creates the subscriber on demand. Then the IMSI is known, but there is no auth data, so the HLR returns + * the "slightly inaccurate cause 'IMSI Unknown' via GSUP". The MS is able to do a LU afterwards. */ + f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 cs+ps"); + res := f_perform_SAI(g_pars.sub.imsi, 2 /* IMSI Unknown */ ); + + /* Verify that it was created before the LU */ + f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); + f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d*"); /* last line, hence not matching "\d\d\d\n" */ + f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*[CP]S disabled*"); + + /* Location update */ + res := f_perform_UL(g_pars.sub.imsi, ?); + f_vty_subscr_delete(VTY, g_pars.sub); + setverdict(pass); +} +testcase TC_subscr_create_on_demand_sai() runs on test_CT { + var hexstring imsi := f_rnd_imsi('26242'H); + var HLR_ConnHdlrPars pars := valueof(t_Pars(imsi)); + var HLR_ConnHdlr vc_conn; + + f_init(false); + vc_conn := f_start_handler(refers(f_TC_subscr_create_on_demand_sai), pars); + vc_conn.done; +} + /* TODO: * UL with ISD error * UL with ISD timeout @@ -1236,6 +1406,9 @@ execute( TC_gsup_check_imei() ); execute( TC_gsup_check_imei_invalid_len() ); execute( TC_gsup_check_imei_unknown_imsi() ); + execute( TC_subscr_create_on_demand_check_imei_early() ); + execute( TC_subscr_create_on_demand_ul() ); + execute( TC_subscr_create_on_demand_sai() ); }; }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id544fa906ad442c2bbbccff437c18d04ddccde2e Gerrit-Change-Number: 14424 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 12:51:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 12:51:02 +0000 Subject: Change in ...osmo-msc[master]: manuals: Add script to update vty/counter documentation from docker In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14494 ) Change subject: manuals: Add script to update vty/counter documentation from docker ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3f5573f81460b40d4606fbcf0febcfd078a7bdca Gerrit-Change-Number: 14494 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 Jun 2019 12:51: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 18 12:51:07 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 12:51:07 +0000 Subject: Change in ...osmo-msc[master]: manuals: Add script to update vty/counter documentation from docker In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14494 ) Change subject: manuals: Add script to update vty/counter documentation from docker ...................................................................... manuals: Add script to update vty/counter documentation from docker Change-Id: I3f5573f81460b40d4606fbcf0febcfd078a7bdca Related: OS#1700 --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 2ce6a0a..3b50d4e 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -1,6 +1,7 @@ EXTRA_DIST = osmomsc-usermanual.adoc \ osmomsc-usermanual-docinfo.xml \ osmomsc-vty-reference.xml \ + regen_doc.sh \ chapters \ images \ vty diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..55cda5c --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_MSC_BRANCH=$COMMIT ./regen_doc.sh osmo-msc 4254 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/msc_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3f5573f81460b40d4606fbcf0febcfd078a7bdca Gerrit-Change-Number: 14494 Gerrit-PatchSet: 2 Gerrit-Owner: daniel 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 18 12:51:07 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 12:51:07 +0000 Subject: Change in ...osmo-msc[master]: manuals: Update counter/vty documentation In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14495 ) Change subject: manuals: Update counter/vty documentation ...................................................................... manuals: Update counter/vty documentation Change-Id: I1ef0e8ae166d7fdc5e85716a961e8387d26bdd2c Related: OS#1700 --- M doc/manuals/chapters/counters_generated.adoc M doc/manuals/vty/msc_vty_reference.xml 2 files changed, 199 insertions(+), 28 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/chapters/counters_generated.adoc b/doc/manuals/chapters/counters_generated.adoc index afeb8ff..6a3a3d2 100644 --- a/doc/manuals/chapters/counters_generated.adoc +++ b/doc/manuals/chapters/counters_generated.adoc @@ -1,5 +1,8 @@ + // autogenerated by show asciidoc counters -These counters and their description based on OsmoMSC UNKNOWN (OsmoMSC). +These counters and their description based on OsmoMSC 1.4.0 (OsmoMSC). + +=== Rate Counters // generating tables for rate_ctr_group // rate_ctr_group table mobile switching center @@ -13,6 +16,10 @@ | loc_update_type:detach | <> | Received location update detach indication. | loc_update_resp:failed | <> | Rejected location updates. | loc_update_resp:completed | <> | Successful location updates. +| cm_service_request:rejected | <> | Rejected CM Service Request. +| cm_service_request:accepted | <> | Accepted CM Service Request. +| paging_resp:rejected | <> | Rejected Paging Response. +| paging_resp:accepted | <> | Accepted Paging Response. | sms:submitted | <> | Received a RPDU from a MS (MO). | sms:no_receiver | <> | Counts SMS which couldn't routed because no receiver found. | sms:delivered | <> | Global SMS Deliver attempts. @@ -26,8 +33,18 @@ | call:active | <> | Count total amount of calls that ever reached active state. | call:complete | <> | Count total amount of calls which got terminated by disconnect req or ind after reaching active state. | call:incomplete | <> | Count total amount of call which got terminated by any other reason after reaching active state. +| nc_ss:mo_requests | <> | Received MS-initiated call independent SS/USSD requests. +| nc_ss:mo_established | <> | Established MS-initiated call independent SS/USSD sessions. +| nc_ss:mt_requests | <> | Received network-initiated call independent SS/USSD requests. +| nc_ss:mt_established | <> | Established network-initiated call independent SS/USSD sessions. +| bssmap:cipher_mode_reject | <> | Number of CIPHER MODE REJECT messages processed by BSSMAP layer +| bssmap:cipher_mode_complete | <> | Number of CIPHER MODE COMPLETE messages processed by BSSMAP layer |=== +== Osmo Stat Items + // generating tables for osmo_stat_items +== Osmo Counters + // generating tables for osmo_counters // ungrouped osmo_counters .ungrouped osmo counters @@ -35,6 +52,5 @@ |=== | Name | Reference | Description | msc.active_calls | <> | +| msc.active_nc_ss | <> | |=== - - diff --git a/doc/manuals/vty/msc_vty_reference.xml b/doc/manuals/vty/msc_vty_reference.xml index bb7e958..0e5d04d 100644 --- a/doc/manuals/vty/msc_vty_reference.xml +++ b/doc/manuals/vty/msc_vty_reference.xml @@ -279,7 +279,7 @@ - + @@ -300,6 +300,7 @@ + @@ -318,6 +319,7 @@ + @@ -464,6 +466,12 @@ + + + + + + @@ -483,6 +491,12 @@ + + + + + + @@ -559,7 +573,7 @@ - + @@ -572,8 +586,16 @@ + + + + + + + + @@ -674,7 +696,7 @@ - + @@ -937,7 +959,7 @@ - + @@ -958,6 +980,7 @@ + @@ -976,6 +999,7 @@ + @@ -1122,6 +1146,12 @@ + + + + + + @@ -1141,6 +1171,12 @@ + + + + + + @@ -1217,7 +1253,7 @@ - + @@ -1230,8 +1266,16 @@ + + + + + + + + @@ -1379,11 +1423,24 @@ + + + + + + + + + + + + + - + @@ -1639,6 +1696,11 @@ + + + + + @@ -1729,7 +1791,7 @@ - + @@ -1750,6 +1812,7 @@ + @@ -1768,6 +1831,7 @@ + @@ -1898,10 +1962,11 @@ - + + @@ -2368,12 +2433,33 @@ - + - + + + + + + + + + + + + + + + + + + + + + + @@ -2389,8 +2475,15 @@ - - + + + + + + + + + @@ -2420,6 +2513,17 @@ + + + + + + + + + + + @@ -2448,19 +2552,11 @@ - + - - - - - - - - - - + + @@ -2543,7 +2639,7 @@ - + @@ -2568,7 +2664,8 @@ - + + @@ -2667,6 +2764,17 @@ + + + + + + + + + + + config-hlr @@ -2682,5 +2790,52 @@ + + + + + + + + + config-sgs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1ef0e8ae166d7fdc5e85716a961e8387d26bdd2c Gerrit-Change-Number: 14495 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 13:05:52 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 Jun 2019 13:05:52 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add osmo-sgsn.cfg, SGSN_Tests.cfg In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14505 ) Change subject: sgsn: add osmo-sgsn.cfg, SGSN_Tests.cfg ...................................................................... Patch Set 2: Code-Review+2 Looks fine and clean now ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6da479e35fbe9f861a8bd8e578badcd1563e740f Gerrit-Change-Number: 14505 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 Jun 2019 13:05:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 13:09:27 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 18 Jun 2019 13:09:27 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: add osmo-sgsn.cfg, SGSN_Tests.cfg In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14505 ) Change subject: sgsn: add osmo-sgsn.cfg, SGSN_Tests.cfg ...................................................................... sgsn: add osmo-sgsn.cfg, SGSN_Tests.cfg Base on the docker-playground.git's config, but with 127.0.0.*. All tests passing in jenkins are passing locally with this config. Change-Id: I6da479e35fbe9f861a8bd8e578badcd1563e740f --- A sgsn/SGSN_Tests.cfg A sgsn/osmo-sgsn.cfg 2 files changed, 90 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/sgsn/SGSN_Tests.cfg b/sgsn/SGSN_Tests.cfg new file mode 100644 index 0000000..8782845 --- /dev/null +++ b/sgsn/SGSN_Tests.cfg @@ -0,0 +1,18 @@ +[ORDERED_INCLUDE] +# Common configuration, shared between test suites +"../Common.cfg" +# testsuite specific configuration, not expected to change +"./SGSN_Tests.default" + +# Local configuration below + +[LOGGING] + +[TESTPORT_PARAMETERS] + +[MODULE_PARAMETERS] + +[MAIN_CONTROLLER] + +[EXECUTE] +SGSN_Tests.control diff --git a/sgsn/osmo-sgsn.cfg b/sgsn/osmo-sgsn.cfg new file mode 100644 index 0000000..09da510 --- /dev/null +++ b/sgsn/osmo-sgsn.cfg @@ -0,0 +1,72 @@ +! +! OsmoSGSN (1.2.0.46-e77e-dirty) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 1 + logging print extended-timestamp 1 + logging print file 1 + logging level set-all notice + logging level mm debug + logging level gprs debug + logging level ns info + logging level bssgp info + logging level llc debug + logging level sndcp debug + logging level ranap info + logging level sua info + logging level v42bis info + logging level lglobal info + logging level lgtp debug + logging level lgsup debug + logging level lsccp info +! +stats interval 5 +! +line vty + no login + bind 127.0.0.1 +ctrl + bind 127.0.0.1 +! +ns + timer tns-block 3 + timer tns-block-retries 3 + timer tns-reset 3 + timer tns-reset-retries 3 + timer tns-test 30 + timer tns-alive 3 + timer tns-alive-retries 10 + encapsulation udp local-ip 127.0.0.1 + encapsulation udp local-port 23000 + encapsulation framerelay-gre enabled 0 +bssgp +sgsn + gtp local-ip 127.0.0.1 + ggsn 0 remote-ip 127.0.0.2 + ggsn 0 gtp-version 1 + gsup remote-ip 127.0.0.1 + gsup remote-port 4222 + auth-policy remote + gsup oap-id 0 + ! apn * ggsn 0 + no cdr filename + no cdr trap + cdr interval 600 + timer t3312 600 + timer t3322 6 + timer t3350 6 + timer t3360 6 + timer t3370 6 + timer t3313 30 + timer t3314 44 + timer t3316 44 + timer t3385 8 + timer t3386 8 + timer t3395 8 + timer t3397 8 + no compression rfc1144 + no compression v42bis -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6da479e35fbe9f861a8bd8e578badcd1563e740f Gerrit-Change-Number: 14505 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 14:48:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Jun 2019 14:48:43 +0000 Subject: Change in ...osmo-bsc[master]: Remove extern declarations of libosmovty symbols In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14492 ) Change subject: Remove extern declarations of libosmovty symbols ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > > And the library has the declarations since 2011, so it's time to > > get them removed from here. > > This is exactly the kind of information I would want to read in the changelog. Thanks! That's precisely why I put the commit hash in libosmocore which added those symbols in vty.h, but fine, I'll add it. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5c8d02605a78c6792f616ad423b4491b83f42545 Gerrit-Change-Number: 14492 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 Jun 2019 14:48:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 14:50:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Jun 2019 14:50:18 +0000 Subject: Change in ...osmo-bsc[master]: Remove extern declarations of libosmovty symbols In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/14492 to look at the new patch set (#2). Change subject: Remove extern declarations of libosmovty symbols ...................................................................... Remove extern declarations of libosmovty symbols The library has the declarations since 2011, so it's time to get them removed from here. Depends: libosmocore d61d517a2e35f482519561bd325652ee7144679a Change-Id: I5c8d02605a78c6792f616ad423b4491b83f42545 --- M include/osmocom/bsc/vty.h 1 file changed, 0 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/14492/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5c8d02605a78c6792f616ad423b4491b83f42545 Gerrit-Change-Number: 14492 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 18 15:08:47 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 18 Jun 2019 15:08:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: BS power tests Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14507 Change subject: BTS: BS power tests ...................................................................... BTS: BS power tests osmo-bts does currently not use the signaled lchan BS power level, nor does it update the BS power IE returned in the measurement results. Change-Id: If91fb57b4070c60bb277d0b55d69ee3dde47ee48 --- M bts/BTS_Tests.ttcn M library/RSL_Types.ttcn 2 files changed, 115 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/07/14507/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 9d7b8c2..3b27469 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -1892,6 +1892,99 @@ f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); } +function f_check_meas_bs_power_level(integer level) runs on ConnHdlr { + timer T := 8.0; + T.start; + var RSL_Message rsl; + alt { + [] as_l1_sacch(); + [] L1CTL.receive { repeat; } + [] RSL.receive(tr_RSL_MEAS_RES(g_chan_nr, ?, ?, ?)) -> value rsl { + if (rsl.ies[3].body.bs_power.power_level == level) { + setverdict(pass) + } else { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Received wrong BS power level in MEAS RES ", rsl)); + } + } + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "No MEAS RES received at all"); + } + } +} + +/* see if the rsl meas res contains our expeced bs power level +bs power set during assignment */ +function f_TC_rsl_bs_pwr_static_ass(charstring id) runs on ConnHdlr { + f_l1_tune(L1CTL); + RSL.clear; + + if (mp_bts_trxc_port != -1) { + f_trxc_fake_rssi(rxlev2dbm(mp_ul_rxlev_exp)); + f_trxc_fake_toffs256(g_pars.l1_pars.timing_offset_256syms); + } + + var uint5_t pwr_var := 1; + var template (value) RSL_IE_BS_Power bs_power := ts_RSL_IE_BS_Power(pwr_var); + var template (value) RSL_IE pwr := t_RSL_IE(RSL_IE_BS_POWER, RSL_IE_Body:{bs_power := bs_power}); + + f_est_dchan(more_ies :={valueof(pwr)}); + + f_check_meas_bs_power_level(pwr_var); + + f_rsl_chan_deact(); + 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 */ +function f_TC_rsl_bs_pwr_static_power_control(charstring id) runs on ConnHdlr { + f_l1_tune(L1CTL); + RSL.clear; + + if (mp_bts_trxc_port != -1) { + f_trxc_fake_rssi(rxlev2dbm(mp_ul_rxlev_exp)); + f_trxc_fake_toffs256(g_pars.l1_pars.timing_offset_256syms); + } + + var uint5_t pwr_var := 1; + var template (value) RSL_IE_BS_Power bs_power := ts_RSL_IE_BS_Power(pwr_var); + + f_est_dchan(); + + RSL.send(ts_RSL_BS_PWR_CTRL(g_chan_nr, bs_power)); + + f_check_meas_bs_power_level(pwr_var); + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); +} + +testcase TC_rsl_bs_pwr_static_ass() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(); + for (var integer tn := 1; tn <= 4; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + vc_conn := f_start_handler(refers(f_TC_rsl_bs_pwr_static_ass), pars, + pcu_comp := false, trxc_comp := true); + vc_conn.done; + } + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + +testcase TC_rsl_bs_pwr_static_power_control() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(); + for (var integer tn := 1; tn <= 4; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + vc_conn := f_start_handler(refers(f_TC_rsl_bs_pwr_static_power_control), pars, + pcu_comp := false, trxc_comp := true); + vc_conn.done; + } + 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 */ @@ -6012,6 +6105,8 @@ execute( TC_meas_res_sign_sdcch4() ); execute( TC_meas_res_sign_sdcch8() ); execute( TC_meas_res_sign_tchh_toa256() ); + execute( TC_rsl_bs_pwr_static_ass() ); + execute( TC_rsl_bs_pwr_static_power_control() ); execute( TC_rsl_ms_pwr_ctrl() ); execute( TC_rsl_ms_pwr_dyn_active() ); execute( TC_rsl_ms_pwr_dyn_active2() ); diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index e8bb67f..87de9a4 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -390,6 +390,14 @@ uint5_t power_level } + template (value) RSL_IE_BS_Power ts_RSL_IE_BS_Power(uint5_t power_level, + boolean epc := false, boolean fpc := false) := { + reserved := 0, + epc := epc, + fpc := fpc, + power_level := power_level + } + /* 9.3.7 */ type enumerated RSL_AlgId { RSL_ALG_ID_A5_0 ('00000001'B), @@ -1468,6 +1476,18 @@ } } + /* 8.4.16: BTS <- BSC */ + template (value) RSL_Message ts_RSL_BS_PWR_CTRL(template (value) RslChannelNr chan_nr, + template (value) RSL_IE_BS_Power bs_power) := { + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_BS_POWER_CONTROL, + ies := { + t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}), + t_RSL_IE(RSL_IE_BS_POWER, 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) := ts_RSL_MsgDiscType(ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If91fb57b4070c60bb277d0b55d69ee3dde47ee48 Gerrit-Change-Number: 14507 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 Tue Jun 18 15:46:24 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 Jun 2019 15:46:24 +0000 Subject: Change in ...osmo-bsc[master]: Remove extern declarations of libosmovty symbols In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14492 ) Change subject: Remove extern declarations of libosmovty symbols ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5c8d02605a78c6792f616ad423b4491b83f42545 Gerrit-Change-Number: 14492 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 Jun 2019 15:46:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 16:07:50 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 18 Jun 2019 16:07:50 +0000 Subject: Change in ...osmo-msc[master]: manuals: Include overview chapter about counters In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/14496 to look at the new patch set (#2). Change subject: manuals: Include overview chapter about counters ...................................................................... manuals: Include overview chapter about counters Change-Id: I8c3e8bcda27f35118ab0e3d75621a02eec86f15c --- M doc/manuals/osmomsc-usermanual.adoc 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/96/14496/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8c3e8bcda27f35118ab0e3d75621a02eec86f15c Gerrit-Change-Number: 14496 Gerrit-PatchSet: 2 Gerrit-Owner: daniel 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 18 16:33:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Jun 2019 16:33:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc-sccplite: Fix expected DLCX in HO tests Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14508 Change subject: bsc-sccplite: Fix expected DLCX in HO tests ...................................................................... bsc-sccplite: Fix expected DLCX in HO tests * TTCN3 code was not ACKing the DLCXs, and as a result retransmitted DLCX BSC->MGW were being counted as 2nd DLCX. * In SCCPLite, only 1 DLCX is expected BSC->MGW, because the BSC only takes care of the BTS-side conn in the endpoint, while MSC takes care of the MSC-side conn (which is not sent in this case because doesn't really involved the BSC other than forwarding the message, which will already be tested in other places in forthcoming commits). * Getting rid of retransmissions by ACKing the DLCX, it unconvers a bug in TC_ho_out_fail_no_ho_detect when on AoIP, where BSC only deletes one of the 2 previously created connections. * Code is refactored into the function because its logic is made more complex, and may be even more complex in forthcoming commits when we add MGCP-over-IPA forwarding verification support. Change-Id: Ia1d0db9af073760105cc8509e228e317dbea2268 --- M bsc/BSC_Tests.ttcn 1 file changed, 31 insertions(+), 64 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/08/14508/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 00995bf..976bc46 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -2887,6 +2887,28 @@ vc_conn.done; } +/* Expecting MGCP to DLCX the endpoint's two connections: towards BTS and towards MSC */ +private function f_expect_dlcx_conns(boolean exp_clear_cmpl := true) runs on MSC_ConnHdlr { + var MgcpCommand mgcp; + + MGCP.receive(tr_DLCX()) -> value mgcp { + log("Got first DLCX: ", mgcp); + MGCP.send(ts_DLCX_ACK2(mgcp.line.trans_id)); + }; + + /* For SCCPLite, BSC doesn't handle the MSC-side */ + if (g_pars.aoip) { + MGCP.receive(tr_DLCX()) -> value mgcp { + log("Got second DLCX: ", mgcp); + MGCP.send(ts_DLCX_ACK2(mgcp.line.trans_id)); + }; + } + + if (exp_clear_cmpl) { + BSSAP.receive(tr_BSSMAP_ClearComplete); + } +} + private function f_tc_ho_out_of_this_bsc(charstring id) runs on MSC_ConnHdlr { g_pars := f_gen_test_hdlr_pars(); @@ -2937,17 +2959,7 @@ var BssmapCause cause := enum2int(cause_val); BSSAP.send(ts_BSSMAP_ClearCommand(cause)); - /* Expecting MGCP to DLCX the endpoint's two connections: towards BTS and towards MSC */ - var MgcpCommand mgcp; - interleave { - [] BSSAP.receive(tr_BSSMAP_ClearComplete); - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got first DLCX: ", mgcp); - } - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got second DLCX: ", mgcp); - } - } + f_expect_dlcx_conns(true); setverdict(pass); f_sleep(1.0); } @@ -3154,14 +3166,10 @@ [] BSSAP.receive(tr_BSSMAP_ClearRequest) { log("Got BSSMAP Clear Request"); } - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got first DLCX: ", mgcp); - } - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got second DLCX: ", mgcp); - } } + f_expect_dlcx_conns(false); + setverdict(pass); f_sleep(1.0); } @@ -3305,17 +3313,7 @@ var BssmapCause cause := enum2int(cause_val); BSSAP.send(ts_BSSMAP_ClearCommand(cause)); - /* Expecting MGCP to DLCX the endpoint's two connections: towards BTS and towards MSC */ - var MgcpCommand mgcp; - interleave { - [] BSSAP.receive(tr_BSSMAP_ClearComplete); - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got first DLCX: ", mgcp); - } - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got second DLCX: ", mgcp); - } - } + f_expect_dlcx_conns(true); setverdict(pass); f_sleep(1.0); @@ -3397,17 +3395,7 @@ var BssmapCause cause := enum2int(cause_val); BSSAP.send(ts_BSSMAP_ClearCommand(cause)); - /* Expecting MGCP to DLCX the endpoint's two connections: towards BTS and towards MSC */ - var MgcpCommand mgcp; - interleave { - [] BSSAP.receive(tr_BSSMAP_ClearComplete); - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got first DLCX: ", mgcp); - } - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got second DLCX: ", mgcp); - } - } + f_expect_dlcx_conns(true); setverdict(pass); f_sleep(1.0); } @@ -3486,17 +3474,7 @@ var BssmapCause cause := enum2int(cause_val); BSSAP.send(ts_BSSMAP_ClearCommand(cause)); - /* Expecting MGCP to DLCX the endpoint's two connections: towards BTS and towards MSC */ - var MgcpCommand mgcp; - interleave { - [] BSSAP.receive(tr_BSSMAP_ClearComplete); - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got first DLCX: ", mgcp); - } - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got second DLCX: ", mgcp); - } - } + f_expect_dlcx_conns(true); setverdict(pass); f_sleep(1.0); @@ -3563,24 +3541,13 @@ BSSAP.receive(tr_BSSMAP_HandoverFailure); /* MSC plays dumb and sends no Clear Command */ - - /* Expecting MGCP to DLCX the endpoint's two connections: towards BTS and towards MSC */ var PDU_BSSAP rx_clear_request; - var MgcpCommand mgcp; - interleave { - [] BSSAP.receive(tr_BSSMAP_ClearRequest) -> value 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)); }; - [] BSSAP.receive(tr_BSSMAP_ClearComplete); - - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got first DLCX: ", mgcp); - } - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got second DLCX: ", mgcp); - } - } + f_expect_dlcx_conns(true); setverdict(pass); f_sleep(1.0); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14508 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia1d0db9af073760105cc8509e228e317dbea2268 Gerrit-Change-Number: 14508 Gerrit-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 18 16:33:14 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Jun 2019 16:33:14 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Move hardcoded ip addr to variable Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14509 Change subject: bsc: Move hardcoded ip addr to variable ...................................................................... bsc: Move hardcoded ip addr to variable This way it's more clear what are those IP addresses for. Change-Id: I3600fd0d0486205e5bdc487fa75e9038d3bfb52c --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/09/14509/1 diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index c709794..4436b0c 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -360,6 +360,8 @@ var MediaState g_media; var TestHdlrParams g_pars; + var charstring host_bts := "127.0.0.2"; + var charstring host_mgw := "127.0.0.3"; var boolean g_vty_initialized := false; } @@ -878,7 +880,7 @@ codecType := FR_AMR; } - f_MscConnHdlr_init(g_pars.media_nr, "127.0.0.2", "127.0.0.3", codecType); + f_MscConnHdlr_init(g_pars.media_nr, host_bts, host_mgw, codecType); /* patch in the LCLS related items, as needed */ f_ass_patch_lcls(ass_tpl, exp_ass_cpl); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3600fd0d0486205e5bdc487fa75e9038d3bfb52c Gerrit-Change-Number: 14509 Gerrit-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 18 16:33:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Jun 2019 16:33:15 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/bssmap: Introduce function f_bssmap_ie_cic_2_int() Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14510 Change subject: lib/bssmap: Introduce function f_bssmap_ie_cic_2_int() ...................................................................... lib/bssmap: Introduce function f_bssmap_ie_cic_2_int() Function will be re-used in forthcoming commits. Change-Id: Ifc7444ecca1571959ed83b43d3c7461c637686ae --- M library/BSSMAP_Templates.ttcn M library/RAN_Emulation.ttcnpp 2 files changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/10/14510/1 diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index b377358..9015680 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -402,6 +402,11 @@ cicLow := bit2oct((substr(int2bit(span, 11), 8, 3) << 5) & int2bit(ts, 5)) } +function f_bssmap_ie_cic_2_int(BSSMAP_IE_CircuitIdentityCode cic_ie) return integer { + var integer cic := (oct2int(cic_ie.cicHigh) * 256) + oct2int(cic_ie.cicLow); + return cic; +} + template (value) BSSMAP_IE_AoIP_TransportLayerAddress ts_BSSMAP_IE_AoIP_TLA(BSSMAP_FIELD_IPAddress addr, uint16_t udp_port, integer len) := { diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index cd0c867..de5b7f3 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -422,7 +422,7 @@ ispresent(bssap.pdu.bssmap.assignmentRequest.circuitIdentityCode)) { var BSSMAP_IE_CircuitIdentityCode cic_ie := bssap.pdu.bssmap.assignmentRequest.circuitIdentityCode; - var integer cic := (oct2int(cic_ie.cicHigh) * 256) + oct2int(cic_ie.cicLow); + var integer cic := f_bssmap_ie_cic_2_int(cic_ie); f_comp_store_cic(client, cic); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifc7444ecca1571959ed83b43d3c7461c637686ae Gerrit-Change-Number: 14510 Gerrit-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 18 16:33:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Jun 2019 16:33:15 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Refactor altstep as_Media_mgw() Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14511 Change subject: bsc: Refactor altstep as_Media_mgw() ...................................................................... bsc: Refactor altstep as_Media_mgw() Move logic handling CRCX and MDCX to function, so they can be reused for other ports in forthcoming commits. Change-Id: I07344657c5d1465a8e0c278adb76150ca7f449ba --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 66 insertions(+), 52 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/11/14511/1 diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 4436b0c..4f9870f 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -270,69 +270,83 @@ } +function f_rx_crcx(MgcpCommand mgcp_cmd) + runs on MSC_ConnHdlr return template MgcpResponse { + var MgcpOsmuxCID osmux_cid; + var SDP_Message sdp; + var integer cid := f_get_free_mgcp_conn(); + if (match(mgcp_cmd.line.ep, t_MGCP_EP_wildcard)) { + if (cid != 0) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "MGCP wildcard EP only works in first CRCX"); + } + /* we keep the endpoint name allocated during MediaState_init */ + } else { + /* Call Agent allocated endpoint, trust/use it always */ + g_media.mgcp_ep := mgcp_cmd.line.ep; + } + if (isvalue(mgcp_cmd.sdp)) { + sdp := mgcp_cmd.sdp; + g_media.mgcp_conn[cid].peer.host := sdp.connection.conn_addr.addr; + g_media.mgcp_conn[cid].peer.port_nr := sdp.media_list[0].media_field.ports.port_number; + } + var MgcpConnState mgcp_conn := g_media.mgcp_conn[cid]; + sdp := valueof(ts_SDP(mgcp_conn.mgw.host, mgcp_conn.mgw.host, "foo", "21", + mgcp_conn.mgw.port_nr, { int2str(mgcp_conn.rtp_pt) }, + {valueof(ts_SDP_rtpmap(mgcp_conn.rtp_pt, + mgcp_conn.mime_type & "/" & + int2str(mgcp_conn.sample_rate))), + valueof(ts_SDP_ptime(mgcp_conn.ptime)) } )); + var template MgcpResponse mgcp_resp; + if (g_pars.use_osmux and f_MgcpCmd_contains_par(mgcp_cmd, "X-OSMUX")) { + osmux_cid := f_MgcpCmd_extract_osmux_cid(mgcp_cmd); + mgcp_resp := ts_CRCX_ACK_osmux(mgcp_cmd.line.trans_id, mgcp_conn.conn_id, osmux_cid, sdp); + } else { + mgcp_resp := ts_CRCX_ACK(mgcp_cmd.line.trans_id, mgcp_conn.conn_id, sdp); + } + f_mgcp_par_append(mgcp_resp.params, ts_MgcpParSpecEP(g_media.mgcp_ep)); + g_media.mgcp_conn[cid].crcx_seen := g_media.mgcp_conn[cid].crcx_seen + 1; + return mgcp_resp; +} + +function f_rx_mdcx(MgcpCommand mgcp_cmd) + runs on MSC_ConnHdlr return template MgcpResponse { + var SDP_Message sdp; + var integer cid := f_get_mgcp_conn(f_MgcpCmd_extract_conn_id(mgcp_cmd)); + if (isvalue(mgcp_cmd.sdp)) { + sdp := mgcp_cmd.sdp; + g_media.mgcp_conn[cid].peer.host := sdp.connection.conn_addr.addr; + g_media.mgcp_conn[cid].peer.port_nr := sdp.media_list[0].media_field.ports.port_number; + } else { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "MDCX has no [recognizable] SDP"); + } + var MgcpConnState mgcp_conn := g_media.mgcp_conn[cid]; + sdp := valueof(ts_SDP(mgcp_conn.peer.host, mgcp_conn.peer.host, "foo", "21", + mgcp_conn.peer.port_nr, { int2str(mgcp_conn.rtp_pt) }, + {valueof(ts_SDP_rtpmap(mgcp_conn.rtp_pt, + mgcp_conn.mime_type & "/" & + int2str(mgcp_conn.sample_rate))), + valueof(ts_SDP_ptime(mgcp_conn.ptime)) } )); + g_media.mgcp_conn[cid].mdcx_seen := g_media.mgcp_conn[cid].mdcx_seen + 1; + return ts_MDCX_ACK(mgcp_cmd.line.trans_id, mgcp_conn.conn_id, sdp); +} + /* altstep for handling of MGCP media related commands. Activated by as_Media() to test * MGW level media handling */ altstep as_Media_mgw(boolean norepeat := false) runs on MSC_ConnHdlr { var MgcpCommand mgcp_cmd; - var MgcpOsmuxCID osmux_cid; + var template MgcpResponse mgcp_resp; [] MGCP.receive(tr_CRCX) -> value mgcp_cmd { - var SDP_Message sdp; - var integer cid := f_get_free_mgcp_conn(); - if (match(mgcp_cmd.line.ep, t_MGCP_EP_wildcard)) { - if (cid != 0) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "MGCP wildcard EP only works in first CRCX"); - } - /* we keep the endpoint name allocated during MediaState_init */ - } else { - /* Call Agent allocated endpoint, trust/use it always */ - g_media.mgcp_ep := mgcp_cmd.line.ep; - } - if (isvalue(mgcp_cmd.sdp)) { - sdp := mgcp_cmd.sdp; - g_media.mgcp_conn[cid].peer.host := sdp.connection.conn_addr.addr; - g_media.mgcp_conn[cid].peer.port_nr := sdp.media_list[0].media_field.ports.port_number; - } - var MgcpConnState mgcp_conn := g_media.mgcp_conn[cid]; - sdp := valueof(ts_SDP(mgcp_conn.mgw.host, mgcp_conn.mgw.host, "foo", "21", - mgcp_conn.mgw.port_nr, { int2str(mgcp_conn.rtp_pt) }, - {valueof(ts_SDP_rtpmap(mgcp_conn.rtp_pt, - mgcp_conn.mime_type & "/" & - int2str(mgcp_conn.sample_rate))), - valueof(ts_SDP_ptime(mgcp_conn.ptime)) } )); - var template MgcpResponse mgcp_resp; - if (g_pars.use_osmux and f_MgcpCmd_contains_par(mgcp_cmd, "X-OSMUX")) { - osmux_cid := f_MgcpCmd_extract_osmux_cid(mgcp_cmd); - mgcp_resp := ts_CRCX_ACK_osmux(mgcp_cmd.line.trans_id, mgcp_conn.conn_id, osmux_cid, sdp); - } else { - mgcp_resp := ts_CRCX_ACK(mgcp_cmd.line.trans_id, mgcp_conn.conn_id, sdp); - } - f_mgcp_par_append(mgcp_resp.params, ts_MgcpParSpecEP(g_media.mgcp_ep)); + mgcp_resp := f_rx_crcx(mgcp_cmd); MGCP.send(mgcp_resp); - g_media.mgcp_conn[cid].crcx_seen := g_media.mgcp_conn[cid].crcx_seen + 1; if(norepeat == false) { repeat; } - } + } + [] MGCP.receive(tr_MDCX) -> value mgcp_cmd { - var SDP_Message sdp; - var integer cid := f_get_mgcp_conn(f_MgcpCmd_extract_conn_id(mgcp_cmd)); - if (isvalue(mgcp_cmd.sdp)) { - sdp := mgcp_cmd.sdp; - g_media.mgcp_conn[cid].peer.host := sdp.connection.conn_addr.addr; - g_media.mgcp_conn[cid].peer.port_nr := sdp.media_list[0].media_field.ports.port_number; - } else { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "MDCX has no [recognizable] SDP"); - } - var MgcpConnState mgcp_conn := g_media.mgcp_conn[cid]; - sdp := valueof(ts_SDP(mgcp_conn.peer.host, mgcp_conn.peer.host, "foo", "21", - mgcp_conn.peer.port_nr, { int2str(mgcp_conn.rtp_pt) }, - {valueof(ts_SDP_rtpmap(mgcp_conn.rtp_pt, - mgcp_conn.mime_type & "/" & - int2str(mgcp_conn.sample_rate))), - valueof(ts_SDP_ptime(mgcp_conn.ptime)) } )); - MGCP.send(ts_MDCX_ACK(mgcp_cmd.line.trans_id, mgcp_conn.conn_id, sdp)); - g_media.mgcp_conn[cid].mdcx_seen := g_media.mgcp_conn[cid].mdcx_seen + 1; + mgcp_resp := f_rx_mdcx(mgcp_cmd); + MGCP.send(mgcp_resp); if(norepeat == false) { repeat; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I07344657c5d1465a8e0c278adb76150ca7f449ba Gerrit-Change-Number: 14511 Gerrit-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 18 16:33:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Jun 2019 16:33:15 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/mgcp: Add new port with support to handle multiple MGCP sockets Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14512 Change subject: lib/mgcp: Add new port with support to handle multiple MGCP sockets ...................................................................... lib/mgcp: Add new port with support to handle multiple MGCP sockets * Some scenarios like MGW BSC-attached in SCCPlite require handling of 2 MGCP-over-UDP sockets in MGCP Emulation: 1 for regular libosmomgcp-client from osmo-bsc and another one from the forward socket from osmo-bsc (of MGCP-over-IPA messages communicated with MSC). * Old port is kept for backward compatibility with other tests and enabled by default. It's also interesting to keep it because it makes tests without special needs (2 sockets) to use the old port/API which produces simpler code to read and mantain. * Users of the new port have to enable multi_conn_mode parameter and expect to interact with port MGCP_CLIENT_MULTI instead of MGCP_CLIENT, which will offer messages containing information about the UDP connection being used by that message. Change-Id: Ic0ba8c5cde068c07671512a83095d83e28b86746 --- M bsc/BSC_Tests.ttcn M library/MGCP_CodecPort.ttcn M library/MGCP_Emulation.ttcn M msc/MSC_Tests.ttcn 4 files changed, 84 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/12/14512/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 976bc46..4c86e51 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -294,7 +294,8 @@ callagent_ip := mp_bsc_ip, callagent_udp_port := -1, mgw_ip := mp_test_ip, - mgw_udp_port := 2427 + mgw_udp_port := 2427, + multi_conn_mode := false }; vc_MGCP := MGCP_Emulation_CT.create(id); diff --git a/library/MGCP_CodecPort.ttcn b/library/MGCP_CodecPort.ttcn index d33afe1..8614eef 100644 --- a/library/MGCP_CodecPort.ttcn +++ b/library/MGCP_CodecPort.ttcn @@ -41,11 +41,33 @@ MgcpMessage msg } + type record MGCP_SendTo { + ConnectionId connId, + HostName remName, + PortNumber remPort, + MgcpMessage msg + }; + template MGCP_Send t_MGCP_Send(template ConnectionId connId, template MgcpMessage msg) := { connId := connId, msg := msg } + template MGCP_SendTo t_MGCP_SendTo(template ConnectionId connId, HostName remName, + PortNumber remPort,template MgcpMessage msg) := { + connId := connId, + remName := remName, + remPort := remPort, + msg := msg + } + + template MGCP_SendTo t_MGCP_SendToMrf(MGCP_RecvFrom mrf,template MgcpMessage msg) := { + connId := mrf.connId, + remName := mrf.remName, + remPort := mrf.remPort, + msg := msg + } + private function IPL4_to_MGCP_RecvFrom(in ASP_RecvFrom pin, out MGCP_RecvFrom pout) { pout.connId := pin.connId; pout.remName := pin.remName; @@ -65,13 +87,23 @@ pout.msg := char2oct(enc_MgcpMessage(pin.msg)); } with { extension "prototype(fast)" }; + private function MGCP_to_IPL4_SendTo(in MGCP_SendTo pin, out ASP_SendTo out_ud) { + out_ud.connId := pin.connId; + out_ud.remName := pin.remName; + out_ud.remPort := pin.remPort; + out_ud.proto := { udp := {} }; + out_ud.msg := char2oct(enc_MgcpMessage(pin.msg)); + } with { extension "prototype(fast)" }; + type port MGCP_CODEC_PT message { - out MGCP_Send; + out MGCP_Send, + MGCP_SendTo; in MGCP_RecvFrom, ASP_ConnId_ReadyToRelease, ASP_Event; } with { extension "user IPL4asp_PT - out(MGCP_Send -> ASP_Send:function(MGCP_to_IPL4_Send)) + out(MGCP_Send -> ASP_Send:function(MGCP_to_IPL4_Send); + MGCP_SendTo -> ASP_SendTo: function(MGCP_to_IPL4_SendTo)) in(ASP_RecvFrom -> MGCP_RecvFrom: function(IPL4_to_MGCP_RecvFrom); ASP_ConnId_ReadyToRelease -> ASP_ConnId_ReadyToRelease: simple; ASP_Event -> ASP_Event: simple)" diff --git a/library/MGCP_Emulation.ttcn b/library/MGCP_Emulation.ttcn index 23cfeb4..494b171 100644 --- a/library/MGCP_Emulation.ttcn +++ b/library/MGCP_Emulation.ttcn @@ -37,8 +37,11 @@ import from IPL4asp_Types all; type component MGCP_ConnHdlr { + /* Simple send/recv without caring about peer addr+port. Used with multi_conn_mode=false. */ port MGCP_Conn_PT MGCP; - /* procedure based port to register for incoming connections */ + /* Handle multiple connections concurrently. Used with multi_conn_mode=true. */ + port MGCP_Conn_Multi_PT MGCP_MULTI; + /* procedure based port to register for incoming connections. */ port MGCPEM_PROC_PT MGCP_PROC; } @@ -47,6 +50,11 @@ inout MgcpCommand, MgcpResponse; } with { extension "internal" }; +/* port between individual per-connection components and this dispatcher */ +type port MGCP_Conn_Multi_PT message { + inout MGCP_RecvFrom, MGCP_SendTo; +} with { extension "internal" }; + /* represents a single MGCP Endpoint */ type record EndpointData { MGCP_ConnHdlr comp_ref, @@ -63,6 +71,8 @@ * MGCP_Emulation_CT.main needs to figure out what messages * to send where with CLIENT.send() to vc_conn */ port MGCP_Conn_PT MGCP_CLIENT; + /* This one is used with multi_conn_mode=true and allows differentiating UDP sockets */ + port MGCP_Conn_Multi_PT MGCP_CLIENT_MULTI; /* currently tracked connections */ var EndpointData MgcpEndpointTable[16]; var MgcpTransIds MgcpPendingTrans := {}; @@ -73,6 +83,8 @@ var charstring g_mgcp_id; var integer g_mgcp_conn_id := -1; + + var MGCP_conn_parameters g_pars; } type function MGCPCreateCallback(MgcpCommand cmd, charstring id) @@ -90,7 +102,8 @@ HostName callagent_ip, PortNumber callagent_udp_port, HostName mgw_ip, - PortNumber mgw_udp_port + PortNumber mgw_udp_port, + boolean multi_conn_mode } function tr_MGCP_RecvFrom_R(template MgcpMessage msg) @@ -224,14 +237,23 @@ } } +private function f_forward_to_client(MGCP_RecvFrom mrf, MGCP_ConnHdlr vc_conn) runs on MGCP_Emulation_CT { + if (g_pars.multi_conn_mode) { + MGCP_CLIENT_MULTI.send(mrf) to vc_conn; + } else { + MGCP_CLIENT.send(mrf.msg.command) to vc_conn; + } +} + function main(MGCPOps ops, MGCP_conn_parameters p, charstring id) runs on MGCP_Emulation_CT { var Result res; + g_pars := p; g_mgcp_id := id; f_ep_table_init(); f_expect_table_init(); map(self:MGCP, system:MGCP_CODEC_PT); - if (p.callagent_udp_port == -1) { + if (p.multi_conn_mode or p.callagent_udp_port == -1) { res := MGCP_CodecPort_CtrlFunct.f_IPL4_listen(MGCP, p.mgw_ip, p.mgw_udp_port, { udp:={} }); } else { res := MGCP_CodecPort_CtrlFunct.f_IPL4_connect(MGCP, p.callagent_ip, p.callagent_udp_port, p.mgw_ip, p.mgw_udp_port, -1, { udp:={} }); @@ -246,6 +268,7 @@ var MGCP_ConnHdlr vc_conn; var ExpectCriteria crit; var MGCP_RecvFrom mrf; + var MGCP_SendTo mst; var MgcpMessage msg; var MgcpCommand cmd; var MgcpResponse resp; @@ -253,7 +276,7 @@ alt { /* MGCP from client */ - [] MGCP_CLIENT.receive(MgcpResponse:?) -> value resp sender vc_conn { + [not p.multi_conn_mode] MGCP_CLIENT.receive(MgcpResponse:?) -> value resp sender vc_conn { msg := { response := resp }; @@ -265,9 +288,23 @@ /* TODO: check which ConnectionID client has allocated + store in table? */ MGCP.send(t_MGCP_Send(g_mgcp_conn_id, msg)); } + + /* MGCP from client in Multi Conn mode */ + [p.multi_conn_mode] MGCP_CLIENT_MULTI.receive(MGCP_SendTo:?) -> value mst sender vc_conn { + /* If this is the resposne to a pending CRCX, extract Endpoint and store in table */ + if (f_trans_id_was_pending(mst.msg.response.line.trans_id)) { + f_ep_table_add(vc_conn, f_mgcp_ep(mst.msg)); + } + /* Pass message through */ + /* TODO: check which ConnectionID client has allocated + store in table? */ + MGCP.send(mst); + } [] MGCP.receive(tr_MGCP_RecvFrom_R(?)) -> value mrf { - if (p.callagent_udp_port == -1) { - /* we aren't yet connected to the remote side port, let's fix this */ + if (not p.multi_conn_mode and p.callagent_udp_port == -1) { + /* we aren't yet connected to the remote side + port, let's fix this. This way upper layers + can use Send/Recv without caring about UDP + src/dst addr + port */ p.callagent_udp_port := mrf.remPort; res := MGCP_CodecPort_CtrlFunct.f_IPL4_connect(MGCP, p.callagent_ip, p.callagent_udp_port, p.mgw_ip, p.mgw_udp_port, g_mgcp_conn_id, { udp:={} }); if (not ispresent(res.connId)) { @@ -279,7 +316,7 @@ cmd := mrf.msg.command; if (f_ep_known(cmd.line.ep)) { vc_conn := f_comp_by_ep(cmd.line.ep); - MGCP_CLIENT.send(cmd) to vc_conn; + f_forward_to_client(mrf, vc_conn); } else { if (cmd.line.verb == "CRCX") { vc_conn := ops.create_cb.apply(cmd, id); @@ -290,12 +327,12 @@ /* add this transaction to list of pending transactions */ MgcpPendingTrans := MgcpPendingTrans & {cmd.line.trans_id}; } - MGCP_CLIENT.send(cmd) to vc_conn; + f_forward_to_client(mrf, vc_conn); } else { /* connectionless MGCP, i.e. messages without ConnectionId */ var template MgcpMessage r := ops.unitdata_cb.apply(mrf.msg); if (isvalue(r)) { - MGCP.send(t_MGCP_Send(g_mgcp_conn_id, r)); + MGCP.send(t_MGCP_SendToMrf(mrf, r)); } } } diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index b00e032..4b00e34 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -230,7 +230,8 @@ callagent_ip := mp_msc_ip, callagent_udp_port := -1, mgw_ip := mp_mgw_ip, - mgw_udp_port := mp_mgw_port + mgw_udp_port := mp_mgw_port, + multi_conn_mode := false } vc_MGCP := MGCP_Emulation_CT.create(id); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic0ba8c5cde068c07671512a83095d83e28b86746 Gerrit-Change-Number: 14512 Gerrit-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 18 16:33:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Jun 2019 16:33:16 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test MGCP-over-IPA forwarding in SCCPlite tests Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14513 Change subject: bsc: Test MGCP-over-IPA forwarding in SCCPlite tests ...................................................................... bsc: Test MGCP-over-IPA forwarding in SCCPlite tests * MGCP-over-IPA handling in MSC_ConnectionHandler means we need to use the new MGCP_CLIENT_MULTI port since we'll be managing MGCP messages from 2 different UDP connections, and we need to be able to route answers correctly. As a result, parameter multi_conn_mode is enabled for SCCPlite and all code adapted to use that port in that type of scenario. * iDuring calls when on SCCPlite, send a full (all-required-params-in) CRCX through the MGCP-over-IPA connection towards the BSC in order to emulate the MSC, and expect the correct answer back. This way we test BSC funcionality to forward MGCP messages coming from MSC works as expected. Related: OS#2536 Depends: osmo-bsc.git I38ad8fa645c08900e0e1f1b4b96136bc6d96b3ab Change-Id: I31fed700772dd0b063f913b1e1639fd428c46e7d --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn 2 files changed, 129 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/13/14513/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 4c86e51..ec1be13 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -38,6 +38,7 @@ 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; @@ -295,7 +296,9 @@ callagent_udp_port := -1, mgw_ip := mp_test_ip, mgw_udp_port := 2427, - multi_conn_mode := false + /* Enable it for SCCPlite, since we have 2 MGCP sockets towards MGW (UDP one + + the on with MGCP over IPA forwarded from MSC one) */ + multi_conn_mode := (mp_bssap_cfg.transport == BSSAP_TRANSPORT_SCCPlite_SERVER) }; vc_MGCP := MGCP_Emulation_CT.create(id); @@ -1718,6 +1721,7 @@ } connect(vc_conn:BSSAP, g_bssap.vc_RAN:CLIENT); connect(vc_conn:MGCP, vc_MGCP:MGCP_CLIENT); + connect(vc_conn:MGCP_MULTI, vc_MGCP:MGCP_CLIENT_MULTI); } function f_start_handler(void_fn fn, template (omit) TestHdlrParams pars := omit) @@ -2891,18 +2895,32 @@ /* Expecting MGCP to DLCX the endpoint's two connections: towards BTS and towards MSC */ private function f_expect_dlcx_conns(boolean exp_clear_cmpl := true) runs on MSC_ConnHdlr { var MgcpCommand mgcp; + var template MgcpResponse mgcp_resp; + var MGCP_RecvFrom mrf; + var template MgcpMessage msg_resp; + var template MgcpMessage msg_dlcx := { + command := tr_DLCX() + } - MGCP.receive(tr_DLCX()) -> value mgcp { + if (g_pars.aoip) { + MGCP.receive(tr_DLCX()) -> value mgcp { log("Got first DLCX: ", mgcp); MGCP.send(ts_DLCX_ACK2(mgcp.line.trans_id)); - }; + }; - /* For SCCPLite, BSC doesn't handle the MSC-side */ - if (g_pars.aoip) { MGCP.receive(tr_DLCX()) -> value mgcp { log("Got second DLCX: ", mgcp); MGCP.send(ts_DLCX_ACK2(mgcp.line.trans_id)); }; + } else { + /* For SCCPLite, BSC doesn't handle the MSC-side */ + MGCP_MULTI.receive(tr_MGCP_RecvFrom_any(msg_dlcx)) -> value mrf { + log("Got first DLCX: ", mrf.msg.command); + msg_resp := { + response := ts_DLCX_ACK2(mrf.msg.command.line.trans_id) + } + MGCP_MULTI.send(t_MGCP_SendToMrf(mrf, msg_resp)); + }; } if (exp_clear_cmpl) { diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 4f9870f..d578a14 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -15,6 +15,7 @@ import from General_Types all; import from Osmocom_Types all; import from GSM_Types all; +import from IPA_Emulation all; import from SCCPasp_Types all; import from BSSAP_Types all; import from RAN_Emulation all; @@ -23,6 +24,7 @@ import from IPL4asp_Types all; import from Native_Functions all; +import from MGCP_CodecPort all; import from MGCP_Types all; import from MGCP_Templates all; import from MGCP_Emulation all; @@ -330,13 +332,35 @@ return ts_MDCX_ACK(mgcp_cmd.line.trans_id, mgcp_conn.conn_id, sdp); } +function tr_MGCP_RecvFrom_any(template MgcpMessage msg) +runs on MSC_ConnHdlr return template MGCP_RecvFrom { + var template MGCP_RecvFrom mrf := { + connId := ?, + remName := ?, + remPort := ?, + locName := ?, + locPort := ?, + msg := msg + } + return mrf; +} + /* altstep for handling of MGCP media related commands. Activated by as_Media() to test * MGW level media handling */ + altstep as_Media_mgw(boolean norepeat := false) runs on MSC_ConnHdlr { var MgcpCommand mgcp_cmd; var template MgcpResponse mgcp_resp; + var MGCP_RecvFrom mrf; + var template MgcpMessage msg_crcx := { + command := tr_CRCX + } + var template MgcpMessage msg_mdcx := { + command := tr_MDCX + } + var template MgcpMessage msg_resp; - [] MGCP.receive(tr_CRCX) -> value mgcp_cmd { + [g_pars.aoip] MGCP.receive(tr_CRCX) -> value mgcp_cmd { mgcp_resp := f_rx_crcx(mgcp_cmd); MGCP.send(mgcp_resp); if(norepeat == false) { @@ -344,13 +368,35 @@ } } - [] MGCP.receive(tr_MDCX) -> value mgcp_cmd { + [not g_pars.aoip] MGCP_MULTI.receive(tr_MGCP_RecvFrom_any(msg_crcx)) -> value mrf { + mgcp_resp := f_rx_crcx(mrf.msg.command); + msg_resp := { + response := mgcp_resp + } + MGCP_MULTI.send(t_MGCP_SendToMrf(mrf, msg_resp)); + if(norepeat == false) { + repeat; + } + } + + [g_pars.aoip] MGCP.receive(tr_MDCX) -> value mgcp_cmd { mgcp_resp := f_rx_mdcx(mgcp_cmd); MGCP.send(mgcp_resp); if(norepeat == false) { repeat; } } + + [not g_pars.aoip] MGCP_MULTI.receive(tr_MGCP_RecvFrom_any(msg_mdcx)) -> value mrf { + mgcp_resp := f_rx_mdcx(mrf.msg.command); + msg_resp := { + response := mgcp_resp + } + MGCP_MULTI.send(t_MGCP_SendToMrf(mrf, msg_resp)); + if(norepeat == false) { + repeat; + } + } } /* Altsteps for handling of media related commands. Can be activated by a given @@ -371,11 +417,17 @@ port RAN_PROC_PT RAN; port TELNETasp_PT BSCVTY; + /* Proxy MGCP-over-IPA and MGCP-over-UDP */ + port IPA_MGCP_PT MGCP_MSC_CLIENT; + var integer g_trans_id := 0; + var MediaState g_media; var TestHdlrParams g_pars; var charstring host_bts := "127.0.0.2"; var charstring host_mgw := "127.0.0.3"; + var charstring host_msc := "127.0.0.4"; + var boolean g_vty_initialized := false; } @@ -390,6 +442,12 @@ } } +private function get_next_trans_id() runs on MSC_ConnHdlr return MgcpTransId { + var MgcpTransId tid := int2str(g_trans_id); + g_trans_id := g_trans_id + 1; + return tid; +} + /* Callback function from general RAN_Emulation whenever a connectionless * BSSMAP message arrives. Can retunr a PDU_BSSAP that should be sent in return */ private function UnitdataCallback(PDU_BSSAP bssap) @@ -862,6 +920,31 @@ } } +/* Send a MGCP request through MGCP-over-IPA from MSC side and receive a (matching!) response */ +function mgcp_transceive_mgw(template MgcpCommand cmd, template MgcpResponse resp := ?) runs on MSC_ConnHdlr { + template MgcpResponse resp_any := ? + var MgcpResponse resp_val; + resp.line.trans_id := cmd.line.trans_id; + timer T := 5.0; + + BSSAP.send(cmd); + T.start; + alt { + [] as_Media_mgw(); + [] BSSAP.receive(resp) -> value resp_val { } + [] BSSAP.receive(resp_any) { + setverdict(fail, "Response didn't match template"); + mtc.stop; + } + [] BSSAP.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for response to ", cmd); + mtc.stop; + } + } + T.stop; +} + /* Helper function to check if the activity on the MGCP matches what we * expected */ function f_check_mgcp_expectations() runs on MSC_ConnHdlr { @@ -975,17 +1058,10 @@ g_media.mgcp_conn[1].mdcx_seen_exp := 0; } else if (st.voice_call) { /* For voice calls we expect the following MGCP activity */ - if (g_pars.aoip == false) { - g_media.mgcp_conn[0].crcx_seen_exp := 1; - g_media.mgcp_conn[0].mdcx_seen_exp := 1; - g_media.mgcp_conn[1].crcx_seen_exp := 0; - g_media.mgcp_conn[1].mdcx_seen_exp := 0; - } else { - g_media.mgcp_conn[0].crcx_seen_exp := 1; - g_media.mgcp_conn[0].mdcx_seen_exp := 1; - g_media.mgcp_conn[1].crcx_seen_exp := 1; - g_media.mgcp_conn[1].mdcx_seen_exp := 0; - } + g_media.mgcp_conn[0].crcx_seen_exp := 1; + g_media.mgcp_conn[0].mdcx_seen_exp := 1; + g_media.mgcp_conn[1].crcx_seen_exp := 1; + g_media.mgcp_conn[1].mdcx_seen_exp := 0; } f_create_mgcp_expect(mgcpcrit); @@ -1044,6 +1120,23 @@ } } + if (not exp_fail and st.voice_call and not g_pars.aoip) { + /* With SCCPLite, connect to BSC-located MGW using a CRCX + SDP. + It is sent in MGCP over IPA in the BSC<->MSC (BSC-NAT) + connection. BSC will forward it to its MGW. */ + var template MgcpCommand cmd; + var template MgcpResponse resp := ?; + var integer cic := f_bssmap_ie_cic_2_int(ass_cmd.pdu.bssmap.assignmentRequest.circuitIdentityCode); + var MgcpEndpoint ep := int2str(cic) & "@mgw"; /* 1: matches value configured in BSC_Tests.ttcn pass in AssignReq */ + var MgcpCallId call_id := '51234'H; + var SDP_attribute_list attributes := { valueof(ts_SDP_ptime(20)) }; + cmd := ts_CRCX(get_next_trans_id(), ep, "sendrecv", call_id); + cmd.sdp := ts_SDP(host_msc, host_mgw, "23", "42", + 14000, { int2str(g_media.mgcp_conn[1].rtp_pt) }, + { valueof(ts_SDP_ptime(20)) }); + mgcp_transceive_mgw(cmd, tr_CRCX_ACK); + } + f_check_mgcp_expectations(); if (st.is_assignment and st.assignment_done) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I31fed700772dd0b063f913b1e1639fd428c46e7d Gerrit-Change-Number: 14513 Gerrit-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 18 17:18:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 18 Jun 2019 17:18:33 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test MGCP-over-IPA forwarding in SCCPlite tests In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14513 to look at the new patch set (#2). Change subject: bsc: Test MGCP-over-IPA forwarding in SCCPlite tests ...................................................................... bsc: Test MGCP-over-IPA forwarding in SCCPlite tests * MGCP-over-IPA handling in MSC_ConnectionHandler means we need to use the new MGCP_CLIENT_MULTI port since we'll be managing MGCP messages from 2 different UDP connections, and we need to be able to route answers correctly. As a result, parameter multi_conn_mode is enabled for SCCPlite and all code adapted to use that port in that type of scenario. * iDuring calls when on SCCPlite, send a full (all-required-params-in) CRCX through the MGCP-over-IPA connection towards the BSC in order to emulate the MSC, and expect the correct answer back. This way we test BSC funcionality to forward MGCP messages coming from MSC works as expected. Related: OS#2536 Depends: osmo-bsc.git I38ad8fa645c08900e0e1f1b4b96136bc6d96b3ab Change-Id: I31fed700772dd0b063f913b1e1639fd428c46e7d --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn 2 files changed, 135 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/13/14513/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I31fed700772dd0b063f913b1e1639fd428c46e7d Gerrit-Change-Number: 14513 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 18 18:07:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:07:57 +0000 Subject: Change in ...osmo-bsc[master]: Re-introduce support for IPA-encapsulated MGCP In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/9342 ) Change subject: Re-introduce support for IPA-encapsulated MGCP ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/9342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I38ad8fa645c08900e0e1f1b4b96136bc6d96b3ab Gerrit-Change-Number: 9342 Gerrit-PatchSet: 9 Gerrit-Owner: laforge Gerrit-Assignee: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: Neels Hofmeyr Gerrit-Comment-Date: Tue, 18 Jun 2019 18:07: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 18 18:09:18 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:09:18 +0000 Subject: Change in ...osmo-bsc[master]: Re-introduce support for IPA-encapsulated MGCP In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/9342 ) Change subject: Re-introduce support for IPA-encapsulated MGCP ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/9342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I38ad8fa645c08900e0e1f1b4b96136bc6d96b3ab Gerrit-Change-Number: 9342 Gerrit-PatchSet: 9 Gerrit-Owner: laforge Gerrit-Assignee: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: Neels Hofmeyr Gerrit-Comment-Date: Tue, 18 Jun 2019 18:09: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 18 18:09:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:09:22 +0000 Subject: Change in ...osmo-bsc[master]: Remove extern declarations of libosmovty symbols In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14492 ) Change subject: Remove extern declarations of libosmovty symbols ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5c8d02605a78c6792f616ad423b4491b83f42545 Gerrit-Change-Number: 14492 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 Jun 2019 18:09:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 18:09:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:09:26 +0000 Subject: Change in ...osmo-bsc[master]: Remove extern declarations of libosmovty symbols In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14492 ) Change subject: Remove extern declarations of libosmovty symbols ...................................................................... Remove extern declarations of libosmovty symbols The library has the declarations since 2011, so it's time to get them removed from here. Depends: libosmocore d61d517a2e35f482519561bd325652ee7144679a Change-Id: I5c8d02605a78c6792f616ad423b4491b83f42545 --- M include/osmocom/bsc/vty.h 1 file changed, 0 insertions(+), 3 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/vty.h b/include/osmocom/bsc/vty.h index e632755..7e3c505 100644 --- a/include/osmocom/bsc/vty.h +++ b/include/osmocom/bsc/vty.h @@ -12,9 +12,6 @@ struct buffer *vty_argv_to_buffer(int argc, const char *argv[], int base); -extern struct cmd_element cfg_description_cmd; -extern struct cmd_element cfg_no_description_cmd; - enum bsc_vty_node { GSMNET_NODE = _LAST_OSMOVTY_NODE + 1, BTS_NODE, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5c8d02605a78c6792f616ad423b4491b83f42545 Gerrit-Change-Number: 14492 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 18:09:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:09:26 +0000 Subject: Change in ...osmo-bsc[master]: Re-introduce support for IPA-encapsulated MGCP In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/9342 ) Change subject: Re-introduce support for IPA-encapsulated MGCP ...................................................................... Re-introduce support for IPA-encapsulated MGCP Old osmo-bsc-sccplite already supported this, but in the migration over to libosmo-sigtran and to real 3GPP AoIP, this functionality got lost. We now create a UDP proxy socket. Any MGCP commands received via IPA from MSC (or rather: bsc_nat) are retransmitted to the MGW via UDP on this socket. Any responses back from the MGW received on the UDP socket are retransmitted back to MSC/bsc_nat as MGCP inside the IPA multiplex. Closes: OS#2536 Change-Id: I38ad8fa645c08900e0e1f1b4b96136bc6d96b3ab --- M include/osmocom/bsc/bsc_msc_data.h M include/osmocom/bsc/osmo_bsc_sigtran.h M src/osmo-bsc/Makefile.am M src/osmo-bsc/osmo_bsc_ctrl.c A src/osmo-bsc/osmo_bsc_mgcp.c M src/osmo-bsc/osmo_bsc_msc.c M src/osmo-bsc/osmo_bsc_sigtran.c M tests/handover/Makefile.am 8 files changed, 207 insertions(+), 20 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 1f9872a..2ad7c68 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -33,6 +33,7 @@ #include "osmux.h" #include +#include #include @@ -135,6 +136,16 @@ enum osmux_usage use_osmux; /* Whether we detected the MSC supports Osmux (during BSSMAP_RESET) */ bool remote_supports_osmux; + + /* Proxy between IPA/SCCPlite encapsulated MGCP and UDP */ + struct { + /* local (BSC) IP address to be used */ + char *local_addr; + /* local (BSC) UDP port to be used to talk with MGW */ + uint16_t local_port; + /* UDP socket for proxying MGCP via SCCPlite/IPA */ + struct osmo_fd ofd; + } mgcp_ipa; }; /* diff --git a/include/osmocom/bsc/osmo_bsc_sigtran.h b/include/osmocom/bsc/osmo_bsc_sigtran.h index bd8b063..b934d51 100644 --- a/include/osmocom/bsc/osmo_bsc_sigtran.h +++ b/include/osmocom/bsc/osmo_bsc_sigtran.h @@ -44,3 +44,12 @@ /* receive + process a CTRL command from the piggy-back on the IPA/SCCPlite link */ int bsc_sccplite_rx_ctrl(struct osmo_ss7_asp *asp, struct msgb *msg); + +/* receive + process a MGCP message from the piggy-back on the IPA/SCCPlite link */ +int bsc_sccplite_rx_mgcp(struct osmo_ss7_asp *asp, struct msgb *msg); + +/* send a message via SCCPLite to given MSC */ +int bsc_sccplite_msc_send(struct bsc_msc_data *msc, struct msgb *msg); + +/* we received some data on the UDP proxy socket from the MGW. Pass it to MSC via IPA */ +int bsc_sccplite_mgcp_proxy_cb(struct osmo_fd *ofd, unsigned int what); diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index e88e614..d50515b 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -78,6 +78,7 @@ osmo_bsc_grace.c \ osmo_bsc_lcls.c \ osmo_bsc_main.c \ + osmo_bsc_mgcp.c \ osmo_bsc_msc.c \ osmo_bsc_sigtran.c \ osmo_bsc_vty.c \ diff --git a/src/osmo-bsc/osmo_bsc_ctrl.c b/src/osmo-bsc/osmo_bsc_ctrl.c index 80699f8..afe061e 100644 --- a/src/osmo-bsc/osmo_bsc_ctrl.c +++ b/src/osmo-bsc/osmo_bsc_ctrl.c @@ -52,6 +52,39 @@ return rt->dest.as; } +static int _ss7_as_send(struct osmo_ss7_as *as, struct msgb *msg) +{ + struct osmo_ss7_asp *asp; + unsigned int i; + + /* FIXME: unify with xua_as_transmit_msg() and perform proper ASP lookup */ + for (i = 0; i < ARRAY_SIZE(as->cfg.asps); i++) { + asp = as->cfg.asps[i]; + if (!asp) + continue; + /* FIXME: deal with multiple ASPs per AS */ + return osmo_ss7_asp_send(asp, msg); + } + msgb_free(msg); + return -1; +} + +int bsc_sccplite_msc_send(struct bsc_msc_data *msc, struct msgb *msg) +{ + struct osmo_ss7_as *as; + + as = msc_get_ss7_as(msc); + if (!as) { + msgb_free(msg); + return -1; + } + + /* don't attempt to send CTRL on a non-SCCPlite AS */ + if (as->cfg.proto != OSMO_SS7_ASP_PROT_IPA) + return 0; + + return _ss7_as_send(as, msg); +} /* Encode a CTRL command and send it to the given ASP * \param[in] asp ASP through which we shall send the encoded message @@ -83,30 +116,20 @@ * Caller must hence free 'cmd' itself. */ static int sccplite_msc_ctrl_cmd_send(struct bsc_msc_data *msc, struct ctrl_cmd *cmd) { - struct osmo_ss7_as *as; - struct osmo_ss7_asp *asp; - unsigned int i; + struct msgb *msg; - as = msc_get_ss7_as(msc); - if (!as) + msg = ctrl_cmd_make(cmd); + if (!msg) return -1; - /* don't attempt to send CTRL on a non-SCCPlite AS */ - if (as->cfg.proto != OSMO_SS7_ASP_PROT_IPA) - return 0; + ipa_prepend_header_ext(msg, IPAC_PROTO_EXT_CTRL); + ipa_prepend_header(msg, IPAC_PROTO_OSMO); - /* FIXME: unify with xua_as_transmit_msg() and perform proper ASP lookup */ - for (i = 0; i < ARRAY_SIZE(as->cfg.asps); i++) { - asp = as->cfg.asps[i]; - if (!asp) - continue; - /* FIXME: deal with multiple ASPs per AS */ - return sccplite_asp_ctrl_cmd_send(asp, cmd); - } - return -1; + return bsc_sccplite_msc_send(msc, msg); } -/* receive + process a CTRL command from the piggy-back on the IPA/SCCPlite link */ +/* receive + process a CTRL command from the piggy-back on the IPA/SCCPlite link. + * Transfers msg ownership. */ int bsc_sccplite_rx_ctrl(struct osmo_ss7_asp *asp, struct msgb *msg) { struct ctrl_cmd *cmd; diff --git a/src/osmo-bsc/osmo_bsc_mgcp.c b/src/osmo-bsc/osmo_bsc_mgcp.c new file mode 100644 index 0000000..bec7930 --- /dev/null +++ b/src/osmo-bsc/osmo_bsc_mgcp.c @@ -0,0 +1,92 @@ +/* + * SCCPlite MGCP handling + * + * (C) 2018 by Harald Welte + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include +#include +#include +#include +#include + +#include + +/* Determine MSC based on the ASP over which the message was received */ +static struct bsc_msc_data *msc_from_asp(struct osmo_ss7_asp *asp) +{ + int msc_nr; + /* this is rather ugly, as we of course have MTP-level routing between + * the local SCCP user (BSC) and the AS/ASPs. However, for the most simple + * SCCPlite case, there is a 1:1 mapping between ASP and AS, and using + * the libosmo-sigtran "simple client", the names are "as[p]-clnt-msc-%u", + * as set in osmo_bsc_sigtran_init() */ + if (sscanf(asp->cfg.name, "asp-clnt-msc-%u", &msc_nr) != 1) { + LOGP(DMSC, LOGL_ERROR, "Cannot find to which MSC the ASP %s belongs\n", asp->cfg.name); + return NULL; + } + return osmo_msc_data_find(bsc_gsmnet, msc_nr); +} + +/* We received an IPA-encapsulated MGCP message from a MSC. Transfers msg ownership. */ +int bsc_sccplite_rx_mgcp(struct osmo_ss7_asp *asp, struct msgb *msg) +{ + struct bsc_msc_data *msc; + int rc; + + LOGP(DMSC, LOGL_NOTICE, "%s: Received IPA-encapsulated MGCP: %s\n", asp->cfg.name, msg->l2h); + msc = msc_from_asp(asp); + if (msc) { + /* we don't have a write queue here as we simply expect the socket buffers + * to be large enough to deal with whatever small/infrequent MGCP messages */ + rc = send(msc->mgcp_ipa.ofd.fd, msgb_l2(msg), msgb_l2len(msg), 0); + } else + rc = 0; + + msgb_free(msg); + return rc; +} + +/* we received some data on the UDP proxy socket from the MGW. Pass it to MSC via IPA */ +int bsc_sccplite_mgcp_proxy_cb(struct osmo_fd *ofd, unsigned int what) +{ + struct bsc_msc_data *msc = ofd->data; + struct msgb *msg; + int rc; + + if (!(what & BSC_FD_READ)) + return 0; + + msg = msgb_alloc_headroom(1024, 16, "MGCP->IPA"); + OSMO_ASSERT(msg); + rc = recv(ofd->fd, msg->data, msgb_tailroom(msg), 0); + if (rc <= 0) { + LOGP(DMSC, LOGL_ERROR, "error receiving data from MGCP<->IPA proxy UDP socket: " + "%s\n", strerror(errno)); + msgb_free(msg); + return rc; + } + msg->l2h = msgb_put(msg, rc); + msg->l2h[rc] = '\0'; + LOGP(DMSC, LOGL_NOTICE, "Received MGCP on UDP proxy socket: %s\n", msg->l2h); + + ipa_prepend_header(msg, IPAC_PROTO_MGCP_OLD); + return bsc_sccplite_msc_send(msc, msg); +} diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index 6a6b1a9..7e78d94 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -27,26 +27,49 @@ #include #include #include +#include #include #include +#include #include #include +#include + #include #include #include -int osmo_bsc_msc_init(struct bsc_msc_data *data) +int osmo_bsc_msc_init(struct bsc_msc_data *msc) { + struct gsm_network *net = msc->network; + uint16_t mgw_port; + int rc; + /* FIXME: This is a leftover from the old architecture that used * sccp-lite with osmocom specific authentication. Since we now * changed to AoIP the connected status and the authentication * status is managed differently. However osmo_bsc_filter.c still * needs the flags to be set to one. See also: OS#3112 */ - data->is_authenticated = 1; + msc->is_authenticated = 1; + + if (net->mgw.conf->remote_port >= 0) + mgw_port = net->mgw.conf->remote_port; + else + mgw_port = MGCP_CLIENT_REMOTE_PORT_DEFAULT; + + rc = osmo_sock_init2_ofd(&msc->mgcp_ipa.ofd, AF_INET, SOCK_DGRAM, IPPROTO_UDP, + msc->mgcp_ipa.local_addr, msc->mgcp_ipa.local_port, + net->mgw.conf->remote_addr, mgw_port, + OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT); + if (rc < 0) { + LOGP(DMSC, LOGL_ERROR, "msc %u: Could not create/connect/bind MGCP proxy socket: %d\n", + msc->nr, rc); + return rc; + } return 0; } @@ -117,6 +140,10 @@ msc_data->audio_support[4]->ver = 3; msc_data->audio_support[4]->hr = 1; + osmo_fd_setup(&msc_data->mgcp_ipa.ofd, -1, BSC_FD_READ, &bsc_sccplite_mgcp_proxy_cb, msc_data, 0); + msc_data->mgcp_ipa.local_addr = talloc_strdup(msc_data, "0.0.0.0"); + msc_data->mgcp_ipa.local_port = 0; /* dynamic */ + return msc_data; } diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 18f269d..763e1e1 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -611,8 +611,12 @@ switch (iph_ext->proto) { case IPAC_PROTO_EXT_CTRL: return bsc_sccplite_rx_ctrl(asp, msg); + case IPAC_PROTO_EXT_MGCP: + return bsc_sccplite_rx_mgcp(asp, msg); } break; + case IPAC_PROTO_MGCP_OLD: + return bsc_sccplite_rx_mgcp(asp, msg); default: break; } diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index 56aea50..84c341e 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -8,6 +8,8 @@ -ggdb3 \ $(LIBOSMOCORE_CFLAGS) \ $(LIBOSMOGSM_CFLAGS) \ + $(LIBOSMOCTRL_CFLAGS) \ + $(LIBOSMOVTY_CFLAGS) \ $(LIBOSMOABIS_CFLAGS) \ $(LIBOSMOSIGTRAN_CFLAGS) \ $(LIBOSMOMGCPCLIENT_CFLAGS) \ @@ -38,15 +40,24 @@ $(NULL) handover_test_LDADD = \ + $(top_builddir)/src/libfilter/bsc_msg_acc.o \ + $(top_builddir)/src/libfilter/bsc_msg_vty.o \ $(top_builddir)/src/osmo-bsc/a_reset.o \ $(top_builddir)/src/osmo-bsc/abis_nm.o \ + $(top_builddir)/src/osmo-bsc/abis_nm_vty.o \ + $(top_builddir)/src/osmo-bsc/abis_om2000.o \ + $(top_builddir)/src/osmo-bsc/abis_om2000_vty.o \ $(top_builddir)/src/osmo-bsc/abis_rsl.o \ + $(top_builddir)/src/osmo-bsc/acc_ramp.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 \ + $(top_builddir)/src/osmo-bsc/bsc_rf_ctrl.o \ $(top_builddir)/src/osmo-bsc/bsc_rll.o \ $(top_builddir)/src/osmo-bsc/bsc_subscr_conn_fsm.o \ $(top_builddir)/src/osmo-bsc/bsc_subscriber.o \ + $(top_builddir)/src/osmo-bsc/bsc_vty.o \ $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts.o \ $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ $(top_builddir)/src/osmo-bsc/bts_sysmobts.o \ @@ -60,14 +71,20 @@ $(top_builddir)/src/osmo-bsc/handover_decision_2.o \ $(top_builddir)/src/osmo-bsc/handover_fsm.o \ $(top_builddir)/src/osmo-bsc/handover_logic.o \ + $(top_builddir)/src/osmo-bsc/handover_vty.o \ $(top_builddir)/src/osmo-bsc/lchan_fsm.o \ $(top_builddir)/src/osmo-bsc/lchan_rtp_fsm.o \ $(top_builddir)/src/osmo-bsc/lchan_select.o \ + $(top_builddir)/src/osmo-bsc/meas_feed.o \ $(top_builddir)/src/osmo-bsc/meas_rep.o \ $(top_builddir)/src/osmo-bsc/neighbor_ident.o \ + $(top_builddir)/src/osmo-bsc/neighbor_ident_vty.o \ $(top_builddir)/src/osmo-bsc/net_init.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc_ctrl.o \ $(top_builddir)/src/osmo-bsc/osmo_bsc_lcls.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc_mgcp.o \ $(top_builddir)/src/osmo-bsc/osmo_bsc_msc.o \ + $(top_builddir)/src/osmo-bsc/osmo_bsc_vty.o \ $(top_builddir)/src/osmo-bsc/paging.o \ $(top_builddir)/src/osmo-bsc/pcu_sock.o \ $(top_builddir)/src/osmo-bsc/penalty_timers.o \ @@ -76,6 +93,8 @@ $(top_builddir)/src/osmo-bsc/timeslot_fsm.o \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOCTRL_LIBS) \ + $(LIBOSMOVTY_LIBS) \ $(LIBOSMOABIS_LIBS) \ $(LIBOSMOSIGTRAN_LIBS) \ $(LIBOSMOMGCPCLIENT_LIBS) \ @@ -89,6 +108,7 @@ $(top_builddir)/src/osmo-bsc/neighbor_ident.o \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOCTRL_LIBS) \ $(NULL) .PHONY: update_exp -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/9342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I38ad8fa645c08900e0e1f1b4b96136bc6d96b3ab Gerrit-Change-Number: 9342 Gerrit-PatchSet: 10 Gerrit-Owner: laforge Gerrit-Assignee: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: Neels Hofmeyr Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 18:11:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:11:35 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Move hardcoded ip addr to variable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14509 ) Change subject: bsc: Move hardcoded ip addr to variable ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3600fd0d0486205e5bdc487fa75e9038d3bfb52c Gerrit-Change-Number: 14509 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 Jun 2019 18: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 18 18:12:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:12:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc-sccplite: Fix expected DLCX in HO tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14508 ) Change subject: bsc-sccplite: Fix expected DLCX in HO tests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14508 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia1d0db9af073760105cc8509e228e317dbea2268 Gerrit-Change-Number: 14508 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 Jun 2019 18:12:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 18:12:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:12:32 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/bssmap: Introduce function f_bssmap_ie_cic_2_int() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14510 ) Change subject: lib/bssmap: Introduce function f_bssmap_ie_cic_2_int() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifc7444ecca1571959ed83b43d3c7461c637686ae Gerrit-Change-Number: 14510 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 Jun 2019 18:12: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 18 18:15:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:15:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: BS power tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14507 ) Change subject: BTS: BS power tests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If91fb57b4070c60bb277d0b55d69ee3dde47ee48 Gerrit-Change-Number: 14507 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 Jun 2019 18:15:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 18:15:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:15:43 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BTS: BS power tests In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14507 ) Change subject: BTS: BS power tests ...................................................................... BTS: BS power tests osmo-bts does currently not use the signaled lchan BS power level, nor does it update the BS power IE returned in the measurement results. Change-Id: If91fb57b4070c60bb277d0b55d69ee3dde47ee48 --- M bts/BTS_Tests.ttcn M library/RSL_Types.ttcn 2 files changed, 115 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 9d7b8c2..3b27469 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -1892,6 +1892,99 @@ f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); } +function f_check_meas_bs_power_level(integer level) runs on ConnHdlr { + timer T := 8.0; + T.start; + var RSL_Message rsl; + alt { + [] as_l1_sacch(); + [] L1CTL.receive { repeat; } + [] RSL.receive(tr_RSL_MEAS_RES(g_chan_nr, ?, ?, ?)) -> value rsl { + if (rsl.ies[3].body.bs_power.power_level == level) { + setverdict(pass) + } else { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Received wrong BS power level in MEAS RES ", rsl)); + } + } + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "No MEAS RES received at all"); + } + } +} + +/* see if the rsl meas res contains our expeced bs power level +bs power set during assignment */ +function f_TC_rsl_bs_pwr_static_ass(charstring id) runs on ConnHdlr { + f_l1_tune(L1CTL); + RSL.clear; + + if (mp_bts_trxc_port != -1) { + f_trxc_fake_rssi(rxlev2dbm(mp_ul_rxlev_exp)); + f_trxc_fake_toffs256(g_pars.l1_pars.timing_offset_256syms); + } + + var uint5_t pwr_var := 1; + var template (value) RSL_IE_BS_Power bs_power := ts_RSL_IE_BS_Power(pwr_var); + var template (value) RSL_IE pwr := t_RSL_IE(RSL_IE_BS_POWER, RSL_IE_Body:{bs_power := bs_power}); + + f_est_dchan(more_ies :={valueof(pwr)}); + + f_check_meas_bs_power_level(pwr_var); + + f_rsl_chan_deact(); + 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 */ +function f_TC_rsl_bs_pwr_static_power_control(charstring id) runs on ConnHdlr { + f_l1_tune(L1CTL); + RSL.clear; + + if (mp_bts_trxc_port != -1) { + f_trxc_fake_rssi(rxlev2dbm(mp_ul_rxlev_exp)); + f_trxc_fake_toffs256(g_pars.l1_pars.timing_offset_256syms); + } + + var uint5_t pwr_var := 1; + var template (value) RSL_IE_BS_Power bs_power := ts_RSL_IE_BS_Power(pwr_var); + + f_est_dchan(); + + RSL.send(ts_RSL_BS_PWR_CTRL(g_chan_nr, bs_power)); + + f_check_meas_bs_power_level(pwr_var); + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); +} + +testcase TC_rsl_bs_pwr_static_ass() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(); + for (var integer tn := 1; tn <= 4; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + vc_conn := f_start_handler(refers(f_TC_rsl_bs_pwr_static_ass), pars, + pcu_comp := false, trxc_comp := true); + vc_conn.done; + } + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + +testcase TC_rsl_bs_pwr_static_power_control() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + f_init(); + for (var integer tn := 1; tn <= 4; tn := tn+1) { + pars := valueof(t_Pars(t_RslChanNr_Bm(tn), ts_RSL_ChanMode_SIGN)); + vc_conn := f_start_handler(refers(f_TC_rsl_bs_pwr_static_power_control), pars, + pcu_comp := false, trxc_comp := true); + vc_conn.done; + } + 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 */ @@ -6012,6 +6105,8 @@ execute( TC_meas_res_sign_sdcch4() ); execute( TC_meas_res_sign_sdcch8() ); execute( TC_meas_res_sign_tchh_toa256() ); + execute( TC_rsl_bs_pwr_static_ass() ); + execute( TC_rsl_bs_pwr_static_power_control() ); execute( TC_rsl_ms_pwr_ctrl() ); execute( TC_rsl_ms_pwr_dyn_active() ); execute( TC_rsl_ms_pwr_dyn_active2() ); diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index e8bb67f..87de9a4 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -390,6 +390,14 @@ uint5_t power_level } + template (value) RSL_IE_BS_Power ts_RSL_IE_BS_Power(uint5_t power_level, + boolean epc := false, boolean fpc := false) := { + reserved := 0, + epc := epc, + fpc := fpc, + power_level := power_level + } + /* 9.3.7 */ type enumerated RSL_AlgId { RSL_ALG_ID_A5_0 ('00000001'B), @@ -1468,6 +1476,18 @@ } } + /* 8.4.16: BTS <- BSC */ + template (value) RSL_Message ts_RSL_BS_PWR_CTRL(template (value) RslChannelNr chan_nr, + template (value) RSL_IE_BS_Power bs_power) := { + msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), + msg_type := RSL_MT_BS_POWER_CONTROL, + ies := { + t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}), + t_RSL_IE(RSL_IE_BS_POWER, 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) := ts_RSL_MsgDiscType(ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false), -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If91fb57b4070c60bb277d0b55d69ee3dde47ee48 Gerrit-Change-Number: 14507 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 Tue Jun 18 18:16:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:16:03 +0000 Subject: Change in ...osmo-msc[master]: manuals: Include overview chapter about counters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14496 ) Change subject: manuals: Include overview chapter about counters ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8c3e8bcda27f35118ab0e3d75621a02eec86f15c Gerrit-Change-Number: 14496 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 Jun 2019 18:16:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 18:16:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:16:04 +0000 Subject: Change in ...osmo-msc[master]: manuals: Include overview chapter about counters In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14496 ) Change subject: manuals: Include overview chapter about counters ...................................................................... manuals: Include overview chapter about counters Change-Id: I8c3e8bcda27f35118ab0e3d75621a02eec86f15c --- M doc/manuals/osmomsc-usermanual.adoc 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/osmomsc-usermanual.adoc b/doc/manuals/osmomsc-usermanual.adoc index 4fd0cc7..3c69d7b 100644 --- a/doc/manuals/osmomsc-usermanual.adoc +++ b/doc/manuals/osmomsc-usermanual.adoc @@ -14,6 +14,8 @@ include::{srcdir}/chapters/control.adoc[] +include::./common/chapters/counters-overview.adoc[] + include::{srcdir}/chapters/counters.adoc[] include::./common/chapters/vty.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8c3e8bcda27f35118ab0e3d75621a02eec86f15c Gerrit-Change-Number: 14496 Gerrit-PatchSet: 2 Gerrit-Owner: daniel 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 18 18:16:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:16:26 +0000 Subject: Change in ...osmo-hlr[master]: manuals: Add script to update vty/counter documentation from docker In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14497 ) Change subject: manuals: Add script to update vty/counter documentation from docker ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Id57c34214396b02fafa55da223764748086290e8 Gerrit-Change-Number: 14497 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 Jun 2019 18:16:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 18:16:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:16:29 +0000 Subject: Change in ...osmo-hlr[master]: manuals: Add script to update vty/counter documentation from docker In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14497 ) Change subject: manuals: Add script to update vty/counter documentation from docker ...................................................................... manuals: Add script to update vty/counter documentation from docker Related: OS#1700 Change-Id: Id57c34214396b02fafa55da223764748086290e8 --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 9e1295a..8a47f8a 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -4,6 +4,7 @@ osmohlr-usermanual.adoc \ osmohlr-usermanual-docinfo.xml \ osmohlr-vty-reference.xml \ + regen_doc.sh \ chapters \ vty diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..2e9194b --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_HLR_BRANCH=$COMMIT ./regen_doc.sh osmo-hlr 4258 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/hlr_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Id57c34214396b02fafa55da223764748086290e8 Gerrit-Change-Number: 14497 Gerrit-PatchSet: 1 Gerrit-Owner: daniel 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 18 18:16:30 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:16:30 +0000 Subject: Change in ...osmo-hlr[master]: manuals: Update vty documentation In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-hlr/+/14498 ) Change subject: manuals: Update vty documentation ...................................................................... manuals: Update vty documentation Related: OS#1700 Change-Id: Ia650ec9ab97dcb64e4b701328bc7e88d691d427a --- M doc/manuals/vty/hlr_vty_reference.xml 1 file changed, 276 insertions(+), 23 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/doc/manuals/vty/hlr_vty_reference.xml b/doc/manuals/vty/hlr_vty_reference.xml index cc97dc4..e5fd0f2 100644 --- a/doc/manuals/vty/hlr_vty_reference.xml +++ b/doc/manuals/vty/hlr_vty_reference.xml @@ -187,7 +187,7 @@ - + @@ -213,6 +213,7 @@ + @@ -302,22 +303,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + enable @@ -486,7 +528,7 @@ - + @@ -512,6 +554,7 @@ + @@ -521,8 +564,7 @@ - - + @@ -601,22 +643,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + @@ -625,47 +708,52 @@ - + - + + - + - + + + - + - + + - + - + + @@ -676,25 +764,27 @@ - + - + + - + - + + @@ -707,6 +797,20 @@ + + + + + + + + + + + + + + config @@ -883,7 +987,8 @@ - + + @@ -905,6 +1010,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -985,7 +1127,7 @@ - + @@ -1011,6 +1153,7 @@ + @@ -1051,6 +1194,75 @@ + + config-stats + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-line @@ -1064,10 +1276,11 @@ - + + @@ -1087,6 +1300,12 @@ + + + + + + @@ -1145,6 +1364,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-hlr-gsup -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/14498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ia650ec9ab97dcb64e4b701328bc7e88d691d427a Gerrit-Change-Number: 14498 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 18:16:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:16:51 +0000 Subject: Change in ...osmo-ci[master]: OBS: make nightly packages conflict with latest In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/14490 ) Change subject: OBS: make nightly packages conflict with latest ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/14490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I79c45e798c10a65443b9fb9ecb54393d1918608a Gerrit-Change-Number: 14490 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 18 Jun 2019 18:16:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 18:16:53 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:16:53 +0000 Subject: Change in ...osmo-ci[master]: OBS: make nightly packages conflict with latest In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ci/+/14490 ) Change subject: OBS: make nightly packages conflict with latest ...................................................................... OBS: make nightly packages conflict with latest Add conflicting dummy packages osmocom-nightly and osmocom-latest, and make all packages from each repository depend on the right one. As usually, the latest packages will only get changed when a new release appears. So the dependency will get introduced after tagging a new release. I have tested in an own OBS namespace, that everything works as expected. Related: OS#2640 Change-Id: I79c45e798c10a65443b9fb9ecb54393d1918608a --- A scripts/common-obs.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 3 files changed, 95 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh new file mode 100644 index 0000000..2b33039 --- /dev/null +++ b/scripts/common-obs.sh @@ -0,0 +1,79 @@ +#!/bin/sh +# Various common code used in the OBS (opensuse build service) related osmo-ci shell scripts + +# Create the source for a dummy package, that conflicts with another dummy package in the current directory. Example +# of the structure that will be generated: +# osmocom-nightly +# ??? debian +# ??? changelog +# ??? compat +# ??? control +# ??? copyright +# ??? rules +# ??? source +# ??? format +# $1: name of dummy package (e.g. "osmocom-nightly") +# $2: name of conflicting package (e.g. "osmocom-latest") +osmo_obs_prepare_conflict() { + local pkgname="$1" + local pkgname_conflict="$2" + local pkgver="0.0.0" + local oldpwd="$PWD" + + mkdir -p "$pkgname/debian/source" + cd "$pkgname/debian" + + # Fill control, changelog, rules + cat << EOF > control +Source: ${pkgname} +Section: unknown +Priority: optional +Maintainer: Oliver Smith +Build-Depends: debhelper (>= 9) +Standards-Version: 3.9.8 + +Package: ${pkgname} +Depends: \${misc:Depends} +Architecture: any +Conflicts: ${pkgname_conflict} +Description: Dummy package, which conflicts with ${pkgname_conflict} +EOF + cat << EOF > changelog +${pkgname} (${pkgver}) unstable; urgency=medium + + * Dummy package, which conflicts with ${pkgname_conflict}. + + -- Oliver Smith Thu, 13 Jun 2019 12:50:19 +0200 +EOF + cat << EOF > rules +#!/usr/bin/make -f +%: + dh \$@ +EOF + + # Finish up debian dir + chmod +x rules + echo "9" > compat + echo "3.0 (native)" > source/format + touch copyright + + # Put in git repository + cd .. + git init . + git add -A + git commit -m "auto-commit: $pkgname dummy package" || true + git tag -f "$pkgver" + + cd "$oldpwd" +} + +# Add dependency to all (sub)packages in debian/control and commit the change. +# $1: path to debian/control file +# $2: name of the package to depend on +osmo_obs_add_debian_dependency() { + # Note: adding the comma at the end should be fine. If there is a Depends: line, it is most likely not empty. It + # should at least have ${misc:Depends} according to lintian. + sed "s/^Depends: /Depends: $2, /g" -i "$1" + + git -C "$(dirname "$1")" commit -m "auto-commit: debian: depend on $2" . +} diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 543c43a..2a9e28d 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -1,4 +1,5 @@ #!/bin/sh +. "$(dirname "$0")/common-obs.sh" # requirements # apt install git-buildpackage osc git @@ -28,6 +29,9 @@ fi [ -d "$DEBSRCDIR" ] && rm -rf "$DEBSRCDIR" mkdir "$DEBSRCDIR" + + cd "$TOP" + osmo_obs_prepare_conflict "osmocom-latest" "osmocom-nightly" } get_last_tag() { @@ -84,6 +88,11 @@ VER=$(get_last_tag "$project") if [ -x ./git-version-gen ]; then ./git-version-gen . > .tarball-version 2>/dev/null + fi + + osmo_obs_add_debian_dependency "./debian/control" "osmocom-latest" + + if [ -x ./git-version-gen ]; then gbp buildpackage -S -uc -us -d --git-ignore-branch "--git-export-dir=$output" \ "--git-debian-branch=$VER" --git-ignore-new $gitbpargs \ --git-postexport='cp $GBP_GIT_DIR/../.tarball-version $GBP_TMP_DIR/' @@ -152,6 +161,7 @@ checkout_copy_debian8_jessie "osmo-gsm-manuals" + build osmocom-latest build limesuite --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals build osmo-gsm-manuals-debian8-jessie diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index 27cd9dc..172e4e0 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -1,4 +1,5 @@ #!/bin/bash +. "$(dirname "$0")/common-obs.sh" # requirements # apt install devscripts git-buildpackage osc git @@ -23,6 +24,9 @@ mkdir -p "$REPO/osc/" cd "$REPO/osc" osc co "$PROJ" + + cd "$REPO" + osmo_obs_prepare_conflict "osmocom-nightly" "osmocom-latest" } get_last_tag() { @@ -98,6 +102,7 @@ if [ "$changelog" = "commit" ] ; then VER=$(get_commit_version) + osmo_obs_add_debian_dependency "./debian/control" "osmocom-nightly" dch -b -v "$VER" -m "Snapshot build" git commit -m "$VER snapshot" debian/ fi @@ -205,6 +210,7 @@ checkout_copy_debian8_jessie "osmo-gsm-manuals" checkout_copy_debian8_jessie "osmo-trx" + build osmocom-nightly build limesuite no_commit --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals build osmo-gsm-manuals-debian8-jessie -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/14490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I79c45e798c10a65443b9fb9ecb54393d1918608a Gerrit-Change-Number: 14490 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 18:17:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:17:52 +0000 Subject: Change in ...docker-playground[master]: Add script to regenerate VTY and counter documentation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14403 ) Change subject: Add script to regenerate VTY and counter documentation ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic5cf7f59de0c18d4c5568b89433c2b11db2a72a5 Gerrit-Change-Number: 14403 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 18 Jun 2019 18:17:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 18:18:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 18 Jun 2019 18:18:08 +0000 Subject: Change in ...docker-playground[master]: Add script to regenerate VTY and counter documentation In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/14403 ) Change subject: Add script to regenerate VTY and counter documentation ...................................................................... Add script to regenerate VTY and counter documentation This script needs access to the VTY interface, so I changed some remaining config files to bind the VTY interface to 0.0.0.0. There are a couple of services that do that already. Related: OS#1700 Change-Id: Ic5cf7f59de0c18d4c5568b89433c2b11db2a72a5 --- M osmo-bsc-master/osmo-bsc.cfg M osmo-hlr-master/osmo-hlr.cfg M osmo-hnbgw-master/osmo-hnbgw.cfg M osmo-mgw-master/osmo-mgw.cfg M osmo-msc-master/osmo-msc.cfg M osmo-sip-master/osmo-sip-connector.cfg A scripts/regen_doc.sh 7 files changed, 53 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/osmo-bsc-master/osmo-bsc.cfg b/osmo-bsc-master/osmo-bsc.cfg index cb0059d..7ce9173 100644 --- a/osmo-bsc-master/osmo-bsc.cfg +++ b/osmo-bsc-master/osmo-bsc.cfg @@ -46,6 +46,7 @@ ! line vty no login + bind 0.0.0.0 ! e1_input e1_line 0 driver ipa diff --git a/osmo-hlr-master/osmo-hlr.cfg b/osmo-hlr-master/osmo-hlr.cfg index f3be518..9d8b125 100644 --- a/osmo-hlr-master/osmo-hlr.cfg +++ b/osmo-hlr-master/osmo-hlr.cfg @@ -11,6 +11,7 @@ logging level linp error ! line vty + no login bind 0.0.0.0 ctrl bind 0.0.0.0 diff --git a/osmo-hnbgw-master/osmo-hnbgw.cfg b/osmo-hnbgw-master/osmo-hnbgw.cfg index 8bffd76..4c7e75b 100644 --- a/osmo-hnbgw-master/osmo-hnbgw.cfg +++ b/osmo-hnbgw-master/osmo-hnbgw.cfg @@ -19,6 +19,9 @@ logging level lctrl notice logging level lgtp notice logging level lstats notice +line vty + no login + bind 0.0.0.0 cs7 instance 0 point-code 0.23.5 asp asp-clnt-OsmoHNBGW 2905 0 m3ua diff --git a/osmo-mgw-master/osmo-mgw.cfg b/osmo-mgw-master/osmo-mgw.cfg index 44653e3..682c4ed 100644 --- a/osmo-mgw-master/osmo-mgw.cfg +++ b/osmo-mgw-master/osmo-mgw.cfg @@ -31,6 +31,7 @@ ! line vty no login + bind 0.0.0.0 ! mgcp bind ip 172.18.0.180 diff --git a/osmo-msc-master/osmo-msc.cfg b/osmo-msc-master/osmo-msc.cfg index 91c9eee..929e88c 100644 --- a/osmo-msc-master/osmo-msc.cfg +++ b/osmo-msc-master/osmo-msc.cfg @@ -3,6 +3,7 @@ ! line vty no login + bind 0.0.0.0 ! network network country code 1 diff --git a/osmo-sip-master/osmo-sip-connector.cfg b/osmo-sip-master/osmo-sip-connector.cfg index ad42969..5a0b4f5 100644 --- a/osmo-sip-master/osmo-sip-connector.cfg +++ b/osmo-sip-master/osmo-sip-connector.cfg @@ -1,3 +1,6 @@ +line vty + no login + bind 0.0.0.0 app mncc socket-path /tmp/bsc_mncc diff --git a/scripts/regen_doc.sh b/scripts/regen_doc.sh new file mode 100755 index 0000000..7c7529f --- /dev/null +++ b/scripts/regen_doc.sh @@ -0,0 +1,43 @@ +#!/bin/sh +x + +. ../jenkins-common.sh + +NAME="$1" +PORT="$2" +COUNTERFILE="$3" +VTYFILE="$4" + +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +if [ -z "$OSMO_INTERACT_VTY" ]; then + OSMO_INTERACT_VTY="osmo-interact-vty.py" +fi + +docker_images_require \ + "$NAME-$IMAGE_SUFFIX" + +network_create 172.18.12.0/24 + +container_create() { + CONTAINERNAME=$1 + IP_ADDR=$2 + + docker run --rm --network ${NET_NAME} --ip ${IP_ADDR} \ + --name ${BUILD_TAG}-${CONTAINERNAME} -d \ + ${REPO_USER}/${CONTAINERNAME} + + +} + +container_create "$NAME-$IMAGE_SUFFIX" 172.18.12.23 + +# Get asciidoc counter info +${OSMO_INTERACT_VTY} \ + -c "enable;show asciidoc counters" -p "$PORT" -H 172.18.12.23 -O "$COUNTERFILE" + +# Get vty reference +${OSMO_INTERACT_VTY} \ + -X -p "$PORT" -H 172.18.12.23 -O "$VTYFILE" + +docker container kill "${BUILD_TAG}-$NAME-$IMAGE_SUFFIX" + +network_remove -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic5cf7f59de0c18d4c5568b89433c2b11db2a72a5 Gerrit-Change-Number: 14403 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 18 19:09:24 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 18 Jun 2019 19:09:24 +0000 Subject: Change in ...osmo-msc[master]: tests/msc_vlr: fix: do not pass RAT type to expect_bssap_clear() Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14514 Change subject: tests/msc_vlr: fix: do not pass RAT type to expect_bssap_clear() ...................................................................... tests/msc_vlr: fix: do not pass RAT type to expect_bssap_clear() The function name implies OSMO_RAT_GERAN_A, and it has nothing to do with other OSMO_RAT_* types. Found using clang: warning: too many arguments in call to 'expect_bssap_clear' expect_bssap_clear(OSMO_RAT_GERAN_A); ^^^^^^^^^^^^^^^^ Change-Id: Id3a3af33fcc5da4ca4c48a2f589a69f3568d2586 --- M tests/msc_vlr/msc_vlr_test_gsm_authen.c M tests/msc_vlr/msc_vlr_test_gsm_ciph.c M tests/msc_vlr/msc_vlr_test_no_authen.c M tests/msc_vlr/msc_vlr_test_reject_concurrency.c 4 files changed, 11 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/14/14514/1 diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.c b/tests/msc_vlr/msc_vlr_test_gsm_authen.c index 8776e03..ee5af1e 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_authen.c +++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.c @@ -113,7 +113,7 @@ VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d"); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); @@ -327,7 +327,7 @@ VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d"); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); @@ -1017,7 +1017,7 @@ VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d"); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.c b/tests/msc_vlr/msc_vlr_test_gsm_ciph.c index c76cba4..155afbe 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.c +++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.c @@ -128,7 +128,7 @@ VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d"); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); @@ -363,7 +363,7 @@ VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d"); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); @@ -967,7 +967,7 @@ VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d"); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); @@ -1158,7 +1158,7 @@ VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d"); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); @@ -1375,7 +1375,7 @@ VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d"); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.c b/tests/msc_vlr/msc_vlr_test_no_authen.c index ae77252..9d506d6 100644 --- a/tests/msc_vlr/msc_vlr_test_no_authen.c +++ b/tests/msc_vlr/msc_vlr_test_no_authen.c @@ -69,7 +69,7 @@ EXPECT_ACCEPTED(true); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); @@ -227,7 +227,7 @@ EXPECT_ACCEPTED(true); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.c b/tests/msc_vlr/msc_vlr_test_reject_concurrency.c index fe53469..648313f 100644 --- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.c +++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.c @@ -308,7 +308,7 @@ BTW("The original CM Service Request can conclude"); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id3a3af33fcc5da4ca4c48a2f589a69f3568d2586 Gerrit-Change-Number: 14514 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 18 21:41:06 2019 From: gerrit-no-reply at lists.osmocom.org (Neels Hofmeyr) Date: Tue, 18 Jun 2019 21:41:06 +0000 Subject: Change in ...osmo-bsc[master]: doc/manuals: review and tweak handover docs Message-ID: Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14515 Change subject: doc/manuals: review and tweak handover docs ...................................................................... doc/manuals: review and tweak handover docs Change-Id: Ib25cee8fd8c243881b99173a9a3036ad19d0f8af --- M doc/manuals/chapters/handover.adoc M doc/manuals/chapters/handover_inter_bsc.dot M doc/manuals/chapters/handover_intra_bsc.dot 3 files changed, 62 insertions(+), 53 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/15/14515/1 diff --git a/doc/manuals/chapters/handover.adoc b/doc/manuals/chapters/handover.adoc index c75b03c..2f9d598 100644 --- a/doc/manuals/chapters/handover.adoc +++ b/doc/manuals/chapters/handover.adoc @@ -22,9 +22,7 @@ is currently not implemented. However, you may still advertise 3G and 4G neighbor cells in order to facilitate cell/RAT re-selection to those neighbors. -At the time of writing, OsmoMSC's inter-BSC handover support is not complete -yet, so OsmoBSC can perform handover between separate BSS only in conjunction -with a 3rd party MSC implementation. +Since 2019, OsmoMSC fully supports both inter-BSC and inter-MSC handover. .Handover support in Osmocom at the time of writing [cols="^,^,^,^,^"] @@ -34,6 +32,7 @@ | OsmoMSC | (not involved, except for codec changes) | (planned) | (planned) | - |==== +Most handover related procedures are explained in 3GPP TS 48.008. === How Handover Works @@ -45,9 +44,20 @@ cells, its "neighbors". On the MS/BTS/BSS level, individual cells are identified by ARFCN+BSIC (frequency + 6-bit identification code). -Each BTS is told by the BSC which cells identified by ARFCN+BSIC are its -adjacent cells. Via System Information, each MS receives a list of these -ARFCN+BSIC, and the MS then return measurements of reception levels. +The BSC instructs each BTS with a list of ARFCNs (i.e. GSM frequency bands) +that qualify as neighbor cells, as part of the System Information Type 2. Each +MS served by a BTS receives the System Information Type 2 and thus knows which +ARFCNs to measure for potential handover. Each MS with an active channel then +returns up to 6 measurements of reception levels (RXLEV) to the BTS, to be +forwarded to the BSC in RSL Measurement Report messages. + +Note that the BTS and MS are told only the ARFCNs, not the BSICs, of neighbor +cells; the BSICs are however included in the measurements that an MS returns to +BTS and BSC. Commonly, each ARFCN is owned by one specific operator, so, an MS +considers all visible cells on a given ARFCN as possible neighbors. However, as +soon as an MS reports RXLEV of a specific neighbor cell, the BSC needs to know +which exact cell to possibly handover to, which is why the MS pinpoints the +specific BSIC that it reported measurements for. The BSC is the point of decision whether to do handover or not. This can be a hugely complex combination of heuristics, knowledge of cell load and codec @@ -74,18 +84,18 @@ Should handover fail at any point, e.g. the new lchan never receives a RACH, or the MS reports a Handover Failure, then the new lchan is simply released again, and the old lchan remains in use. If the RTP stream has already been switched -over to the new lchan, it may actually be switched back to the old lchan. +over to the new lchan, it is switched back to the old lchan. This is simple enough if the new cell is managed by the same BSC: the OsmoMGW is simply instructed to relay the BTS-side of the RTP stream to another IP address and port, and the BSC continues to forward DTAP to the MSC -transparently. The operation happens completely within the BSS. If the voice -codec has remained unchanged, the MSC/MNCC may not even be notified that -anything has happened at all. +transparently. The operation happens completely within the BSS, except for the +BSSMAP Handover Performed message sent to the MSC once the handover is +completed (see 3GPP TS 48.008). ==== External / Inter-BSC Handover -If the adjacent target cell belongs to a different BSS, the RR procedure for +If the handover target cell belongs to a different BSS, the RR procedure for handover remains the same, but we need to tell the _remote_ BSC to allocate the new lchan. @@ -108,7 +118,7 @@ The first part, identifying the remote BSC, is not as trivial as it sounds: as mentioned above, on the level of cell information seen by BTS and MS, the neighbor cells are identified by ARFCN+BSIC. However, on the A-interface and in -the MSC, there is no knowledge of ARFCN+BSIC configurations, and instead each +the MSC, there is no knowledge of ARFCN+BSIC configurations. Instead, each cell is identified by a LAC and CI (Location Area Code and Cell Identifier). NOTE: There are several different cell identification types on the A-interface: @@ -116,15 +126,7 @@ most of these (see <>). For simplicity, this description focuses on LAC+CI identification. -The most obvious reason for using LAC+CI is that identical ARFCN+BSIC are -typically re-used across many cells of the same network operator: an operator -will have only very few ARFCNs available, and the 6bit BSIC opens only a very -limited range of distinction between cells. As long as each cell has no more -than one neighbor per given ARFCN+BSIC, these values can be re-used any number -of times across a network, and even between cells managed by one and the same -BSC. - -The consequence of this is that +Hence: - the BSC needs to know which remote-BSS cells' ARFCN+BSIC correspond to exactly which global LAC+CI, and @@ -134,6 +136,14 @@ of its remote-BSS neighbor cells, and the MSC requires prior knowledge about each BSC's cell identifiers; i.e. these config items are spread reduntantly. +The most obvious reason for using LAC+CI in BSSMAP is that identical ARFCN+BSIC +are typically re-used across many cells of the same network operator: an +operator will have only very few ARFCNs available, and the 6bit BSIC opens only +a very limited range of distinction between cells. As long as each cell has no +more than one neighbor per given ARFCN+BSIC, these values can be re-used any +number of times across a network, and even between cells managed by one and the +same BSC. + === Configuring Neighbors The most important step to enable handover in OsmoBSC is to configure each cell @@ -142,12 +152,12 @@ For a long time, OsmoBSC has offered configuration to manually enter the ARFCN+BSIC sent out as neighbors on various System Information messages (all -`neighbor-list` related commands). This is still possible, however, +`neighbor-list` related commands). This is still possible; however, particularly for re-using ARFCN+BSIC within one BSS, this method will not work well. With the addition of inter-BSC handover support, the new `neighbor` config item -has been added to the `bts` config, to maintain explicit cell-to-cell neighbor +has been added to the `bts` config node, to maintain explicit cell-to-cell neighbor relations, with the possibility to re-use ARFCN+BSIC in each cell. It is recommended to completely replace `neighbor-list` configurations with the @@ -157,31 +167,30 @@ .Overview of neighbor configuration on the `bts` config node [frame="none",grid="none",cols="^10%,^10%,80%"] |==== -| Local | Remote BSS | -| ? | | neighbor bts 5 -| ? | | neighbor lac 200 -| ? | | neighbor lac-ci 200 3 -| ? | | neighbor cgi 001 01 200 3 -| ? | ? | neighbor lac 200 arfcn 123 bsic 1 -| ? | ? | neighbor lac-ci 200 3 arfcn 123 bsic 1 -| ? | ? | neighbor cgi 001 01 200 3 arfcn 123 bsic 1 +| Local | Remote BSS | type of `neighbor` config line, by example +| ? | | `neighbor bts 5` +| ? | | `neighbor lac 200` +| ? | | `neighbor lac-ci 200 3` +| ? | | `neighbor cgi 001 01 200 3` +| ? | ? | `neighbor lac 200 arfcn 123 bsic 1` +| ? | ? | `neighbor lac-ci 200 3 arfcn 123 bsic 1` +| ? | ? | `neighbor cgi 001 01 200 3 arfcn 123 bsic 1` |==== ==== Default: All Local Cells are Neighbors -For historical reasons, the default behavior of OsmoBSC is to add all local-BSS cells as neighbors. To -maintain a backwards compatible configuration file format, this is still the case: as soon as no explicit +For historical reasons, the default behavior of OsmoBSC is to add all local-BSS cells as neighbors for every other cell. To +maintain a backwards compatible configuration file format, this is still the case: as long as no explicit neighbor cell is configured with a `neighbor` command (either none was configured, or all configured -neighbors have been removed again), a cell automatically lists all of the local-BSS cells as neighbors. +`neighbor` lines have been removed again), a cell automatically lists all of the local-BSS cells as neighbors. These are implicit mappings in terms of the legacy neighbor configuration scheme, and re-using ARFCN+BSIC combinations within a BSS will not work well this way. -As soon as the first explicit neighbor relation is added to a cell, the legacy behavior is switched off, +As soon as the first explicit `neighbor` relation is added to a cell, the legacy behavior is switched off, and only explicit neighbors are in effect. -NOTE: If a cell is required to not have any neighbors, it is recommended to rather switch off handover -for that cell with `handover 0`. An alternative solution is to set `neighbor-list mode manual` and not -configure any `neighbor-list` entries. +NOTE: If a cell is required to not have any neighbors, it is recommended to switch off handover +for that cell with `handover 0`. ==== Local-BSS Neighbors @@ -228,10 +237,13 @@ It is allowed to include the ARFCN and BSIC of local neighbor cells, even though that is redundant with the already known local configuration of the -other cell. The idea is to ease generating the neighbor configuration -automatically, since local-BSS and remote-BSS neighbors then share identical -configuration formatting. For human readability and maintainability, it may -instead be desirable to use the `neighbor bts <0-255>` format. +target cell. The idea is to ease generating the neighbor configuration +automatically, in that local-BSS and remote-BSS neighbors can have identical +configuration formatting. If the cell identification (LAC+CI) matches a local +cell but a mismatching ARFCN+BSIC follows on the same config line, OsmoBSC will +report errors. For human readability and maintainability, it may instead be +desirable to use the `neighbor bts <0-255>` format, or omit the redundant +`arfcn` and `bsic`. .Example: configuring neighbors within the local BSS in osmo-bsc.cfg, redundantly identified by LAC+CI as well as ARFCN+BSIC ---- @@ -260,14 +272,11 @@ neighbor lac-ci 23 5 arfcn 1 bsic 1 ---- -If the cell identification matches a local cell, OsmoBSC will report errors if -the provided ARFCN+BSIC do not match. - ==== Remote-BSS Neighbors -Remote-BSS neighbors _always_ need to be configured with full A-interface +Remote-BSS neighbors always need to be configured with full A-interface identification _and_ ARFCN+BSIC, to allow mapping a cell's neighbor ARFCN+BSIC -to a _BSSMAP Cell Identifier_ (see 3GPP TS 48.008 3.1.5.1 Handover Required +to a BSSMAP Cell Identifier (see 3GPP TS 48.008 3.1.5.1 Handover Required Indication and 3.2.1.9 HANDOVER REQUIRED). .Example: configuring remote-BSS neighbors in osmo-bsc.cfg, identified by LAC+CI (showing both BSCs' configurations) @@ -320,7 +329,7 @@ === Configuring Handover Decisions For a long time, OsmoBSC has supported handover based on reception level -hysteresis (RXLEV) and distance (TA, Timing Advance), known has `algorithm 1`. +hysteresis (RXLEV) and distance (TA, Timing Advance), known as `algorithm 1`. Since 2018, OsmoBSC also supports a load-based handover decision algorithm, known as `algorithm 2`, which also takes cell load, available codecs and @@ -387,7 +396,7 @@ ---- The order in which these settings are issued makes no difference for the -overlay; i.e., this configuration is perfectly identical to the above, and the +overlay; i.e., the following configuration is perfectly identical to the above, and the individual cell's value remains in force: ---- diff --git a/doc/manuals/chapters/handover_inter_bsc.dot b/doc/manuals/chapters/handover_inter_bsc.dot index 0cc6554..42decef 100644 --- a/doc/manuals/chapters/handover_inter_bsc.dot +++ b/doc/manuals/chapters/handover_inter_bsc.dot @@ -18,8 +18,8 @@ } MS -> BTS_a1 [label="(3) Measurement:\nARFCN=1 BSIC=3 RXLEV"] -BTS_a1 -> MS [label="(1) my neighbors:\nARFCN=1 BSIC=1\nARFCN=1 BSIC=3"] -BTS_b0 -> MS [label="(2) good RXLEV",style=dotted] +BTS_a1 -> MS [label="(1) my neighbors:\nARFCN=1"] +BTS_b0 -> MS [label="(2) good RXLEV\nBSIC=3",style=dotted] MS -> {BTS_a0,BTS_b0,BTS_b1} [style=invisible,arrowhead=none] BTS_a1 -> BSC_a [label="(4) Measurement\nReport",style=dashed] diff --git a/doc/manuals/chapters/handover_intra_bsc.dot b/doc/manuals/chapters/handover_intra_bsc.dot index 2a4f6cf..75eedec 100644 --- a/doc/manuals/chapters/handover_intra_bsc.dot +++ b/doc/manuals/chapters/handover_intra_bsc.dot @@ -18,8 +18,8 @@ } MS -> BTS_a1 [label="(3) Measurement:\nARFCN=1 BSIC=1 RXLEV"] -BTS_a1 -> MS [label="(1) my neighbors:\nARFCN=1 BSIC=1\nARFCN=1 BSIC=3"] -BTS_a0 -> MS [label="(2) good RXLEV",style=dotted] +BTS_a1 -> MS [label="(1) my neighbors:\nARFCN=1"] +BTS_a0 -> MS [label="(2) good RXLEV\nBSIC=1",style=dotted] MS -> {BTS_a0,BTS_b0,BTS_b1} [style=invisible,arrowhead=none] BTS_a1 -> BSC_a [label="(4) Measurement\nReport",style=dashed] -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib25cee8fd8c243881b99173a9a3036ad19d0f8af Gerrit-Change-Number: 14515 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Jun 19 01:48:13 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 19 Jun 2019 01:48:13 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d099461325c0_35b74f060026567e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 81s] #define VERSION "0.1.0" [ 81s] #define STDC_HEADERS 1 [ 81s] [ 71.168170] serial8250: too much work for irq4 [ 81s] #define HAVE_SYS_TYPES_H 1 [ 81s] #define HAVE_SYS_STAT_H 1 [ 81s] #define HAVE_STDLIB_H 1 [ 81s] #define HAVE_STRING_H 1 [ 81s] #define HAVE_MEMORY_H 1 [ 81s] #define HAVE_STRINGS_H 1 [ 81s] #define HAVE_INTTYPES_H 1 [ 81s] #define HAVE_STDINT_H 1 [ 81s] #define HAVE_UNISTD_H 1 [ 81s] #define HAVE_DLFCN_H 1 [ 81s] #define LT_OBJDIR ".libs/" [ 81s] [ 81s] configure: exit 1 [ 81s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 81s] make: *** [debian/rules:45: build] Error 2 [ 81s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 81s] [ 81s] sheep82 failed "build osmo-sysmon_0.1.0.dsc" at Wed Jun 19 01:48:04 UTC 2019. [ 81s] [ 81s] ### VM INTERACTION START ### [ 85s] [ 74.261024] sysrq: SysRq : Power Off [ 85s] [ 74.266329] reboot: Power down [ 85s] ### VM INTERACTION END ### [ 85s] [ 85s] sheep82 failed "build osmo-sysmon_0.1.0.dsc" at Wed Jun 19 01:48:09 UTC 2019. [ 85s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 19 01:55:55 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 19 Jun 2019 01:55:55 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d0996429d449_35b74f0600267139@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Unstable/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 213s] | configure: exit 0 [ 213s] [ 213s] # -*- compilation -*- [ 213s] 4. testsuite.at:23: testing db ... [ 213s] ./testsuite.at:28: $abs_top_builddir/tests/db/db_test [ 213s] --- expout 2019-06-19 01:55:44.496494851 +0000 [ 213s] +++ /usr/src/packages/BUILD/openbsc/tests/testsuite.dir/at-groups/4/stdout 2019-06-19 01:55:44.720494847 +0000 [ 213s] @@ -1,4 +1,6 @@ [ 213s] Testing subscriber database code. [ 213s] DB: Database initialized. [ 213s] +no tables in statement ! [ 213s] +no tables in statement ! [ 213s] DB: Database prepared. [ 213s] Done [ 213s] 4. testsuite.at:23: 4. db (testsuite.at:23): FAILED (testsuite.at:28) [ 213s] make[1]: *** [debian/rules:30: override_dh_auto_test] Error 1 [ 213s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 213s] make: *** [debian/rules:13: build] Error 2 [ 213s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 213s] [ 213s] cloud129 failed "build openbsc_1.2.0.dsc" at Wed Jun 19 01:55:46 UTC 2019. [ 213s] [ 213s] ### VM INTERACTION START ### [ 216s] [ 190.603220] sysrq: SysRq : Power Off [ 216s] [ 190.615061] reboot: Power down [ 218s] ### VM INTERACTION END ### [ 218s] [ 218s] cloud129 failed "build openbsc_1.2.0.dsc" at Wed Jun 19 01:55:52 UTC 2019. [ 218s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 19 03:11:39 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 19 Jun 2019 03:11:39 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in xUbuntu_16.04/i586 In-Reply-To: References: Message-ID: <5d09a7f3b231d_35b74f060027463d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/xUbuntu_16.04/i586 Package network:osmocom:nightly/osmo-bsc failed to build in xUbuntu_16.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 148s] [ 148s] /* confdefs.h */ [ 148s] #define PACKAGE_NAME "osmo-bsc" [ 148s] #define PACKAGE_TARNAME "osmo-bsc" [ 148s] #define PACKAGE_VERSION "1.4.0.91-1626f" [ 148s] #define PACKAGE_STRING "osmo-bsc 1.4.0.91-1626f" [ 148s] #define PACKAGE_BUGREPORT "openbsc at lists.osmocom.org" [ 148s] #define PACKAGE_URL "" [ 148s] #define PACKAGE "osmo-bsc" [ 148s] #define VERSION "1.4.0.91-1626f" [ 148s] [ 148s] configure: exit 2 [ 148s] dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=${prefix}/lib/i386-linux-gnu --libexecdir=${prefix}/lib/i386-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-systemdsystemunitdir=/lib/systemd/system --enable-manuals returned exit code 2 [ 148s] debian/rules:50: recipe for target 'override_dh_auto_configure' failed [ 148s] make[1]: *** [override_dh_auto_configure] Error 255 [ 148s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 148s] debian/rules:45: recipe for target 'build' failed [ 148s] make: *** [build] Error 2 [ 148s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 148s] [ 148s] lamb16 failed "build osmo-bsc_1.4.0.91.1626f.dsc" at Wed Jun 19 03:11:27 UTC 2019. [ 148s] [ 148s] ### VM INTERACTION START ### [ 151s] [ 140.116734] sysrq: SysRq : Power Off [ 151s] [ 140.124522] reboot: Power down [ 151s] ### VM INTERACTION END ### [ 151s] [ 151s] lamb16 failed "build osmo-bsc_1.4.0.91.1626f.dsc" at Wed Jun 19 03:11:31 UTC 2019. [ 151s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 19 03:18:14 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 19 Jun 2019 03:18:14 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d09a97ab8660_35b74f060027626c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 899s] | This file was extended by libosmocore config.status 1.1.0.70-76e8c, which was [ 899s] | generated by GNU Autoconf 2.69. Invocation command line was [ 899s] | [ 899s] | CONFIG_FILES = [ 899s] | CONFIG_HEADERS = [ 899s] | CONFIG_LINKS = [ 899s] | CONFIG_COMMANDS = [ 899s] | $ ./config.status Doxyfile.core [ 899s] | [ 899s] | on obs-arm-5 [ 899s] | [ 899s] | config.status:1200: creating Doxyfile.core [ 899s] [ 899s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 899s] make[1]: *** [override_dh_auto_test] Error 1 [ 899s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 899s] debian/rules:15: recipe for target 'build' failed [ 899s] make: *** [build] Error 2 [ 899s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 899s] [ 899s] obs-arm-5 failed "build libosmocore_1.1.0.70.76e8c.dsc" at Wed Jun 19 03:18:02 UTC 2019. [ 899s] [ 899s] ### VM INTERACTION START ### [ 901s] [ 871.581311] sysrq: SysRq : Power Off [ 901s] [ 871.599249] reboot: Power down [ 901s] ### VM INTERACTION END ### [ 901s] [ 901s] obs-arm-5 failed "build libosmocore_1.1.0.70.76e8c.dsc" at Wed Jun 19 03:18:06 UTC 2019. [ 901s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Jun 19 09:06:40 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 19 Jun 2019 09:06:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: sgsn: new test for N(U) = 0 in GMM ID response Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14516 Change subject: sgsn: new test for N(U) = 0 in GMM ID response ...................................................................... sgsn: new test for N(U) = 0 in GMM ID response Related: OS#2951 Change-Id: I19939892d6a49f80453de977021892ba02d3bed2 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 39 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/16/14516/1 diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 03c9d05..b8b2d29 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -392,23 +392,26 @@ BSSGP[gb_index].send(ts_BSSGP_UL_UD(g_pars.tlli, g_pars.bssgp_cell_id[gb_index], llc_enc)); } -function f_send_l3_gmm_llc(template PDU_L3_MS_SGSN l3_mo, integer gb_index := 0) runs on BSSGP_ConnHdlr { +function f_send_l3_gmm_llc(template PDU_L3_MS_SGSN l3_mo, integer gb_index := 0, integer n_u := -1) runs on BSSGP_ConnHdlr { var octetstring l3_enc := enc_PDU_L3_MS_SGSN(valueof(l3_mo)); var BIT4 sapi := f_llc_sapi_by_l3_mo(valueof(l3_mo)); - var integer n_u := f_llc_get_n_u_tx(llc[bit2int(sapi)]); + + if (n_u == -1) { + n_u := f_llc_get_n_u_tx(llc[bit2int(sapi)]); + } f_send_llc(ts_LLC_UI(l3_enc, sapi, '0'B, n_u), gb_index); } -altstep as_mm_identity(integer gb_idx := 0) runs on BSSGP_ConnHdlr { +altstep as_mm_identity(integer gb_idx := 0, integer n_u := -1) runs on BSSGP_ConnHdlr { var MobileL3_CommonIE_Types.MobileIdentityLV mi; [] BSSGP[gb_idx].receive(tr_BD_L3_MT(tr_GMM_ID_REQ('001'B))) { mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); - f_send_l3_gmm_llc(ts_GMM_ID_RESP(mi), gb_idx); + f_send_l3_gmm_llc(ts_GMM_ID_RESP(mi), gb_idx, n_u); repeat; } [] BSSGP[gb_idx].receive(tr_BD_L3_MT(tr_GMM_ID_REQ('010'B))) { mi := valueof(ts_MI_IMEI_LV(g_pars.imei)); - f_send_l3_gmm_llc(ts_GMM_ID_RESP(mi), gb_idx); + f_send_l3_gmm_llc(ts_GMM_ID_RESP(mi), gb_idx, n_u); repeat; } } @@ -2447,6 +2450,36 @@ vc_conn.done; } +/* Attach reject after sending two ML L3 messages with N(U) set to zero (OS#2951) */ +private function f_TC_attach_pdp_resp_nu_0(charstring id) runs on BSSGP_ConnHdlr { + var RoutingAreaIdentificationV old_ra := f_random_RAI(); + + f_send_l3_gmm_llc(ts_GMM_ATTACH_REQ(f_mi_get_lv(), old_ra, false, false, omit, omit), n_u := 0); + + alt { + [] as_mm_identity(n_u := 0); + /* FIXME: sgsn ignores the wrong N(U) two times, and then "learns" the one we are using. Is this what we want? + * if this test gets used, count the ID REQs we get from sgsn, and add verdicts here. */ + } +} +testcase TC_attach_pdp_resp_nu_0() runs on test_CT { + /* MS -> SGSN: Attach Request, with N(U) = 0 + * MS <- SGSN: Identity Request + * MS -> SGSN: Identity Response, with N(U) = 0 (broken behavior!) + * (SGSN drops the message due to invalid N(U)) + * MS <- SGSN: Identity Request (2nd try) + * MS -> SGSN: Identity Response, with N(U) = 0 (broken behavior!) + * (SGSN drops the message due to invalid N(U)) + * MS <- SGSN: Identity Request (3rd try) + * MS -> SGSN: Identity Response, with N(U) = 0 (broken behavior!) + * (SGSN does recovery handling and accepts the message) + * MS <- SGSN: Attach Reject (Network Failure) + * (SGSN requests subscriber auth info from HLR, but HLR does not answer in this test) */ + var BSSGP_ConnHdlr vc_conn; + f_init(); + vc_conn := f_start_handler(refers(f_TC_attach_pdp_resp_nu_0), testcasename(), g_gb, 2, 40.0); + vc_conn.done; +} control { execute( TC_attach() ); @@ -2502,6 +2535,7 @@ execute( TC_llc_null() ); execute( TC_llc_sabm_dm_llgmm() ); execute( TC_llc_sabm_dm_ll5() ); + execute( TC_attach_pdp_resp_nu_0() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I19939892d6a49f80453de977021892ba02d3bed2 Gerrit-Change-Number: 14516 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 19 09:34:15 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 09:34:15 +0000 Subject: Change in ...osmo-ggsn[master]: manuals: Add script to regenerate vty/counter documentation Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14517 Change subject: manuals: Add script to regenerate vty/counter documentation ...................................................................... manuals: Add script to regenerate vty/counter documentation Related: OS#1700 Change-Id: I2f51ff19d2a1d7bcfdf569309a79a6e91a848302 --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/17/14517/1 diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 0c9e2e1..f9f47fb 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -1,6 +1,7 @@ EXTRA_DIST = osmoggsn-usermanual.adoc \ osmoggsn-usermanual-docinfo.xml \ osmoggsn-vty-reference.xml \ + regen_doc.sh \ chapters \ vty diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..f213f71 --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_GGSN_BRANCH=$COMMIT ./regen_doc.sh osmo-ggsn 4260 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/ggsn_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2f51ff19d2a1d7bcfdf569309a79a6e91a848302 Gerrit-Change-Number: 14517 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 19 09:54:42 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 09:54:42 +0000 Subject: Change in ...libosmo-sccp[master]: manuals: Add script to regenerate vty/counter documentation Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/14518 Change subject: manuals: Add script to regenerate vty/counter documentation ...................................................................... manuals: Add script to regenerate vty/counter documentation Related: OS#1700 Change-Id: I9978d04fec68d6a8e17caa3c88c1020cf3a348ac --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/18/14518/1 diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index ce5b128..9c004ea 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -1,6 +1,7 @@ EXTRA_DIST = osmostp-usermanual.adoc \ osmostp-usermanual-docinfo.xml \ osmostp-vty-reference.xml \ + regen_doc.sh \ chapters \ vty diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..0c5be90 --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_BSC_BRANCH=$COMMIT ./regen_doc.sh osmo-stp 4239 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/osmo-stp_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/14518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I9978d04fec68d6a8e17caa3c88c1020cf3a348ac Gerrit-Change-Number: 14518 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 19 09:54:44 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 09:54:44 +0000 Subject: Change in ...libosmo-sccp[master]: manuals: Update vty documentation Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/14519 Change subject: manuals: Update vty documentation ...................................................................... manuals: Update vty documentation Related: OS#1700 Change-Id: I2061d7883f5457ec8c53358dc6089daaf60c67c3 --- M doc/manuals/vty/osmo-stp_vty_reference.xml 1 file changed, 246 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/19/14519/1 diff --git a/doc/manuals/vty/osmo-stp_vty_reference.xml b/doc/manuals/vty/osmo-stp_vty_reference.xml index 308c369..9a26316 100644 --- a/doc/manuals/vty/osmo-stp_vty_reference.xml +++ b/doc/manuals/vty/osmo-stp_vty_reference.xml @@ -187,7 +187,7 @@ - + @@ -209,6 +209,7 @@ + @@ -261,6 +262,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -390,6 +420,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + enable @@ -558,7 +625,7 @@ - + @@ -580,6 +647,7 @@ + @@ -632,6 +700,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -761,6 +858,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config @@ -955,6 +1089,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1037,7 +1208,7 @@ - + @@ -1059,6 +1230,7 @@ + @@ -1099,6 +1271,75 @@ + + config-stats + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-line @@ -1112,10 +1353,11 @@ - + + @@ -1438,7 +1680,6 @@ - -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/14519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I2061d7883f5457ec8c53358dc6089daaf60c67c3 Gerrit-Change-Number: 14519 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 19 09:58:38 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 09:58:38 +0000 Subject: Change in ...libosmo-sccp[master]: manuals: Add script to regenerate vty/counter documentation In-Reply-To: References: Message-ID: daniel has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/libosmo-sccp/+/14518 ) Change subject: manuals: Add script to regenerate vty/counter documentation ...................................................................... manuals: Add script to regenerate vty/counter documentation Related: OS#1700 Change-Id: I9978d04fec68d6a8e17caa3c88c1020cf3a348ac --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/18/14518/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/14518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I9978d04fec68d6a8e17caa3c88c1020cf3a348ac Gerrit-Change-Number: 14518 Gerrit-PatchSet: 2 Gerrit-Owner: daniel 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 19 10:05:47 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 10:05:47 +0000 Subject: Change in ...osmo-pcu[master]: manuals: Add script to regenerate vty/counter documentation Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14520 Change subject: manuals: Add script to regenerate vty/counter documentation ...................................................................... manuals: Add script to regenerate vty/counter documentation Change-Id: Iff570e85828c87d69a7a49a00d9459094077ca30 Related: OS#1700 --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/20/14520/1 diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 96675ec..a29b48f 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -3,6 +3,7 @@ osmopcu-usermanual.adoc \ osmopcu-usermanual-docinfo.xml \ osmopcu-vty-reference.xml \ + regen_doc.sh \ chapters \ gb \ vty diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..aae5566 --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_PCU_BRANCH=$COMMIT ./regen_doc.sh osmo-pcu 4240 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/osmo-pcu_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iff570e85828c87d69a7a49a00d9459094077ca30 Gerrit-Change-Number: 14520 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 19 10:05:48 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 10:05:48 +0000 Subject: Change in ...osmo-pcu[master]: manuals: Update VTY documentation Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14521 Change subject: manuals: Update VTY documentation ...................................................................... manuals: Update VTY documentation Related: OS#1700 Change-Id: I4a5da9b2b1caa625754383b0f9a180e7503bc60e --- M doc/manuals/vty/osmo-pcu_vty_reference.xml 1 file changed, 1,781 insertions(+), 941 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/21/14521/1 diff --git a/doc/manuals/vty/osmo-pcu_vty_reference.xml b/doc/manuals/vty/osmo-pcu_vty_reference.xml index bf1532d..235e307 100644 --- a/doc/manuals/vty/osmo-pcu_vty_reference.xml +++ b/doc/manuals/vty/osmo-pcu_vty_reference.xml @@ -1,941 +1,1781 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + Common Commands + These commands are available on all VTY nodes. They are listed here only once, to unclutter the VTY reference. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + view + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + enable + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-log + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-stats + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-line + + + + + + + + + + + + + + + + + + + + + config-ns + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-pcu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4a5da9b2b1caa625754383b0f9a180e7503bc60e Gerrit-Change-Number: 14521 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Jun 19 10:35:52 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 19 Jun 2019 10:35:52 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0a102341d3f_35b74f060039104f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 517s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 517s] ./src/common/bts.c:423: undefined reference to `lapdm_channel_init2' [ 517s] collect2: error: ld returned 1 exit status [ 517s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 517s] make[4]: *** [osmo-bts-virtual] Error 1 [ 517s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 517s] Makefile:385: recipe for target 'all-recursive' failed [ 517s] make[3]: *** [all-recursive] Error 1 [ 517s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 517s] Makefile:434: recipe for target 'all-recursive' failed [ 517s] make[2]: *** [all-recursive] Error 1 [ 517s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 517s] Makefile:366: recipe for target 'all' failed [ 517s] make[1]: *** [all] Error 2 [ 517s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 517s] dh_auto_build: make -j1 returned exit code 2 [ 517s] debian/rules:12: recipe for target 'build' failed [ 517s] make: *** [build] Error 2 [ 517s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 517s] [ 517s] armbuild14 failed "build osmo-bts_0.8.1.326.5a3e.dsc" at Wed Jun 19 10:35:33 UTC 2019. [ 517s] [ 517s] ### VM INTERACTION START ### [ 520s] [ 463.437446] sysrq: SysRq : Power Off [ 520s] [ 463.439623] reboot: Power down [ 520s] ### VM INTERACTION END ### [ 520s] [ 520s] armbuild14 failed "build osmo-bts_0.8.1.326.5a3e.dsc" at Wed Jun 19 10:35:37 UTC 2019. [ 520s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Jun 19 10:39:05 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 10:39:05 +0000 Subject: Change in ...osmo-bts[master]: manuals: Add script to regenerate counter/vty documentation Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14522 Change subject: manuals: Add script to regenerate counter/vty documentation ...................................................................... manuals: Add script to regenerate counter/vty documentation This will generate the VTY/counter documentation for osmo-bts-virtual so it will be missing documentation for device-specific commands/counters. Change-Id: Idebb099b69924d6212db119f7a2f2861d4150d7e Related: OS#1700 --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/22/14522/1 diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 1d8125f..e8018d5 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -6,6 +6,7 @@ osmobts-vty-reference.xml \ rtp-amr.adoc \ rtp-amr-docinfo.xml \ + regen_doc.sh \ abis \ chapters \ vty diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..6ff5091 --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_BTS_BRANCH=$COMMIT ./regen_doc.sh osmo-bts 4241 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/bts_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idebb099b69924d6212db119f7a2f2861d4150d7e Gerrit-Change-Number: 14522 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 19 10:39:05 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 10:39:05 +0000 Subject: Change in ...osmo-bts[master]: manuals: Update vty documentation Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14523 Change subject: manuals: Update vty documentation ...................................................................... manuals: Update vty documentation This documentation only includes commands for osmo-bts-virtual Change-Id: Icc0c96d173f31f2eb5fcb6385525a17f94ead852 Related: OS#1700 --- M doc/manuals/vty/bts_vty_reference.xml 1 file changed, 1,742 insertions(+), 1,633 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/23/14523/1 diff --git a/doc/manuals/vty/bts_vty_reference.xml b/doc/manuals/vty/bts_vty_reference.xml index b50ac1b..20c0aa5 100644 --- a/doc/manuals/vty/bts_vty_reference.xml +++ b/doc/manuals/vty/bts_vty_reference.xml @@ -1,1633 +1,1742 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Common Commands + These commands are available on all VTY nodes. They are listed here only once, to unclutter the VTY reference. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + view + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + enable + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-log + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-stats + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-line + + + + + + + + + + + + + + + + + + + + + config-e1_input + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-ctrl + + + + + + + + + phy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + phy-inst + + + bts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + trx + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icc0c96d173f31f2eb5fcb6385525a17f94ead852 Gerrit-Change-Number: 14523 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 19 10:45:10 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 10:45:10 +0000 Subject: Change in ...osmo-bts[master]: manuals: Update vty documentation In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14523 ) Change subject: manuals: Update vty documentation ...................................................................... Patch Set 1: The VTY docs are significantly newer now (~3 years) - however they don't contain any commands that are specific to any "real" BTS. The previous documentation probably contained commands for osmo-bts-sysmo. Ideally we should generate the VTY documentation (and maybe also counters) for each osmo-bts-*, but I don't think we can even run osmo-bts-sysmo or others in docker since they expect dsp/fpga to be present. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icc0c96d173f31f2eb5fcb6385525a17f94ead852 Gerrit-Change-Number: 14523 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 Jun 2019 10:45: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 19 10:48:33 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 10:48:33 +0000 Subject: Change in ...osmo-bts[master]: manuals: Add counter documentation Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14524 Change subject: manuals: Add counter documentation ...................................................................... manuals: Add counter documentation Change-Id: I994ad6aae7f409e0f15ff1d388127e16243b378a Related: OS#1700 --- A doc/manuals/chapters/counters.adoc A doc/manuals/chapters/counters_generated.adoc M doc/manuals/osmobts-usermanual.adoc 3 files changed, 72 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/24/14524/1 diff --git a/doc/manuals/chapters/counters.adoc b/doc/manuals/chapters/counters.adoc new file mode 100644 index 0000000..7fbb10c --- /dev/null +++ b/doc/manuals/chapters/counters.adoc @@ -0,0 +1,4 @@ +[[counters]] +== Counters + +include::./counters_generated.adoc[] diff --git a/doc/manuals/chapters/counters_generated.adoc b/doc/manuals/chapters/counters_generated.adoc new file mode 100644 index 0000000..6ec01e0 --- /dev/null +++ b/doc/manuals/chapters/counters_generated.adoc @@ -0,0 +1,64 @@ + +// autogenerated by show asciidoc counters +These counters and their description based on OsmoBTS 0.8.1.326-5a3e (OsmoBTS). + +=== Rate Counters + +// generating tables for rate_ctr_group +// rate_ctr_group table E1 Input subsystem +.e1inp - E1 Input subsystem +[options="header"] +|=== +| Name | Reference | Description +| hdlc:abort | <> | HDLC abort +| hdlc:bad_fcs | <> | HLDC Bad FCS +| hdlc:overrun | <> | HDLC Overrun +| alarm | <> | Alarm +| removed | <> | Line removed +|=== +// rate_ctr_group table cell broadcast channel +.cbch - cell broadcast channel +[options="header"] +|=== +| Name | Reference | Description +| cbch:rcvd_queued | <> | Received + queued CBCH messages (Abis) +| cbch:rcvd_dropped | <> | Received + dropped CBCH messages (Abis) +| cbch:sent_single | <> | Sent single CBCH messages (Um) +| cbch:sent_default | <> | Sent default CBCH messages (Um) +| cbch:sent_null | <> | Sent NULL CBCH messages (Um) +|=== +// rate_ctr_group table cell broadcast channel +.cbch - cell broadcast channel +[options="header"] +|=== +| Name | Reference | Description +| cbch:rcvd_queued | <> | Received + queued CBCH messages (Abis) +| cbch:rcvd_dropped | <> | Received + dropped CBCH messages (Abis) +| cbch:sent_single | <> | Sent single CBCH messages (Um) +| cbch:sent_default | <> | Sent default CBCH messages (Um) +| cbch:sent_null | <> | Sent NULL CBCH messages (Um) +|=== +// rate_ctr_group table base transceiver station +.bts - base transceiver station +[options="header"] +|=== +| Name | Reference | Description +| paging:rcvd | <> | Received paging requests (Abis) +| paging:drop | <> | Dropped paging requests (Abis) +| paging:sent | <> | Sent paging requests (Um) +| rach:rcvd | <> | Received RACH requests (Um) +| rach:drop | <> | Dropped RACH requests (Um) +| rach:handover | <> | Received RACH requests (Handover) +| rach:cs | <> | Received RACH requests (CS/Abis) +| rach:ps | <> | Received RACH requests (PS/PCU) +| agch:rcvd | <> | Received AGCH requests (Abis) +| agch:sent | <> | Sent AGCH requests (Abis) +| agch:delete | <> | Sent AGCH DELETE IND (Abis) +|=== +== Osmo Stat Items + +// generating tables for osmo_stat_items +== Osmo Counters + +// generating tables for osmo_counters +// there are no ungrouped osmo_counters diff --git a/doc/manuals/osmobts-usermanual.adoc b/doc/manuals/osmobts-usermanual.adoc index 40db72b..df9e7a6 100644 --- a/doc/manuals/osmobts-usermanual.adoc +++ b/doc/manuals/osmobts-usermanual.adoc @@ -14,6 +14,10 @@ include::{srcdir}/chapters/control.adoc[] +include::./common/chapters/counters_overview.adoc[] + +include::{srcdir}/chapters/counters.adoc[] + include::./common/chapters/vty.adoc[] include::./common/chapters/logging.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I994ad6aae7f409e0f15ff1d388127e16243b378a Gerrit-Change-Number: 14524 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 19 10:52:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 10:52:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc-sccplite: Fix expected DLCX in HO tests In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14508 ) Change subject: bsc-sccplite: Fix expected DLCX in HO tests ...................................................................... bsc-sccplite: Fix expected DLCX in HO tests * TTCN3 code was not ACKing the DLCXs, and as a result retransmitted DLCX BSC->MGW were being counted as 2nd DLCX. * In SCCPLite, only 1 DLCX is expected BSC->MGW, because the BSC only takes care of the BTS-side conn in the endpoint, while MSC takes care of the MSC-side conn (which is not sent in this case because doesn't really involved the BSC other than forwarding the message, which will already be tested in other places in forthcoming commits). * Getting rid of retransmissions by ACKing the DLCX, it unconvers a bug in TC_ho_out_fail_no_ho_detect when on AoIP, where BSC only deletes one of the 2 previously created connections. * Code is refactored into the function because its logic is made more complex, and may be even more complex in forthcoming commits when we add MGCP-over-IPA forwarding verification support. Change-Id: Ia1d0db9af073760105cc8509e228e317dbea2268 --- M bsc/BSC_Tests.ttcn 1 file changed, 31 insertions(+), 64 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 00995bf..976bc46 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -2887,6 +2887,28 @@ vc_conn.done; } +/* Expecting MGCP to DLCX the endpoint's two connections: towards BTS and towards MSC */ +private function f_expect_dlcx_conns(boolean exp_clear_cmpl := true) runs on MSC_ConnHdlr { + var MgcpCommand mgcp; + + MGCP.receive(tr_DLCX()) -> value mgcp { + log("Got first DLCX: ", mgcp); + MGCP.send(ts_DLCX_ACK2(mgcp.line.trans_id)); + }; + + /* For SCCPLite, BSC doesn't handle the MSC-side */ + if (g_pars.aoip) { + MGCP.receive(tr_DLCX()) -> value mgcp { + log("Got second DLCX: ", mgcp); + MGCP.send(ts_DLCX_ACK2(mgcp.line.trans_id)); + }; + } + + if (exp_clear_cmpl) { + BSSAP.receive(tr_BSSMAP_ClearComplete); + } +} + private function f_tc_ho_out_of_this_bsc(charstring id) runs on MSC_ConnHdlr { g_pars := f_gen_test_hdlr_pars(); @@ -2937,17 +2959,7 @@ var BssmapCause cause := enum2int(cause_val); BSSAP.send(ts_BSSMAP_ClearCommand(cause)); - /* Expecting MGCP to DLCX the endpoint's two connections: towards BTS and towards MSC */ - var MgcpCommand mgcp; - interleave { - [] BSSAP.receive(tr_BSSMAP_ClearComplete); - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got first DLCX: ", mgcp); - } - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got second DLCX: ", mgcp); - } - } + f_expect_dlcx_conns(true); setverdict(pass); f_sleep(1.0); } @@ -3154,14 +3166,10 @@ [] BSSAP.receive(tr_BSSMAP_ClearRequest) { log("Got BSSMAP Clear Request"); } - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got first DLCX: ", mgcp); - } - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got second DLCX: ", mgcp); - } } + f_expect_dlcx_conns(false); + setverdict(pass); f_sleep(1.0); } @@ -3305,17 +3313,7 @@ var BssmapCause cause := enum2int(cause_val); BSSAP.send(ts_BSSMAP_ClearCommand(cause)); - /* Expecting MGCP to DLCX the endpoint's two connections: towards BTS and towards MSC */ - var MgcpCommand mgcp; - interleave { - [] BSSAP.receive(tr_BSSMAP_ClearComplete); - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got first DLCX: ", mgcp); - } - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got second DLCX: ", mgcp); - } - } + f_expect_dlcx_conns(true); setverdict(pass); f_sleep(1.0); @@ -3397,17 +3395,7 @@ var BssmapCause cause := enum2int(cause_val); BSSAP.send(ts_BSSMAP_ClearCommand(cause)); - /* Expecting MGCP to DLCX the endpoint's two connections: towards BTS and towards MSC */ - var MgcpCommand mgcp; - interleave { - [] BSSAP.receive(tr_BSSMAP_ClearComplete); - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got first DLCX: ", mgcp); - } - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got second DLCX: ", mgcp); - } - } + f_expect_dlcx_conns(true); setverdict(pass); f_sleep(1.0); } @@ -3486,17 +3474,7 @@ var BssmapCause cause := enum2int(cause_val); BSSAP.send(ts_BSSMAP_ClearCommand(cause)); - /* Expecting MGCP to DLCX the endpoint's two connections: towards BTS and towards MSC */ - var MgcpCommand mgcp; - interleave { - [] BSSAP.receive(tr_BSSMAP_ClearComplete); - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got first DLCX: ", mgcp); - } - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got second DLCX: ", mgcp); - } - } + f_expect_dlcx_conns(true); setverdict(pass); f_sleep(1.0); @@ -3563,24 +3541,13 @@ BSSAP.receive(tr_BSSMAP_HandoverFailure); /* MSC plays dumb and sends no Clear Command */ - - /* Expecting MGCP to DLCX the endpoint's two connections: towards BTS and towards MSC */ var PDU_BSSAP rx_clear_request; - var MgcpCommand mgcp; - interleave { - [] BSSAP.receive(tr_BSSMAP_ClearRequest) -> value 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)); }; - [] BSSAP.receive(tr_BSSMAP_ClearComplete); - - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got first DLCX: ", mgcp); - } - [] MGCP.receive(tr_DLCX()) -> value mgcp { - log("Got second DLCX: ", mgcp); - } - } + f_expect_dlcx_conns(true); setverdict(pass); f_sleep(1.0); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14508 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia1d0db9af073760105cc8509e228e317dbea2268 Gerrit-Change-Number: 14508 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 Wed Jun 19 10:52:14 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 10:52:14 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Move hardcoded ip addr to variable In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14509 ) Change subject: bsc: Move hardcoded ip addr to variable ...................................................................... bsc: Move hardcoded ip addr to variable This way it's more clear what are those IP addresses for. Change-Id: I3600fd0d0486205e5bdc487fa75e9038d3bfb52c --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index c709794..4436b0c 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -360,6 +360,8 @@ var MediaState g_media; var TestHdlrParams g_pars; + var charstring host_bts := "127.0.0.2"; + var charstring host_mgw := "127.0.0.3"; var boolean g_vty_initialized := false; } @@ -878,7 +880,7 @@ codecType := FR_AMR; } - f_MscConnHdlr_init(g_pars.media_nr, "127.0.0.2", "127.0.0.3", codecType); + f_MscConnHdlr_init(g_pars.media_nr, host_bts, host_mgw, codecType); /* patch in the LCLS related items, as needed */ f_ass_patch_lcls(ass_tpl, exp_ass_cpl); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3600fd0d0486205e5bdc487fa75e9038d3bfb52c Gerrit-Change-Number: 14509 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 Wed Jun 19 10:52:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 10:52:15 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/bssmap: Introduce function f_bssmap_ie_cic_2_int() In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14510 ) Change subject: lib/bssmap: Introduce function f_bssmap_ie_cic_2_int() ...................................................................... lib/bssmap: Introduce function f_bssmap_ie_cic_2_int() Function will be re-used in forthcoming commits. Change-Id: Ifc7444ecca1571959ed83b43d3c7461c637686ae --- M library/BSSMAP_Templates.ttcn M library/RAN_Emulation.ttcnpp 2 files changed, 6 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index b377358..9015680 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -402,6 +402,11 @@ cicLow := bit2oct((substr(int2bit(span, 11), 8, 3) << 5) & int2bit(ts, 5)) } +function f_bssmap_ie_cic_2_int(BSSMAP_IE_CircuitIdentityCode cic_ie) return integer { + var integer cic := (oct2int(cic_ie.cicHigh) * 256) + oct2int(cic_ie.cicLow); + return cic; +} + template (value) BSSMAP_IE_AoIP_TransportLayerAddress ts_BSSMAP_IE_AoIP_TLA(BSSMAP_FIELD_IPAddress addr, uint16_t udp_port, integer len) := { diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index cd0c867..de5b7f3 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -422,7 +422,7 @@ ispresent(bssap.pdu.bssmap.assignmentRequest.circuitIdentityCode)) { var BSSMAP_IE_CircuitIdentityCode cic_ie := bssap.pdu.bssmap.assignmentRequest.circuitIdentityCode; - var integer cic := (oct2int(cic_ie.cicHigh) * 256) + oct2int(cic_ie.cicLow); + var integer cic := f_bssmap_ie_cic_2_int(cic_ie); f_comp_store_cic(client, cic); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifc7444ecca1571959ed83b43d3c7461c637686ae Gerrit-Change-Number: 14510 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 Wed Jun 19 10:59:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 10:59:57 +0000 Subject: Change in ...osmo-bsc[master]: doc/manuals: review and tweak handover docs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14515 ) Change subject: doc/manuals: review and tweak handover docs ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib25cee8fd8c243881b99173a9a3036ad19d0f8af Gerrit-Change-Number: 14515 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 10:59: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 19 11:03:59 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 11:03:59 +0000 Subject: Change in ...osmo-ggsn[master]: manuals: Add script to regenerate vty/counter documentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14517 ) Change subject: manuals: Add script to regenerate vty/counter documentation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2f51ff19d2a1d7bcfdf569309a79a6e91a848302 Gerrit-Change-Number: 14517 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 11:03:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 11:04:20 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 11:04:20 +0000 Subject: Change in ...libosmo-sccp[master]: manuals: Update vty documentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/14519 ) Change subject: manuals: Update vty documentation ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/14519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I2061d7883f5457ec8c53358dc6089daaf60c67c3 Gerrit-Change-Number: 14519 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 11:04:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 11:04:26 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 Jun 2019 11:04:26 +0000 Subject: Change in ...osmo-msc[master]: libvlr/vlr.c: do not expire subscribers if periodic LU is disabled Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14525 Change subject: libvlr/vlr.c: do not expire subscribers if periodic LU is disabled ...................................................................... libvlr/vlr.c: do not expire subscribers if periodic LU is disabled When periodic Location Update is disabled (T3212 = 0), it was noticed that OsmoMSC does expire subscribers quite soon - after 60 seconds (VLR_SUBSCRIBER_LU_EXPIRATION_INTERVAL) since the last LU. In order to avoid that, we need to check T3212 timer value in vlr_subscr_expire_lu(), and if it's equal to 0, do not expire anybody until the explicit IMSI Detach. Change-Id: I2ead2241a3394dbdd5417f4554190df3fd698af2 --- M src/libvlr/vlr.c 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/25/14525/1 diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c index 5610cfb..625b699 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -519,8 +519,15 @@ { struct vlr_instance *vlr = data; struct vlr_subscr *vsub, *vsub_tmp; + struct gsm_network *net; struct timespec now; + /* Periodic location update might be disabled from the VTY, + * so we shall not expire subscribers until explicit IMSI Detach. */ + net = vlr->user_ctx; /* XXX move t3212 into struct vlr_instance? */ + if (!net->t3212) + goto done; + if (llist_empty(&vlr->subscribers)) goto done; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2ead2241a3394dbdd5417f4554190df3fd698af2 Gerrit-Change-Number: 14525 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 19 11:04:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 11:04:54 +0000 Subject: Change in ...libosmo-sccp[master]: manuals: Add script to regenerate vty/counter documentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/14518 ) Change subject: manuals: Add script to regenerate vty/counter documentation ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/14518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I9978d04fec68d6a8e17caa3c88c1020cf3a348ac Gerrit-Change-Number: 14518 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 11:04:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 11:05:08 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 11:05:08 +0000 Subject: Change in ...osmo-pcu[master]: manuals: Add script to regenerate vty/counter documentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14520 ) Change subject: manuals: Add script to regenerate vty/counter documentation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iff570e85828c87d69a7a49a00d9459094077ca30 Gerrit-Change-Number: 14520 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 11:05:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 11:05:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 11:05:43 +0000 Subject: Change in ...osmo-pcu[master]: manuals: Update VTY documentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14521 ) Change subject: manuals: Update VTY documentation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4a5da9b2b1caa625754383b0f9a180e7503bc60e Gerrit-Change-Number: 14521 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 11:05: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 19 11:06:02 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 11:06:02 +0000 Subject: Change in ...osmo-bts[master]: manuals: Add script to regenerate counter/vty documentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14522 ) Change subject: manuals: Add script to regenerate counter/vty documentation ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idebb099b69924d6212db119f7a2f2861d4150d7e Gerrit-Change-Number: 14522 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 11:06: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 19 11:08:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 11:08:41 +0000 Subject: Change in ...osmo-bts[master]: manuals: Update vty documentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14523 ) Change subject: manuals: Update vty documentation ...................................................................... Patch Set 2: > Patch Set 1: > > The VTY docs are significantly newer now (~3 years) - however they don't contain any commands that are specific to any "real" BTS. The previous documentation probably contained commands for osmo-bts-sysmo. > > Ideally we should generate the VTY documentation (and maybe also counters) for each osmo-bts-*, but I don't think we can even run osmo-bts-sysmo or others in docker since they expect dsp/fpga to be present. I think we should keep those in a separate .xml file (probably one per bts type) and update them manually over time (shouldn't be a lot of them). -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Icc0c96d173f31f2eb5fcb6385525a17f94ead852 Gerrit-Change-Number: 14523 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 11:08:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 11:10:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 11:10:23 +0000 Subject: Change in ...osmo-bts[master]: manuals: Add counter documentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14524 ) Change subject: manuals: Add counter documentation ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/14524/1/doc/manuals/chapters/counters_generated.adoc File doc/manuals/chapters/counters_generated.adoc: https://gerrit.osmocom.org/#/c/14524/1/doc/manuals/chapters/counters_generated.adoc at 9 PS1, Line 9: .e1inp - E1 Input subsystem Is there an extra whitespace at the end of the line? probably something we want to fix in code. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I994ad6aae7f409e0f15ff1d388127e16243b378a Gerrit-Change-Number: 14524 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 11:10:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 11:13:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 11:13:54 +0000 Subject: Change in ...osmo-msc[master]: libvlr/vlr.c: do not expire subscribers if periodic LU is disabled In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14525 ) Change subject: libvlr/vlr.c: do not expire subscribers if periodic LU is disabled ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2ead2241a3394dbdd5417f4554190df3fd698af2 Gerrit-Change-Number: 14525 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 19 Jun 2019 11:13:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 11:30:23 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 11:30:23 +0000 Subject: Change in ...docker-playground[master]: osmo-nitb-master: Add default config file for osmo-bsc_nat Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/14526 Change subject: osmo-nitb-master: Add default config file for osmo-bsc_nat ...................................................................... osmo-nitb-master: Add default config file for osmo-bsc_nat Change-Id: I44bb395009582f5e1399f277e15203553c2dcf78 Related: OS#1700 --- M osmo-nitb-master/Dockerfile 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/26/14526/1 diff --git a/osmo-nitb-master/Dockerfile b/osmo-nitb-master/Dockerfile index c7fb008..3e20ec8 100644 --- a/osmo-nitb-master/Dockerfile +++ b/osmo-nitb-master/Dockerfile @@ -42,6 +42,8 @@ VOLUME /data COPY openbsc.cfg /data/openbsc.cfg +COPY osmo-bsc-nat.cfg /data/osmo-bsc-nat.cfg +COPY bscs.config /data/bscs.config WORKDIR /data CMD ["/usr/local/bin/osmo-nitb"] -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I44bb395009582f5e1399f277e15203553c2dcf78 Gerrit-Change-Number: 14526 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 19 11:30:23 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 11:30:23 +0000 Subject: Change in ...docker-playground[master]: regen_doc.sh: Add optional parameter to customize docker execution Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/14527 Change subject: regen_doc.sh: Add optional parameter to customize docker execution ...................................................................... regen_doc.sh: Add optional parameter to customize docker execution The osmo-nitb-master image can run not only osmo-nitb, but also osmo-bsc_nat. In that case we can't use the default command from Dockerfile, but should provide our own. This argument makes it possible to do so. Change-Id: I52c3cb2cdcfb143e71ac2c1aa40bb466e41a0f5c Related: OS#1700 --- M scripts/regen_doc.sh 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/27/14527/1 diff --git a/scripts/regen_doc.sh b/scripts/regen_doc.sh index 7c7529f..5327ae8 100755 --- a/scripts/regen_doc.sh +++ b/scripts/regen_doc.sh @@ -6,6 +6,7 @@ PORT="$2" COUNTERFILE="$3" VTYFILE="$4" +DOCKER_EXTRA="$5" IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" if [ -z "$OSMO_INTERACT_VTY" ]; then @@ -23,7 +24,8 @@ docker run --rm --network ${NET_NAME} --ip ${IP_ADDR} \ --name ${BUILD_TAG}-${CONTAINERNAME} -d \ - ${REPO_USER}/${CONTAINERNAME} + ${REPO_USER}/${CONTAINERNAME} \ + ${DOCKER_EXTRA} } -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I52c3cb2cdcfb143e71ac2c1aa40bb466e41a0f5c Gerrit-Change-Number: 14527 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 19 11:33:35 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 11:33:35 +0000 Subject: Change in ...openbsc[master]: manuals: Add script to regenerate counter/vty documentation Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/openbsc/+/14528 Change subject: manuals: Add script to regenerate counter/vty documentation ...................................................................... manuals: Add script to regenerate counter/vty documentation Related: OS#1700 Change-Id: I3e6e6603300d2d7f6221720fa7ce35b3a6aa0b7a --- M openbsc/doc/Makefile.am A openbsc/doc/regen_doc.sh 2 files changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/28/14528/1 diff --git a/openbsc/doc/Makefile.am b/openbsc/doc/Makefile.am index 5a23107..ac3c914 100644 --- a/openbsc/doc/Makefile.am +++ b/openbsc/doc/Makefile.am @@ -1,3 +1,5 @@ SUBDIRS = \ examples \ $(NULL) + +EXTRA_DIST = regen_doc.sh diff --git a/openbsc/doc/regen_doc.sh b/openbsc/doc/regen_doc.sh new file mode 100755 index 0000000..5552dec --- /dev/null +++ b/openbsc/doc/regen_doc.sh @@ -0,0 +1,21 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT")/../../manuals + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_NITB_BRANCH=$COMMIT ./regen_doc.sh osmo-nitb 4242 \ + "$MANUAL_DIR/OsmoNITB/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/OsmoNITB/vty/nitb_vty_reference.xml" + +#OSMO_BSCNAT_BRANCH=$COMMIT ./regen_doc.sh osmo-bscnat 4244 \ +# "$MANUAL_DIR/OsmoBSCNAT/chapters/counters_generated.adoc" \ +# "$MANUAL_DIR/OsmoBSCNAT/vty/nat_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/14528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: I3e6e6603300d2d7f6221720fa7ce35b3a6aa0b7a Gerrit-Change-Number: 14528 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 19 11:33:38 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 11:33:38 +0000 Subject: Change in ...openbsc[master]: manuals: Update osmonitb counter/vty documentation Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/openbsc/+/14529 Change subject: manuals: Update osmonitb counter/vty documentation ...................................................................... manuals: Update osmonitb counter/vty documentation Change-Id: Ia598124fbb98b3ec8dee606f9d028bb3cc6ff002 Related: OS#1700 --- A manuals/OsmoNITB/chapters/counters.adoc A manuals/OsmoNITB/chapters/counters_generated.adoc M manuals/OsmoNITB/osmonitb-usermanual.adoc M manuals/OsmoNITB/vty/nitb_vty_reference.xml 4 files changed, 4,176 insertions(+), 4,724 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/29/14529/1 -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/14529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Ia598124fbb98b3ec8dee606f9d028bb3cc6ff002 Gerrit-Change-Number: 14529 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 19 11:33:38 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 11:33:38 +0000 Subject: Change in ...openbsc[master]: manuals: Generate vty/counter documentation for osmo-bscnat Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/openbsc/+/14530 Change subject: manuals: Generate vty/counter documentation for osmo-bscnat ...................................................................... manuals: Generate vty/counter documentation for osmo-bscnat Change-Id: Ice7f15192a57e2c964d07d364732af888972ba0f Depends: I44bb395009582f5e1399f277e15203553c2dcf78 (docker-playground.git) Depends: I52c3cb2cdcfb143e71ac2c1aa40bb466e41a0f5c (docker-playground.git) Related: OS#1700 --- A manuals/OsmoBSCNAT/chapters/counters_generated.adoc M manuals/OsmoBSCNAT/vty/nat_vty_reference.xml M openbsc/doc/regen_doc.sh 3 files changed, 2,391 insertions(+), 2,064 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/30/14530/1 diff --git a/manuals/OsmoBSCNAT/chapters/counters_generated.adoc b/manuals/OsmoBSCNAT/chapters/counters_generated.adoc new file mode 100644 index 0000000..5d7db17 --- /dev/null +++ b/manuals/OsmoBSCNAT/chapters/counters_generated.adoc @@ -0,0 +1,98 @@ + +// autogenerated by show asciidoc counters +These counters and their description based on OsmoBSCNAT 1.2.0.17-6a61 (OsmoBSCNAT). + +=== Rate Counters + +// generating tables for rate_ctr_group +// rate_ctr_group table NAT Access-List Statistics +.nat:filter - NAT Access-List Statistics +[options="header"] +|=== +| Name | Reference | Description +| access-list:local-filter | <> | Rejected by rule for local +| access-list:global-filter | <> | Rejected by rule for global +|=== +// rate_ctr_group table NAT Access-List Statistics +.nat:filter - NAT Access-List Statistics +[options="header"] +|=== +| Name | Reference | Description +| access-list:local-filter | <> | Rejected by rule for local +| access-list:global-filter | <> | Rejected by rule for global +|=== +// rate_ctr_group table NAT BSC Statistics +.nat:bsc - NAT BSC Statistics +[options="header"] +|=== +| Name | Reference | Description +| sccp:conn | <> | SCCP Connections +| sccp:calls | <> | SCCP Assignment Commands +| net:reconnects | <> | Network reconnects +| dropped:sccp | <> | Dropped SCCP connections. +| dropped:calls | <> | Dropped active calls. +| rejected:cr | <> | Rejected CR due filter +| rejected:msg | <> | Rejected MSG due filter +| rejected:ill | <> | Rejected due parse error +| conn:lu | <> | Conn Location Update +| conn:rq | <> | Conn CM Service Req +| conn:pag | <> | Conn Paging Response +| conn:ssa | <> | Conn USSD +| conn:other | <> | Conn Other +|=== +// rate_ctr_group table NAT BSC Statistics +.nat:bsc - NAT BSC Statistics +[options="header"] +|=== +| Name | Reference | Description +| sccp:conn | <> | SCCP Connections +| sccp:calls | <> | SCCP Assignment Commands +| net:reconnects | <> | Network reconnects +| dropped:sccp | <> | Dropped SCCP connections. +| dropped:calls | <> | Dropped active calls. +| rejected:cr | <> | Rejected CR due filter +| rejected:msg | <> | Rejected MSG due filter +| rejected:ill | <> | Rejected due parse error +| conn:lu | <> | Conn Location Update +| conn:rq | <> | Conn CM Service Req +| conn:pag | <> | Conn Paging Response +| conn:ssa | <> | Conn USSD +| conn:other | <> | Conn Other +|=== +// rate_ctr_group table NAT BSC Statistics +.nat:bsc - NAT BSC Statistics +[options="header"] +|=== +| Name | Reference | Description +| sccp:conn | <> | SCCP Connections +| sccp:calls | <> | SCCP Assignment Commands +| net:reconnects | <> | Network reconnects +| dropped:sccp | <> | Dropped SCCP connections. +| dropped:calls | <> | Dropped active calls. +| rejected:cr | <> | Rejected CR due filter +| rejected:msg | <> | Rejected MSG due filter +| rejected:ill | <> | Rejected due parse error +| conn:lu | <> | Conn Location Update +| conn:rq | <> | Conn CM Service Req +| conn:pag | <> | Conn Paging Response +| conn:ssa | <> | Conn USSD +| conn:other | <> | Conn Other +|=== +== Osmo Stat Items + +// generating tables for osmo_stat_items +== Osmo Counters + +// generating tables for osmo_counters +// ungrouped osmo_counters +.ungrouped osmo counters +[options="header"] +|=== +| Name | Reference | Description +| nat.sccp.conn | <> | +| nat.sccp.calls | <> | +| nat.bsc.conn | <> | +| nat.bsc.auth_fail | <> | +| nat.msc.conn | <> | +| nat.ussd.conn | <> | +|=== diff --git a/manuals/OsmoBSCNAT/vty/nat_vty_reference.xml b/manuals/OsmoBSCNAT/vty/nat_vty_reference.xml index 80fe08f..3ed4903 100644 --- a/manuals/OsmoBSCNAT/vty/nat_vty_reference.xml +++ b/manuals/OsmoBSCNAT/vty/nat_vty_reference.xml @@ -1,2061 +1,2289 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + Common Commands + These commands are available on all VTY nodes. They are listed here only once, to unclutter the VTY reference. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + view + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + enable + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-log + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-stats + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-line + + + + + + + + + + + + + + + + + + + + + config-ctrl + + + + + + + + + config-mgcp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-nat + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-nat-bsc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-mgcp-trunk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-nat-paging-group + + + + + + + + + + + + + + + diff --git a/openbsc/doc/regen_doc.sh b/openbsc/doc/regen_doc.sh index 5552dec..12bb878 100755 --- a/openbsc/doc/regen_doc.sh +++ b/openbsc/doc/regen_doc.sh @@ -16,6 +16,7 @@ "$MANUAL_DIR/OsmoNITB/chapters/counters_generated.adoc" \ "$MANUAL_DIR/OsmoNITB/vty/nitb_vty_reference.xml" -#OSMO_BSCNAT_BRANCH=$COMMIT ./regen_doc.sh osmo-bscnat 4244 \ -# "$MANUAL_DIR/OsmoBSCNAT/chapters/counters_generated.adoc" \ -# "$MANUAL_DIR/OsmoBSCNAT/vty/nat_vty_reference.xml" +OSMO_BSCNAT_BRANCH=$COMMIT ./regen_doc.sh osmo-nitb 4244 \ + "$MANUAL_DIR/OsmoBSCNAT/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/OsmoBSCNAT/vty/nat_vty_reference.xml" \ + "osmo-bsc_nat -c /data/osmo-bsc-nat.cfg" -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/14530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Ice7f15192a57e2c964d07d364732af888972ba0f Gerrit-Change-Number: 14530 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 19 11:59:02 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 11:59:02 +0000 Subject: Change in ...docker-playground[master]: regen_doc.sh: Add optional parameter to customize docker execution In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14527 ) Change subject: regen_doc.sh: Add optional parameter to customize docker execution ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I52c3cb2cdcfb143e71ac2c1aa40bb466e41a0f5c Gerrit-Change-Number: 14527 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Comment-Date: Wed, 19 Jun 2019 11:59:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:05:03 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:05:03 +0000 Subject: Change in ...docker-playground[master]: osmo-nitb-master: Add default config file for osmo-bsc_nat In-Reply-To: References: Message-ID: daniel has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/14526 ) Change subject: osmo-nitb-master: Add default config file for osmo-bsc_nat ...................................................................... osmo-nitb-master: Add default config file for osmo-bsc_nat Change-Id: I44bb395009582f5e1399f277e15203553c2dcf78 Related: OS#1700 --- M osmo-nitb-master/Dockerfile A osmo-nitb-master/bscs.config A osmo-nitb-master/osmo-bsc-nat.cfg 3 files changed, 65 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/26/14526/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I44bb395009582f5e1399f277e15203553c2dcf78 Gerrit-Change-Number: 14526 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:05:05 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:05:05 +0000 Subject: Change in ...docker-playground[master]: osmo-mgw: Bind to 0.0.0.0 by default Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/14531 Change subject: osmo-mgw: Bind to 0.0.0.0 by default ...................................................................... osmo-mgw: Bind to 0.0.0.0 by default Don't bind to a specific IP otherwise starting osmo-mgw will fail (if we don't configure that exact IP address) Related: OS#1700 Change-Id: Ic5828957a29d4f317e1ebf4f03b5f5359f6250e8 --- M osmo-mgw-master/osmo-mgw.cfg 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/31/14531/1 diff --git a/osmo-mgw-master/osmo-mgw.cfg b/osmo-mgw-master/osmo-mgw.cfg index 682c4ed..8f07294 100644 --- a/osmo-mgw-master/osmo-mgw.cfg +++ b/osmo-mgw-master/osmo-mgw.cfg @@ -34,10 +34,10 @@ bind 0.0.0.0 ! mgcp - bind ip 172.18.0.180 + bind ip 0.0.0.0 bind port 2427 rtp port-range 4002 16000 - rtp bind-ip 172.18.0.180 + rtp bind-ip 0.0.0.0 rtp ip-probing rtp ip-dscp 184 no rtp keep-alive -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic5828957a29d4f317e1ebf4f03b5f5359f6250e8 Gerrit-Change-Number: 14531 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 19 12:05:24 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:05:24 +0000 Subject: Change in ...docker-playground[master]: osmo-nitb-master: Add default config file for osmo-bsc_nat In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14526 ) Change subject: osmo-nitb-master: Add default config file for osmo-bsc_nat ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I44bb395009582f5e1399f277e15203553c2dcf78 Gerrit-Change-Number: 14526 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Comment-Date: Wed, 19 Jun 2019 12:05: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 19 12:05:40 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:05:40 +0000 Subject: Change in ...docker-playground[master]: regen_doc.sh: Add optional parameter to customize docker execution In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14527 ) Change subject: regen_doc.sh: Add optional parameter to customize docker execution ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I52c3cb2cdcfb143e71ac2c1aa40bb466e41a0f5c Gerrit-Change-Number: 14527 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Comment-Date: Wed, 19 Jun 2019 12:05:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:09:01 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:09:01 +0000 Subject: Change in ...osmo-mgw[master]: manuals: Add script to regenerate vty/counter documentation Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14532 Change subject: manuals: Add script to regenerate vty/counter documentation ...................................................................... manuals: Add script to regenerate vty/counter documentation Change-Id: Ib5e0bd9ec430a6ef3dce6845d7def39720c54637 Depends: Ic5828957a29d4f317e1ebf4f03b5f5359f6250e8 (docker-playground.git) Related: OS#1700 --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/32/14532/1 diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 0faebf3..a82f95d 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -1,6 +1,7 @@ EXTRA_DIST = osmomgw-usermanual.adoc \ osmomgw-usermanual-docinfo.xml \ osmomgw-vty-reference.xml \ + regen_doc.sh \ chapters \ vty diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..210d65c --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_MGW_BRANCH=$COMMIT ./regen_doc.sh osmo-mgw 4243 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/mgw_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib5e0bd9ec430a6ef3dce6845d7def39720c54637 Gerrit-Change-Number: 14532 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 19 12:09:02 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:09:02 +0000 Subject: Change in ...osmo-mgw[master]: manuals: Update vty/counter documentation Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14533 Change subject: manuals: Update vty/counter documentation ...................................................................... manuals: Update vty/counter documentation Change-Id: Icc86ef7ddd8a30984f91b025157e11fc0df9631e Depends: OS#1700 --- M doc/manuals/chapters/counters_generated.adoc M doc/manuals/vty/mgw_vty_reference.xml 2 files changed, 111 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/33/14533/1 diff --git a/doc/manuals/chapters/counters_generated.adoc b/doc/manuals/chapters/counters_generated.adoc index 20a4dec..22c321d 100644 --- a/doc/manuals/chapters/counters_generated.adoc +++ b/doc/manuals/chapters/counters_generated.adoc @@ -1,10 +1,79 @@ // autogenerated by show asciidoc counters -These counters and their description based on OsmoMGW 1.3.0.34-9cd52 (OsmoMGW). +These counters and their description based on OsmoMGW 1.5.0.60-f638 (OsmoMGW). === Rate Counters // generating tables for rate_ctr_group +// rate_ctr_group table aggregated statistics for all rtp connections +.all_rtp_conn - aggregated statistics for all rtp connections +[options="header"] +|=== +| Name | Reference | Description +| all_rtp:err_tstmp_in | <> | Total inbound rtp-stream timestamp errors. +| all_rtp:err_tstmp_out | <> | Total outbound rtp-stream timestamp errors. +| all_rtp:packets_rx | <> | Total inbound rtp packets. +| all_rtp:octets_rx | <> | Total inbound rtp octets. +| all_rtp:packets_tx | <> | Total outbound rtp packets. +| all_rtp:octets_tx | <> | Total outbound rtp octets. +| all_rtp:dropped | <> | Total dropped rtp packets. +| all_rtp:num_closed_conns | <> | Total number of rtp connections closed. +|=== +// rate_ctr_group table dlcx statistics +.dlcx - dlcx statistics +[options="header"] +|=== +| Name | Reference | Description +| dlcx:success | <> | DLCX command processed successfully. +| dlcx:wildcard | <> | wildcard names in DLCX commands are unsupported. +| dlcx:no_conn | <> | endpoint specified in DLCX command has no active connections. +| dlcx:callid | <> | CallId specified in DLCX command mismatches endpoint's CallId . +| dlcx:connid | <> | connection ID specified in DLCX command does not exist on endpoint. +| dlcx:unhandled_param | <> | unhandled parameter in DLCX command. +| dlcx:rejected | <> | connection deletion rejected by policy. +| dlcx:deferred | <> | connection deletion deferred by policy. +|=== +// rate_ctr_group table mdcx statistics +.mdcx - mdcx statistics +[options="header"] +|=== +| Name | Reference | Description +| mdcx:success | <> | MDCX command processed successfully. +| mdcx:wildcard | <> | wildcard endpoint names in MDCX commands are unsupported. +| mdcx:no_conn | <> | endpoint specified in MDCX command has no active connections. +| mdcx:callid | <> | invalid CallId specified in MDCX command. +| mdcx:connid | <> | invalid connection ID specified in MDCX command. +| crcx:unhandled_param | <> | unhandled parameter in MDCX command. +| mdcx:no_connid | <> | no connection ID specified in MDCX command. +| mdcx:conn_not_found | <> | connection specified in MDCX command does not exist. +| mdcx:invalid_mode | <> | invalid connection mode in MDCX command. +| mdcx:conn_opt | <> | connection options invalid. +| mdcx:no_remote_conn_desc | <> | no opposite end specified for connection. +| mdcx:start_rtp_failure | <> | failure to start RTP processing. +| mdcx:conn_rejected | <> | connection rejected by policy. +| mdcx:conn_deferred | <> | connection deferred by policy. +|=== +// rate_ctr_group table crxc statistics +.crcx - crxc statistics +[options="header"] +|=== +| Name | Reference | Description +| crcx:success | <> | CRCX command processed successfully. +| crcx:bad_action | <> | bad action in CRCX command. +| crcx:unhandled_param | <> | unhandled parameter in CRCX command. +| crcx:missing_callid | <> | missing CallId in CRCX command. +| crcx:invalid_mode | <> | invalid connection mode in CRCX command. +| crcx:limit_exceeded | <> | limit of concurrent connections was reached. +| crcx:unkown_callid | <> | unknown CallId in CRCX command. +| crcx:alloc_conn_fail | <> | connection allocation failure. +| crcx:no_remote_conn_desc | <> | no opposite end specified for connection. +| crcx:start_rtp_failure | <> | failure to start RTP processing. +| crcx:conn_rejected | <> | connection rejected by policy. +| crcx:no_osmux | <> | no osmux offered by peer. +| crcx:conn_opt | <> | connection options invalid. +| crcx:codec_nego | <> | codec negotiation failure. +| crcx:bind_port | <> | port bind failure. +|=== == Osmo Stat Items // generating tables for osmo_stat_items diff --git a/doc/manuals/vty/mgw_vty_reference.xml b/doc/manuals/vty/mgw_vty_reference.xml index 834db04..1770dab 100644 --- a/doc/manuals/vty/mgw_vty_reference.xml +++ b/doc/manuals/vty/mgw_vty_reference.xml @@ -187,12 +187,11 @@ - + - @@ -211,6 +210,7 @@ + @@ -522,12 +522,11 @@ - + - @@ -546,6 +545,7 @@ + @@ -561,8 +561,7 @@ - - + @@ -1040,12 +1039,11 @@ - + - @@ -1064,6 +1062,7 @@ + @@ -1186,10 +1185,11 @@ - + + @@ -1397,6 +1397,19 @@ + + + + + + + + + + + + + @@ -1496,6 +1509,12 @@ + + + + + + @@ -1579,6 +1598,19 @@ + + + + + + + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icc86ef7ddd8a30984f91b025157e11fc0df9631e Gerrit-Change-Number: 14533 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 19 12:16:58 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:16:58 +0000 Subject: Change in ...osmo-bts[master]: manuals: Add counter documentation In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/14524 to look at the new patch set (#2). Change subject: manuals: Add counter documentation ...................................................................... manuals: Add counter documentation Change-Id: I994ad6aae7f409e0f15ff1d388127e16243b378a Related: OS#1700 --- A doc/manuals/chapters/counters.adoc A doc/manuals/chapters/counters_generated.adoc M doc/manuals/osmobts-usermanual.adoc 3 files changed, 72 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/24/14524/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I994ad6aae7f409e0f15ff1d388127e16243b378a Gerrit-Change-Number: 14524 Gerrit-PatchSet: 2 Gerrit-Owner: daniel 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 19 12:20:36 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:20:36 +0000 Subject: Change in ...openbsc[master]: manuals: Add script to regenerate counter/vty documentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/14528 ) Change subject: manuals: Add script to regenerate counter/vty documentation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/14528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: I3e6e6603300d2d7f6221720fa7ce35b3a6aa0b7a Gerrit-Change-Number: 14528 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 12:20: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 19 12:20:45 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:20:45 +0000 Subject: Change in ...openbsc[master]: manuals: Update osmonitb counter/vty documentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/14529 ) Change subject: manuals: Update osmonitb counter/vty documentation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/14529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Ia598124fbb98b3ec8dee606f9d028bb3cc6ff002 Gerrit-Change-Number: 14529 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 12:20:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Jun 19 12:20:27 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 19 Jun 2019 12:20:27 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0a289d34b0b_35b74f0600414689@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-msc failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 547s] tmsi |= GSM23003_TMSI_SGSN_MASK; [ 547s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 547s] vlr.c:339:12: note: each undeclared identifier is reported only once for each function it appears in [ 547s] Makefile:442: recipe for target 'vlr.o' failed [ 547s] make[4]: *** [vlr.o] Error 1 [ 547s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/libvlr' [ 547s] Makefile:422: recipe for target 'all-recursive' failed [ 547s] make[3]: *** [all-recursive] Error 1 [ 547s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 547s] Makefile:462: recipe for target 'all-recursive' failed [ 547s] make[2]: *** [all-recursive] Error 1 [ 547s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 547s] Makefile:394: recipe for target 'all' failed [ 547s] make[1]: *** [all] Error 2 [ 547s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 547s] dh_auto_build: make -j1 returned exit code 2 [ 547s] debian/rules:45: recipe for target 'build' failed [ 547s] make: *** [build] Error 2 [ 547s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 547s] [ 547s] armbuild25 failed "build osmo-msc_1.3.1.169.7a2c9c.dsc" at Wed Jun 19 12:20:22 UTC 2019. [ 547s] [ 547s] ### VM INTERACTION START ### [ 550s] [ 499.393185] sysrq: SysRq : Power Off [ 550s] [ 499.422567] reboot: Power down [ 550s] ### VM INTERACTION END ### [ 550s] [ 550s] armbuild25 failed "build osmo-msc_1.3.1.169.7a2c9c.dsc" at Wed Jun 19 12:20:25 UTC 2019. [ 550s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:24:27 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:24:27 +0000 Subject: Change in ...osmo-sgsn[master]: manuals: Add script to regenerate vty/counter documentation Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14534 Change subject: manuals: Add script to regenerate vty/counter documentation ...................................................................... manuals: Add script to regenerate vty/counter documentation Change-Id: I8ee63a3da532285def8de7fe5e90873152adb21e Related: OS#1700 --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/34/14534/1 diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 52283ab..4c6b847 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -1,6 +1,7 @@ EXTRA_DIST = osmosgsn-usermanual.adoc \ osmosgsn-usermanual-docinfo.xml \ osmosgsn-vty-reference.xml \ + regen_doc.sh \ chapters \ vty diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..d758436 --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_SGSN_BRANCH=$COMMIT ./regen_doc.sh osmo-sgsn 4245 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/sgsn_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I8ee63a3da532285def8de7fe5e90873152adb21e Gerrit-Change-Number: 14534 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 19 12:24:27 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:24:27 +0000 Subject: Change in ...osmo-sgsn[master]: manuals: Update vty/counter documentation Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14535 Change subject: manuals: Update vty/counter documentation ...................................................................... manuals: Update vty/counter documentation Change-Id: Id7245eb1011d1f04d5dfa1503a96d100bc98344c Related: OS#1700 --- M doc/manuals/chapters/counters_generated.adoc M doc/manuals/vty/sgsn_vty_reference.xml 2 files changed, 11 insertions(+), 556 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/35/14535/1 diff --git a/doc/manuals/chapters/counters_generated.adoc b/doc/manuals/chapters/counters_generated.adoc index 756a4a5..35a907e 100644 --- a/doc/manuals/chapters/counters_generated.adoc +++ b/doc/manuals/chapters/counters_generated.adoc @@ -1,5 +1,8 @@ + // autogenerated by show asciidoc counters -These counters and their description based on OsmoSGSN UNKNOWN (OsmoSGSN). +These counters and their description based on OsmoSGSN 1.4.0.26-df9b3 (OsmoSGSN). + +=== Rate Counters // generating tables for rate_ctr_group // rate_ctr_group table BSSGP Peer Statistics @@ -93,6 +96,8 @@ | lost:alive | <> | ALIVE ACK missing count | lost:reset | <> | RESET ACK missing count |=== +== Osmo Stat Items + // generating tables for osmo_stat_items NSVC Peer Statistics // osmo_stat_item_group table NSVC Peer Statistics @@ -118,4 +123,7 @@ | Name | Reference | Description |=== +== Osmo Counters +// generating tables for osmo_counters +// there are no ungrouped osmo_counters diff --git a/doc/manuals/vty/sgsn_vty_reference.xml b/doc/manuals/vty/sgsn_vty_reference.xml index e9cd322..a8245fc 100644 --- a/doc/manuals/vty/sgsn_vty_reference.xml +++ b/doc/manuals/vty/sgsn_vty_reference.xml @@ -378,98 +378,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -683,8 +591,7 @@ - - + @@ -989,98 +896,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1429,13 +1244,6 @@ - - - - - - - @@ -1518,8 +1326,7 @@ - - + @@ -1835,342 +1642,6 @@ - - config-cs7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - config-cs7-as - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - config-cs7-asp - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - config-cs7-sccpaddr - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - config-cs7-sccpaddr-gt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - config-sgsn @@ -2502,29 +1973,5 @@ - - - - - - - - - - - - - - - - - - - - - - - - -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id7245eb1011d1f04d5dfa1503a96d100bc98344c Gerrit-Change-Number: 14535 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 19 12:24:36 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:24:36 +0000 Subject: Change in ...libosmocore[master]: vty: Remove trailing whitespace in output from show asciidoc Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14536 Change subject: vty: Remove trailing whitespace in output from show asciidoc ...................................................................... vty: Remove trailing whitespace in output from show asciidoc Change-Id: Ifb3115c7488fbcf082cc9b92abc25cf7c46064e0 --- M src/vty/stats_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/36/14536/1 diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c index c911087..7650567 100644 --- a/src/vty/stats_vty.c +++ b/src/vty/stats_vty.c @@ -442,7 +442,7 @@ char *group_name_prefix = osmo_asciidoc_escape(ctrg->desc->group_name_prefix); vty_out(vty, "// rate_ctr_group table %s%s", group_description, VTY_NEWLINE); - vty_out(vty, ".%s - %s %s", group_name_prefix, group_description, VTY_NEWLINE); + vty_out(vty, ".%s - %s%s", group_name_prefix, group_description, VTY_NEWLINE); vty_out(vty, "[options=\"header\"]%s", VTY_NEWLINE); vty_out(vty, "|===%s", VTY_NEWLINE); vty_out(vty, "| Name | Reference | Description%s", VTY_NEWLINE); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifb3115c7488fbcf082cc9b92abc25cf7c46064e0 Gerrit-Change-Number: 14536 Gerrit-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 19 12:28:04 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:28:04 +0000 Subject: Change in ...libosmocore[master]: vty: Remove trailing whitespace in output from show asciidoc In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/libosmocore/+/14536 ) Change subject: vty: Remove trailing whitespace in output from show asciidoc ...................................................................... vty: Remove trailing whitespace in output from show asciidoc Change-Id: Ifb3115c7488fbcf082cc9b92abc25cf7c46064e0 --- M src/vty/stats_vty.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/36/14536/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifb3115c7488fbcf082cc9b92abc25cf7c46064e0 Gerrit-Change-Number: 14536 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 19 12:29:06 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:29:06 +0000 Subject: Change in ...openbsc[master]: manuals: Update osmonitb counter/vty documentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/14529 ) Change subject: manuals: Update osmonitb counter/vty documentation ...................................................................... Patch Set 1: -Code-Review See https://gerrit.osmocom.org/c/libosmocore/+/14536 -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/14529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Ia598124fbb98b3ec8dee606f9d028bb3cc6ff002 Gerrit-Change-Number: 14529 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 12:29:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:29:50 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:29:50 +0000 Subject: Change in ...openbsc[master]: manuals: Generate vty/counter documentation for osmo-bscnat In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/14530 ) Change subject: manuals: Generate vty/counter documentation for osmo-bscnat ...................................................................... Patch Set 1: See https://gerrit.osmocom.org/c/libosmocore/+/14536 -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/14530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Ice7f15192a57e2c964d07d364732af888972ba0f Gerrit-Change-Number: 14530 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 12:29: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 19 12:32:10 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:32:10 +0000 Subject: Change in ...openbsc[master]: manuals: Generate vty/counter documentation for osmo-bscnat In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/14530 ) Change subject: manuals: Generate vty/counter documentation for osmo-bscnat ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14530/1/manuals/OsmoBSCNAT/chapters/counters_generated.adoc File manuals/OsmoBSCNAT/chapters/counters_generated.adoc: https://gerrit.osmocom.org/#/c/14530/1/manuals/OsmoBSCNAT/chapters/counters_generated.adoc at 79 PS1, Line 79: | conn:other | <> | Conn Other Where the hell does all this whitespace come from? osmo_asciidoc_escape? -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/14530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Ice7f15192a57e2c964d07d364732af888972ba0f Gerrit-Change-Number: 14530 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 12:32: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 Wed Jun 19 12:33:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:33:13 +0000 Subject: Change in ...docker-playground[master]: osmo-mgw: Bind to 0.0.0.0 by default In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14531 ) Change subject: osmo-mgw: Bind to 0.0.0.0 by default ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14531/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14531/1//COMMIT_MSG at 10 PS1, Line 10: don't configure that exact IP address) What's the issue here? We do set that IP addr when we use the docker container right? Please extend description. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic5828957a29d4f317e1ebf4f03b5f5359f6250e8 Gerrit-Change-Number: 14531 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 12:33:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Jun 19 12:33:18 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 19 Jun 2019 12:33:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0a2bab28ee4_35b74f0600417090@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-sgsn failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 696s] bss_ptmsi = bss_ptmsi | GSM23003_TMSI_SGSN_MASK; [ 696s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 696s] gb_proxy.c:246:28: note: each undeclared identifier is reported only once for each function it appears in [ 696s] Makefile:615: recipe for target 'gb_proxy.o' failed [ 696s] make[4]: *** [gb_proxy.o] Error 1 [ 696s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/gprs' [ 696s] Makefile:391: recipe for target 'all-recursive' failed [ 696s] make[3]: *** [all-recursive] Error 1 [ 696s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 696s] Makefile:453: recipe for target 'all-recursive' failed [ 696s] make[2]: *** [all-recursive] Error 1 [ 696s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 696s] Makefile:385: recipe for target 'all' failed [ 696s] make[1]: *** [all] Error 2 [ 696s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 696s] dh_auto_build: make -j1 returned exit code 2 [ 697s] debian/rules:45: recipe for target 'build' failed [ 697s] make: *** [build] Error 2 [ 697s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 697s] [ 697s] obs-arm-5 failed "build osmo-sgsn_1.4.0.26.df9b3.dsc" at Wed Jun 19 12:33:12 UTC 2019. [ 697s] [ 697s] ### VM INTERACTION START ### [ 700s] [ 663.089098] sysrq: SysRq : Power Off [ 700s] [ 663.112385] reboot: Power down [ 702s] ### VM INTERACTION END ### [ 702s] [ 702s] obs-arm-5 failed "build osmo-sgsn_1.4.0.26.df9b3.dsc" at Wed Jun 19 12:33:17 UTC 2019. [ 702s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:34:20 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:34:20 +0000 Subject: Change in ...docker-playground[master]: osmo-nitb-master: Add default config file for osmo-bsc_nat In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14526 ) Change subject: osmo-nitb-master: Add default config file for osmo-bsc_nat ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I44bb395009582f5e1399f277e15203553c2dcf78 Gerrit-Change-Number: 14526 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 12:34: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 19 12:35:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:35:54 +0000 Subject: Change in ...docker-playground[master]: regen_doc.sh: Add optional parameter to customize docker execution In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14527 ) Change subject: regen_doc.sh: Add optional parameter to customize docker execution ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14527/2/scripts/regen_doc.sh File scripts/regen_doc.sh: https://gerrit.osmocom.org/#/c/14527/2/scripts/regen_doc.sh at 28 PS2, Line 28: ${DOCKER_EXTRA} not sure if we need "" here. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I52c3cb2cdcfb143e71ac2c1aa40bb466e41a0f5c Gerrit-Change-Number: 14527 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 12:35:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:35:58 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:35:58 +0000 Subject: Change in ...docker-playground[master]: regen_doc.sh: Add optional parameter to customize docker execution In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14527 ) Change subject: regen_doc.sh: Add optional parameter to customize docker execution ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I52c3cb2cdcfb143e71ac2c1aa40bb466e41a0f5c Gerrit-Change-Number: 14527 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 12:35: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 19 12:37:50 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:37:50 +0000 Subject: Change in ...osmo-mgw[master]: manuals: Add script to regenerate vty/counter documentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14532 ) Change subject: manuals: Add script to regenerate vty/counter documentation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib5e0bd9ec430a6ef3dce6845d7def39720c54637 Gerrit-Change-Number: 14532 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 12:37: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 19 12:38:38 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:38:38 +0000 Subject: Change in ...osmo-bts[master]: manuals: Add counter documentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14524 ) Change subject: manuals: Add counter documentation ...................................................................... Patch Set 2: See https://gerrit.osmocom.org/c/libosmocore/+/14536 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I994ad6aae7f409e0f15ff1d388127e16243b378a Gerrit-Change-Number: 14524 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 12:38: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 Wed Jun 19 12:39:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:39:03 +0000 Subject: Change in ...osmo-mgw[master]: manuals: Update vty/counter documentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14533 ) Change subject: manuals: Update vty/counter documentation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icc86ef7ddd8a30984f91b025157e11fc0df9631e Gerrit-Change-Number: 14533 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 12: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 19 12:39:20 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:39:20 +0000 Subject: Change in ...docker-playground[master]: osmo-sgsn-master: Bind to localhost instead of a specific IP by default Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/14537 Change subject: osmo-sgsn-master: Bind to localhost instead of a specific IP by default ...................................................................... osmo-sgsn-master: Bind to localhost instead of a specific IP by default This does not break ttcn3-sgsn-test since it uses a custom config file with the correct IPs. Change-Id: I2a922139c50d06217e5e6105ea65bf673daa10a8 Related: OS#1700 --- M osmo-sgsn-master/osmo-sgsn.cfg 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/37/14537/1 diff --git a/osmo-sgsn-master/osmo-sgsn.cfg b/osmo-sgsn-master/osmo-sgsn.cfg index 6db56b7..b39a83e 100644 --- a/osmo-sgsn-master/osmo-sgsn.cfg +++ b/osmo-sgsn-master/osmo-sgsn.cfg @@ -7,8 +7,8 @@ bind 0.0.0.0 ! sgsn - gtp local-ip 172.18.0.21 - ggsn 0 remote-ip 172.18.0.201 + gtp local-ip 127.0.0.1 + ggsn 0 remote-ip 127.0.0.2 ggsn 0 gtp-version 1 ns timer tns-block 3 @@ -18,7 +18,7 @@ timer tns-test 30 timer tns-alive 3 timer tns-alive-retries 10 - encapsulation udp local-ip 172.18.0.21 + encapsulation udp local-ip 127.0.0.1 encapsulation udp local-port 23000 encapsulation framerelay-gre enabled 0 bssgp -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2a922139c50d06217e5e6105ea65bf673daa10a8 Gerrit-Change-Number: 14537 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 19 12:39:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:39:28 +0000 Subject: Change in ...osmo-sgsn[master]: manuals: Add script to regenerate vty/counter documentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14534 ) Change subject: manuals: Add script to regenerate vty/counter documentation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I8ee63a3da532285def8de7fe5e90873152adb21e Gerrit-Change-Number: 14534 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 19 Jun 2019 12:39: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 19 12:40:13 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:40:13 +0000 Subject: Change in ...docker-playground[master]: osmo-sgsn-master: Bind to localhost instead of a specific IP by default In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14537 ) Change subject: osmo-sgsn-master: Bind to localhost instead of a specific IP by default ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2a922139c50d06217e5e6105ea65bf673daa10a8 Gerrit-Change-Number: 14537 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Comment-Date: Wed, 19 Jun 2019 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 Wed Jun 19 12:40:20 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:40:20 +0000 Subject: Change in ...docker-playground[master]: osmo-mgw: Bind to 0.0.0.0 by default In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14531 ) Change subject: osmo-mgw: Bind to 0.0.0.0 by default ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic5828957a29d4f317e1ebf4f03b5f5359f6250e8 Gerrit-Change-Number: 14531 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 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 19 12:40:54 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:40:54 +0000 Subject: Change in ...docker-playground[master]: osmo-nitb-master: Add default config file for osmo-bsc_nat In-Reply-To: References: Message-ID: daniel has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/14526 ) Change subject: osmo-nitb-master: Add default config file for osmo-bsc_nat ...................................................................... osmo-nitb-master: Add default config file for osmo-bsc_nat Change-Id: I44bb395009582f5e1399f277e15203553c2dcf78 Related: OS#1700 --- M osmo-nitb-master/Dockerfile A osmo-nitb-master/bscs.config A osmo-nitb-master/osmo-bsc-nat.cfg 3 files changed, 65 insertions(+), 0 deletions(-) Approvals: daniel: Verified pespin: Looks good to me, approved diff --git a/osmo-nitb-master/Dockerfile b/osmo-nitb-master/Dockerfile index c7fb008..3e20ec8 100644 --- a/osmo-nitb-master/Dockerfile +++ b/osmo-nitb-master/Dockerfile @@ -42,6 +42,8 @@ VOLUME /data COPY openbsc.cfg /data/openbsc.cfg +COPY osmo-bsc-nat.cfg /data/osmo-bsc-nat.cfg +COPY bscs.config /data/bscs.config WORKDIR /data CMD ["/usr/local/bin/osmo-nitb"] diff --git a/osmo-nitb-master/bscs.config b/osmo-nitb-master/bscs.config new file mode 100644 index 0000000..16cfa2b --- /dev/null +++ b/osmo-nitb-master/bscs.config @@ -0,0 +1,22 @@ +nat + bsc 0 + token BSC0 + location_area_code 1 + description bsc + max-endpoints 32 + paging forbidden 0 + osmux on + bsc 1 + token BSC1 + location_area_code 2 + description bsc + max-endpoints 32 + paging forbidden 0 + osmux on + bsc 2 + token BSC2 + location_area_code 3 + description bsc + max-endpoints 32 + paging forbidden 0 + osmux on diff --git a/osmo-nitb-master/osmo-bsc-nat.cfg b/osmo-nitb-master/osmo-bsc-nat.cfg new file mode 100644 index 0000000..0179a94 --- /dev/null +++ b/osmo-nitb-master/osmo-bsc-nat.cfg @@ -0,0 +1,41 @@ +! +! OsmoBSCNAT (0.12.0.266-2daa9) configuration saved from vty +!! +! +log file /data/osmo-bsc_nat.log + logging filter all 1 + logging color 0 + logging print category 1 + logging timestamp 1 + logging print extended-timestamp 1 + logging level force-all debug +! +line vty + no login + bind 0.0.0.0 +! +mgcp + bind ip 0.0.0.0 + bind port 2427 + rtp bts-base 4000 + rtp net-base 16000 + rtp ip-dscp 0 + no rtcp-omit + sdp audio-payload number 126 + sdp audio-payload name AMR/8000 + loop 0 + number endpoints 32 + call-agent ip 127.0.0.1 + rtp transcoder-base 0 + transcoder-remote-base 4000 +nat + msc ip 127.0.0.1 + msc port 5100 + token foo + timeout auth 2 + timeout ping 20 + timeout pong 5 + ip-dscp 0 + bscs-config-file bscs.config + access-list msceven imsi-allow ^[0-9]*[24680]$ + access-list mscodd imsi-allow ^[0-9]*[13579]$ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I44bb395009582f5e1399f277e15203553c2dcf78 Gerrit-Change-Number: 14526 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:41:04 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:41:04 +0000 Subject: Change in ...osmo-sgsn[master]: manuals: Update vty/counter documentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14535 ) Change subject: manuals: Update vty/counter documentation ...................................................................... Patch Set 1: Quick look: may be it's built without Iu support? or why are all those commands dropped? -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Id7245eb1011d1f04d5dfa1503a96d100bc98344c Gerrit-Change-Number: 14535 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-CC: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 12:41:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:41:32 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:41:32 +0000 Subject: Change in ...openbsc[master]: manuals: Update osmonitb counter/vty documentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/14529 ) Change subject: manuals: Update osmonitb counter/vty documentation ...................................................................... Patch Set 1: See https://gerrit.osmocom.org/c/libosmocore/+/14536 -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/14529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Ia598124fbb98b3ec8dee606f9d028bb3cc6ff002 Gerrit-Change-Number: 14529 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 12:41: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 19 12:41:43 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:41:43 +0000 Subject: Change in ...osmo-sgsn[master]: manuals: Add script to regenerate vty/counter documentation In-Reply-To: References: Message-ID: daniel has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/14534 ) Change subject: manuals: Add script to regenerate vty/counter documentation ...................................................................... manuals: Add script to regenerate vty/counter documentation Change-Id: I8ee63a3da532285def8de7fe5e90873152adb21e Related: OS#1700 --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 52283ab..4c6b847 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -1,6 +1,7 @@ EXTRA_DIST = osmosgsn-usermanual.adoc \ osmosgsn-usermanual-docinfo.xml \ osmosgsn-vty-reference.xml \ + regen_doc.sh \ chapters \ vty diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..d758436 --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_SGSN_BRANCH=$COMMIT ./regen_doc.sh osmo-sgsn 4245 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/sgsn_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/14534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I8ee63a3da532285def8de7fe5e90873152adb21e Gerrit-Change-Number: 14534 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:41:48 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:41:48 +0000 Subject: Change in ...osmo-ggsn[master]: manuals: Add script to regenerate vty/counter documentation In-Reply-To: References: Message-ID: daniel has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14517 ) Change subject: manuals: Add script to regenerate vty/counter documentation ...................................................................... manuals: Add script to regenerate vty/counter documentation Related: OS#1700 Change-Id: I2f51ff19d2a1d7bcfdf569309a79a6e91a848302 --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 0c9e2e1..f9f47fb 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -1,6 +1,7 @@ EXTRA_DIST = osmoggsn-usermanual.adoc \ osmoggsn-usermanual-docinfo.xml \ osmoggsn-vty-reference.xml \ + regen_doc.sh \ chapters \ vty diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..f213f71 --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_GGSN_BRANCH=$COMMIT ./regen_doc.sh osmo-ggsn 4260 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/ggsn_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2f51ff19d2a1d7bcfdf569309a79a6e91a848302 Gerrit-Change-Number: 14517 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:41:57 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:41:57 +0000 Subject: Change in ...osmo-mgw[master]: manuals: Add script to regenerate vty/counter documentation In-Reply-To: References: Message-ID: daniel has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14532 ) Change subject: manuals: Add script to regenerate vty/counter documentation ...................................................................... manuals: Add script to regenerate vty/counter documentation Change-Id: Ib5e0bd9ec430a6ef3dce6845d7def39720c54637 Depends: Ic5828957a29d4f317e1ebf4f03b5f5359f6250e8 (docker-playground.git) Related: OS#1700 --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 0faebf3..a82f95d 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -1,6 +1,7 @@ EXTRA_DIST = osmomgw-usermanual.adoc \ osmomgw-usermanual-docinfo.xml \ osmomgw-vty-reference.xml \ + regen_doc.sh \ chapters \ vty diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..210d65c --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_MGW_BRANCH=$COMMIT ./regen_doc.sh osmo-mgw 4243 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/mgw_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib5e0bd9ec430a6ef3dce6845d7def39720c54637 Gerrit-Change-Number: 14532 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:41:57 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:41:57 +0000 Subject: Change in ...osmo-mgw[master]: manuals: Update vty/counter documentation In-Reply-To: References: Message-ID: daniel has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14533 ) Change subject: manuals: Update vty/counter documentation ...................................................................... manuals: Update vty/counter documentation Change-Id: Icc86ef7ddd8a30984f91b025157e11fc0df9631e Depends: OS#1700 --- M doc/manuals/chapters/counters_generated.adoc M doc/manuals/vty/mgw_vty_reference.xml 2 files changed, 111 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/manuals/chapters/counters_generated.adoc b/doc/manuals/chapters/counters_generated.adoc index 20a4dec..22c321d 100644 --- a/doc/manuals/chapters/counters_generated.adoc +++ b/doc/manuals/chapters/counters_generated.adoc @@ -1,10 +1,79 @@ // autogenerated by show asciidoc counters -These counters and their description based on OsmoMGW 1.3.0.34-9cd52 (OsmoMGW). +These counters and their description based on OsmoMGW 1.5.0.60-f638 (OsmoMGW). === Rate Counters // generating tables for rate_ctr_group +// rate_ctr_group table aggregated statistics for all rtp connections +.all_rtp_conn - aggregated statistics for all rtp connections +[options="header"] +|=== +| Name | Reference | Description +| all_rtp:err_tstmp_in | <> | Total inbound rtp-stream timestamp errors. +| all_rtp:err_tstmp_out | <> | Total outbound rtp-stream timestamp errors. +| all_rtp:packets_rx | <> | Total inbound rtp packets. +| all_rtp:octets_rx | <> | Total inbound rtp octets. +| all_rtp:packets_tx | <> | Total outbound rtp packets. +| all_rtp:octets_tx | <> | Total outbound rtp octets. +| all_rtp:dropped | <> | Total dropped rtp packets. +| all_rtp:num_closed_conns | <> | Total number of rtp connections closed. +|=== +// rate_ctr_group table dlcx statistics +.dlcx - dlcx statistics +[options="header"] +|=== +| Name | Reference | Description +| dlcx:success | <> | DLCX command processed successfully. +| dlcx:wildcard | <> | wildcard names in DLCX commands are unsupported. +| dlcx:no_conn | <> | endpoint specified in DLCX command has no active connections. +| dlcx:callid | <> | CallId specified in DLCX command mismatches endpoint's CallId . +| dlcx:connid | <> | connection ID specified in DLCX command does not exist on endpoint. +| dlcx:unhandled_param | <> | unhandled parameter in DLCX command. +| dlcx:rejected | <> | connection deletion rejected by policy. +| dlcx:deferred | <> | connection deletion deferred by policy. +|=== +// rate_ctr_group table mdcx statistics +.mdcx - mdcx statistics +[options="header"] +|=== +| Name | Reference | Description +| mdcx:success | <> | MDCX command processed successfully. +| mdcx:wildcard | <> | wildcard endpoint names in MDCX commands are unsupported. +| mdcx:no_conn | <> | endpoint specified in MDCX command has no active connections. +| mdcx:callid | <> | invalid CallId specified in MDCX command. +| mdcx:connid | <> | invalid connection ID specified in MDCX command. +| crcx:unhandled_param | <> | unhandled parameter in MDCX command. +| mdcx:no_connid | <> | no connection ID specified in MDCX command. +| mdcx:conn_not_found | <> | connection specified in MDCX command does not exist. +| mdcx:invalid_mode | <> | invalid connection mode in MDCX command. +| mdcx:conn_opt | <> | connection options invalid. +| mdcx:no_remote_conn_desc | <> | no opposite end specified for connection. +| mdcx:start_rtp_failure | <> | failure to start RTP processing. +| mdcx:conn_rejected | <> | connection rejected by policy. +| mdcx:conn_deferred | <> | connection deferred by policy. +|=== +// rate_ctr_group table crxc statistics +.crcx - crxc statistics +[options="header"] +|=== +| Name | Reference | Description +| crcx:success | <> | CRCX command processed successfully. +| crcx:bad_action | <> | bad action in CRCX command. +| crcx:unhandled_param | <> | unhandled parameter in CRCX command. +| crcx:missing_callid | <> | missing CallId in CRCX command. +| crcx:invalid_mode | <> | invalid connection mode in CRCX command. +| crcx:limit_exceeded | <> | limit of concurrent connections was reached. +| crcx:unkown_callid | <> | unknown CallId in CRCX command. +| crcx:alloc_conn_fail | <> | connection allocation failure. +| crcx:no_remote_conn_desc | <> | no opposite end specified for connection. +| crcx:start_rtp_failure | <> | failure to start RTP processing. +| crcx:conn_rejected | <> | connection rejected by policy. +| crcx:no_osmux | <> | no osmux offered by peer. +| crcx:conn_opt | <> | connection options invalid. +| crcx:codec_nego | <> | codec negotiation failure. +| crcx:bind_port | <> | port bind failure. +|=== == Osmo Stat Items // generating tables for osmo_stat_items diff --git a/doc/manuals/vty/mgw_vty_reference.xml b/doc/manuals/vty/mgw_vty_reference.xml index 834db04..1770dab 100644 --- a/doc/manuals/vty/mgw_vty_reference.xml +++ b/doc/manuals/vty/mgw_vty_reference.xml @@ -187,12 +187,11 @@ - + - @@ -211,6 +210,7 @@ + @@ -522,12 +522,11 @@ - + - @@ -546,6 +545,7 @@ + @@ -561,8 +561,7 @@ - - + @@ -1040,12 +1039,11 @@ - + - @@ -1064,6 +1062,7 @@ + @@ -1186,10 +1185,11 @@ - + + @@ -1397,6 +1397,19 @@ + + + + + + + + + + + + + @@ -1496,6 +1509,12 @@ + + + + + + @@ -1579,6 +1598,19 @@ + + + + + + + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icc86ef7ddd8a30984f91b025157e11fc0df9631e Gerrit-Change-Number: 14533 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:42:34 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:42:34 +0000 Subject: Change in ...openbsc[master]: manuals: Add script to regenerate counter/vty documentation In-Reply-To: References: Message-ID: daniel has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/openbsc/+/14528 ) Change subject: manuals: Add script to regenerate counter/vty documentation ...................................................................... manuals: Add script to regenerate counter/vty documentation Related: OS#1700 Change-Id: I3e6e6603300d2d7f6221720fa7ce35b3a6aa0b7a --- M openbsc/doc/Makefile.am A openbsc/doc/regen_doc.sh 2 files changed, 23 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/openbsc/doc/Makefile.am b/openbsc/doc/Makefile.am index 5a23107..ac3c914 100644 --- a/openbsc/doc/Makefile.am +++ b/openbsc/doc/Makefile.am @@ -1,3 +1,5 @@ SUBDIRS = \ examples \ $(NULL) + +EXTRA_DIST = regen_doc.sh diff --git a/openbsc/doc/regen_doc.sh b/openbsc/doc/regen_doc.sh new file mode 100755 index 0000000..5552dec --- /dev/null +++ b/openbsc/doc/regen_doc.sh @@ -0,0 +1,21 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT")/../../manuals + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_NITB_BRANCH=$COMMIT ./regen_doc.sh osmo-nitb 4242 \ + "$MANUAL_DIR/OsmoNITB/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/OsmoNITB/vty/nitb_vty_reference.xml" + +#OSMO_BSCNAT_BRANCH=$COMMIT ./regen_doc.sh osmo-bscnat 4244 \ +# "$MANUAL_DIR/OsmoBSCNAT/chapters/counters_generated.adoc" \ +# "$MANUAL_DIR/OsmoBSCNAT/vty/nat_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/14528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: I3e6e6603300d2d7f6221720fa7ce35b3a6aa0b7a Gerrit-Change-Number: 14528 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:43:03 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:43:03 +0000 Subject: Change in ...osmo-pcu[master]: manuals: Add script to regenerate vty/counter documentation In-Reply-To: References: Message-ID: daniel has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14520 ) Change subject: manuals: Add script to regenerate vty/counter documentation ...................................................................... manuals: Add script to regenerate vty/counter documentation Change-Id: Iff570e85828c87d69a7a49a00d9459094077ca30 Related: OS#1700 --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 96675ec..a29b48f 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -3,6 +3,7 @@ osmopcu-usermanual.adoc \ osmopcu-usermanual-docinfo.xml \ osmopcu-vty-reference.xml \ + regen_doc.sh \ chapters \ gb \ vty diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..aae5566 --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_PCU_BRANCH=$COMMIT ./regen_doc.sh osmo-pcu 4240 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/osmo-pcu_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iff570e85828c87d69a7a49a00d9459094077ca30 Gerrit-Change-Number: 14520 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:43:04 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:43:04 +0000 Subject: Change in ...osmo-pcu[master]: manuals: Update VTY documentation In-Reply-To: References: Message-ID: daniel has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14521 ) Change subject: manuals: Update VTY documentation ...................................................................... manuals: Update VTY documentation Related: OS#1700 Change-Id: I4a5da9b2b1caa625754383b0f9a180e7503bc60e --- M doc/manuals/vty/osmo-pcu_vty_reference.xml 1 file changed, 1,781 insertions(+), 941 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/vty/osmo-pcu_vty_reference.xml b/doc/manuals/vty/osmo-pcu_vty_reference.xml index bf1532d..235e307 100644 --- a/doc/manuals/vty/osmo-pcu_vty_reference.xml +++ b/doc/manuals/vty/osmo-pcu_vty_reference.xml @@ -1,941 +1,1781 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + Common Commands + These commands are available on all VTY nodes. They are listed here only once, to unclutter the VTY reference. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + view + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + enable + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-log + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-stats + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-line + + + + + + + + + + + + + + + + + + + + + config-ns + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-pcu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4a5da9b2b1caa625754383b0f9a180e7503bc60e Gerrit-Change-Number: 14521 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:43:18 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:43:18 +0000 Subject: Change in ...libosmo-sccp[master]: manuals: Add script to regenerate vty/counter documentation In-Reply-To: References: Message-ID: daniel has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/14518 ) Change subject: manuals: Add script to regenerate vty/counter documentation ...................................................................... manuals: Add script to regenerate vty/counter documentation Related: OS#1700 Change-Id: I9978d04fec68d6a8e17caa3c88c1020cf3a348ac --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 68c2d86..6707f07 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -1,6 +1,7 @@ EXTRA_DIST = osmostp-usermanual.adoc \ osmostp-usermanual-docinfo.xml \ osmostp-vty-reference.xml \ + regen_doc.sh \ chapters \ vty diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..6e7ce30 --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_STP_BRANCH=$COMMIT ./regen_doc.sh osmo-stp 4239 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/osmo-stp_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/14518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I9978d04fec68d6a8e17caa3c88c1020cf3a348ac Gerrit-Change-Number: 14518 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:43:19 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:43:19 +0000 Subject: Change in ...libosmo-sccp[master]: manuals: Update vty documentation In-Reply-To: References: Message-ID: daniel has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/14519 ) Change subject: manuals: Update vty documentation ...................................................................... manuals: Update vty documentation Related: OS#1700 Change-Id: I2061d7883f5457ec8c53358dc6089daaf60c67c3 --- M doc/manuals/vty/osmo-stp_vty_reference.xml 1 file changed, 246 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/manuals/vty/osmo-stp_vty_reference.xml b/doc/manuals/vty/osmo-stp_vty_reference.xml index 308c369..9a26316 100644 --- a/doc/manuals/vty/osmo-stp_vty_reference.xml +++ b/doc/manuals/vty/osmo-stp_vty_reference.xml @@ -187,7 +187,7 @@ - + @@ -209,6 +209,7 @@ + @@ -261,6 +262,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -390,6 +420,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + enable @@ -558,7 +625,7 @@ - + @@ -580,6 +647,7 @@ + @@ -632,6 +700,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -761,6 +858,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config @@ -955,6 +1089,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1037,7 +1208,7 @@ - + @@ -1059,6 +1230,7 @@ + @@ -1099,6 +1271,75 @@ + + config-stats + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config-line @@ -1112,10 +1353,11 @@ - + + @@ -1438,7 +1680,6 @@ - -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/14519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I2061d7883f5457ec8c53358dc6089daaf60c67c3 Gerrit-Change-Number: 14519 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:44:18 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:44:18 +0000 Subject: Change in ...osmo-bts[master]: manuals: Add script to regenerate counter/vty documentation In-Reply-To: References: Message-ID: daniel has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14522 ) Change subject: manuals: Add script to regenerate counter/vty documentation ...................................................................... manuals: Add script to regenerate counter/vty documentation This will generate the VTY/counter documentation for osmo-bts-virtual so it will be missing documentation for device-specific commands/counters. Change-Id: Idebb099b69924d6212db119f7a2f2861d4150d7e Related: OS#1700 --- M doc/manuals/Makefile.am A doc/manuals/regen_doc.sh 2 files changed, 18 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index 1d8125f..e8018d5 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -6,6 +6,7 @@ osmobts-vty-reference.xml \ rtp-amr.adoc \ rtp-amr-docinfo.xml \ + regen_doc.sh \ abis \ chapters \ vty diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh new file mode 100755 index 0000000..6ff5091 --- /dev/null +++ b/doc/manuals/regen_doc.sh @@ -0,0 +1,17 @@ +#!/bin/sh -x + +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" + exit 1 +fi + +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") + +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} + +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 + +OSMO_BTS_BRANCH=$COMMIT ./regen_doc.sh osmo-bts 4241 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/bts_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idebb099b69924d6212db119f7a2f2861d4150d7e Gerrit-Change-Number: 14522 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:47:53 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:47:53 +0000 Subject: Change in ...docker-playground[master]: regen_doc.sh: Add optional parameter to customize docker execution In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14527 ) Change subject: regen_doc.sh: Add optional parameter to customize docker execution ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14527/2/scripts/regen_doc.sh File scripts/regen_doc.sh: https://gerrit.osmocom.org/#/c/14527/2/scripts/regen_doc.sh at 28 PS2, Line 28: ${DOCKER_EXTRA} > not sure if we need "" here. I don't think so. I'm using it with DOCKER_EXTRA="osmo-bsc_nat -c /data/osmo-bsc_nat.cfg" and in docker run these should (or at least can) be independent arguments. ttcn3-bscnat-test calls docker run like this as well. docker run --rm \ --network $NET_NAME --ip 172.18.15.20 \ -v $VOL_BASE_DIR/bscnat:/data \ --name ${BUILD_TAG}-bscnat -d \ $REPO_USER/osmo-nitb-$IMAGE_SUFFIX osmo-bsc_nat -c /data/osmo-bsc-nat.cfg -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I52c3cb2cdcfb143e71ac2c1aa40bb466e41a0f5c Gerrit-Change-Number: 14527 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 12:47: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 19 12:48:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:48:18 +0000 Subject: Change in ...docker-playground[master]: regen_doc.sh: Add optional parameter to customize docker execution In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14527 ) Change subject: regen_doc.sh: Add optional parameter to customize docker execution ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I52c3cb2cdcfb143e71ac2c1aa40bb466e41a0f5c Gerrit-Change-Number: 14527 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 12:48: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 19 12:54:25 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:54:25 +0000 Subject: Change in ...osmo-bts[master]: manuals: Add counter documentation In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14524 ) Change subject: manuals: Add counter documentation ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14524/1/doc/manuals/chapters/counters_generated.adoc File doc/manuals/chapters/counters_generated.adoc: https://gerrit.osmocom.org/#/c/14524/1/doc/manuals/chapters/counters_generated.adoc at 9 PS1, Line 9: .e1inp - E1 Input subsystem > Is there an extra whitespace at the end of the line? probably something we want to fix in code. Hmm, I do have git configured to remove trailing whitespace at the end of a line, but it seems that only happens for diffs/updated files and not when adding a new one. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I994ad6aae7f409e0f15ff1d388127e16243b378a Gerrit-Change-Number: 14524 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 12:54:25 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 12:55:41 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:55:41 +0000 Subject: Change in ...libosmocore[master]: vty: Remove trailing whitespace in output from show asciidoc In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14536 ) Change subject: vty: Remove trailing whitespace in output from show asciidoc ...................................................................... Patch Set 2: Code-Review+2 Nice catch -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifb3115c7488fbcf082cc9b92abc25cf7c46064e0 Gerrit-Change-Number: 14536 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Comment-Date: Wed, 19 Jun 2019 12:55: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 19 12:55:53 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 12:55:53 +0000 Subject: Change in ...libosmocore[master]: vty: Simplify char escaping in asciidoc output Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14538 Change subject: vty: Simplify char escaping in asciidoc output ...................................................................... vty: Simplify char escaping in asciidoc output Change-Id: I7df6858bb98abffc1d5bf420f991ae5854b24638 --- M src/vty/command.c 1 file changed, 3 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/38/14538/1 diff --git a/src/vty/command.c b/src/vty/command.c index 89a2bc1..d8e7f7f 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -538,23 +538,18 @@ out_ptr = out; -#define ADD(out, str) \ - for (j = 0; j < strlen(str); ++j) \ - *(out++) = str[j]; - for (i = 0; i < _strlen; ++i) { switch (inp[i]) { case '|': - ADD(out_ptr, "\\|"); - break; + /* Prepend escape character "\": */ + *(out_ptr++) = '\\'; + /* fall through */ default: *(out_ptr++) = inp[i]; break; } } -#undef ADD - out_ptr[0] = '\0'; return out; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7df6858bb98abffc1d5bf420f991ae5854b24638 Gerrit-Change-Number: 14538 Gerrit-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 19 12:56:54 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 12:56:54 +0000 Subject: Change in ...docker-playground[master]: regen_doc.sh: Add optional parameter to customize docker execution In-Reply-To: References: Message-ID: daniel has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/14527 ) Change subject: regen_doc.sh: Add optional parameter to customize docker execution ...................................................................... regen_doc.sh: Add optional parameter to customize docker execution The osmo-nitb-master image can run not only osmo-nitb, but also osmo-bsc_nat. In that case we can't use the default command from Dockerfile, but should provide our own. This argument makes it possible to do so. Change-Id: I52c3cb2cdcfb143e71ac2c1aa40bb466e41a0f5c Related: OS#1700 --- M scripts/regen_doc.sh 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: daniel: Verified pespin: Looks good to me, approved diff --git a/scripts/regen_doc.sh b/scripts/regen_doc.sh index 7c7529f..5327ae8 100755 --- a/scripts/regen_doc.sh +++ b/scripts/regen_doc.sh @@ -6,6 +6,7 @@ PORT="$2" COUNTERFILE="$3" VTYFILE="$4" +DOCKER_EXTRA="$5" IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" if [ -z "$OSMO_INTERACT_VTY" ]; then @@ -23,7 +24,8 @@ docker run --rm --network ${NET_NAME} --ip ${IP_ADDR} \ --name ${BUILD_TAG}-${CONTAINERNAME} -d \ - ${REPO_USER}/${CONTAINERNAME} + ${REPO_USER}/${CONTAINERNAME} \ + ${DOCKER_EXTRA} } -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I52c3cb2cdcfb143e71ac2c1aa40bb466e41a0f5c Gerrit-Change-Number: 14527 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 13:02:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 13:02:22 +0000 Subject: Change in ...openbsc[master]: manuals: Generate vty/counter documentation for osmo-bscnat In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/14530 ) Change subject: manuals: Generate vty/counter documentation for osmo-bscnat ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/14530/1/manuals/OsmoBSCNAT/chapters/counters_generated.adoc File manuals/OsmoBSCNAT/chapters/counters_generated.adoc: https://gerrit.osmocom.org/#/c/14530/1/manuals/OsmoBSCNAT/chapters/counters_generated.adoc at 79 PS1, Line 79: | conn:other | <> | Conn Other > Where the hell does all this whitespace come from? osmo_asciidoc_escape? Found where the whitespace come, providing fix for it. But this section is printed 3 times, that's wrong right? -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/14530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Ice7f15192a57e2c964d07d364732af888972ba0f Gerrit-Change-Number: 14530 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 13:02:22 +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 Wed Jun 19 13:03:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 13:03:28 +0000 Subject: Change in ...openbsc[master]: bsc-nat: Remove whitespace at the end of CTR descriptions Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/openbsc/+/14539 Change subject: bsc-nat: Remove whitespace at the end of CTR descriptions ...................................................................... bsc-nat: Remove whitespace at the end of CTR descriptions Change-Id: Ia7ff352de1fb1997066f72e84a7d517c7642853a --- M openbsc/src/osmo-bsc_nat/bsc_nat_utils.c 1 file changed, 13 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/39/14539/1 diff --git a/openbsc/src/osmo-bsc_nat/bsc_nat_utils.c b/openbsc/src/osmo-bsc_nat/bsc_nat_utils.c index 223ef34..c4fe0d3 100644 --- a/openbsc/src/osmo-bsc_nat/bsc_nat_utils.c +++ b/openbsc/src/osmo-bsc_nat/bsc_nat_utils.c @@ -46,19 +46,19 @@ #include static const struct rate_ctr_desc bsc_cfg_ctr_description[] = { - [BCFG_CTR_SCCP_CONN] = { "sccp:conn", "SCCP Connections "}, - [BCFG_CTR_SCCP_CALLS] = { "sccp:calls", "SCCP Assignment Commands "}, - [BCFG_CTR_NET_RECONN] = { "net:reconnects", "Network reconnects "}, - [BCFG_CTR_DROPPED_SCCP] = { "dropped:sccp", "Dropped SCCP connections."}, - [BCFG_CTR_DROPPED_CALLS] = { "dropped:calls", "Dropped active calls. "}, - [BCFG_CTR_REJECTED_CR] = { "rejected:cr", "Rejected CR due filter "}, - [BCFG_CTR_REJECTED_MSG] = { "rejected:msg", "Rejected MSG due filter "}, - [BCFG_CTR_ILL_PACKET] = { "rejected:ill", "Rejected due parse error "}, - [BCFG_CTR_CON_TYPE_LU] = { "conn:lu", "Conn Location Update "}, - [BCFG_CTR_CON_CMSERV_RQ] = { "conn:rq", "Conn CM Service Req "}, - [BCFG_CTR_CON_PAG_RESP] = { "conn:pag", "Conn Paging Response "}, - [BCFG_CTR_CON_SSA] = { "conn:ssa", "Conn USSD "}, - [BCFG_CTR_CON_OTHER] = { "conn:other", "Conn Other "}, + [BCFG_CTR_SCCP_CONN] = { "sccp:conn", "SCCP Connections" }, + [BCFG_CTR_SCCP_CALLS] = { "sccp:calls", "SCCP Assignment Commands"}, + [BCFG_CTR_NET_RECONN] = { "net:reconnects", "Network reconnects" }, + [BCFG_CTR_DROPPED_SCCP] = { "dropped:sccp", "Dropped SCCP connections"}, + [BCFG_CTR_DROPPED_CALLS] = { "dropped:calls", "Dropped active calls." }, + [BCFG_CTR_REJECTED_CR] = { "rejected:cr", "Rejected CR due filter" }, + [BCFG_CTR_REJECTED_MSG] = { "rejected:msg", "Rejected MSG due filter" }, + [BCFG_CTR_ILL_PACKET] = { "rejected:ill", "Rejected due parse error"}, + [BCFG_CTR_CON_TYPE_LU] = { "conn:lu", "Conn Location Update" }, + [BCFG_CTR_CON_CMSERV_RQ] = { "conn:rq", "Conn CM Service Req" }, + [BCFG_CTR_CON_PAG_RESP] = { "conn:pag", "Conn Paging Response" }, + [BCFG_CTR_CON_SSA] = { "conn:ssa", "Conn USSD" }, + [BCFG_CTR_CON_OTHER] = { "conn:other", "Conn Other" }, }; static const struct rate_ctr_group_desc bsc_cfg_ctrg_desc = { -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/14539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Ia7ff352de1fb1997066f72e84a7d517c7642853a Gerrit-Change-Number: 14539 Gerrit-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 19 13:11:58 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 Jun 2019 13:11:58 +0000 Subject: Change in ...osmo-msc[master]: gsm_04_11_gsup.c: fix broken reference counting for vsub Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14540 Change subject: gsm_04_11_gsup.c: fix broken reference counting for vsub ...................................................................... gsm_04_11_gsup.c: fix broken reference counting for vsub This change is similar to I5540556b1c75f6873883e46b78656f31fc1ef186. In gsm411_gsup_rx() we do call vlr_subscr_find_by_imsi(), which increases subscriber's reference count by one using the function name as the token. However, we never release this token, so the reference count grows on every received GSUP FORWARD-SM message. Change-Id: Ic729beb5f94cbbfbb251bc9ab66a5e7b799286c0 --- M src/libmsc/gsm_04_11_gsup.c 1 file changed, 11 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/40/14540/1 diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index 331092a..2abfc92 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -287,8 +287,10 @@ int gsm411_gsup_rx(struct gsup_client_mux *gcm, void *data, const struct osmo_gsup_message *gsup_msg) { struct gsm_network *net = (struct gsm_network *) data; - struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(net->vlr, gsup_msg->imsi, __func__); + struct vlr_subscr *vsub; + int rc; + vsub = vlr_subscr_find_by_imsi(net->vlr, gsup_msg->imsi, __func__); if (!vsub) { LOGP(DLSMS, LOGL_ERROR, "Rx %s for unknown subscriber, rejecting\n", osmo_gsup_message_type_name(gsup_msg->message_type)); @@ -303,16 +305,21 @@ case OSMO_GSUP_MSGT_READY_FOR_SM_ERROR: case OSMO_GSUP_MSGT_READY_FOR_SM_RESULT: DEBUGP(DMSC, "Routed to GSM 04.11 MO handler\n"); - return gsm411_gsup_mo_handler(net, vsub, gsup_msg); + rc = gsm411_gsup_mo_handler(net, vsub, gsup_msg); + break; /* GSM 04.11 code implementing MT SMS */ case OSMO_GSUP_MSGT_MT_FORWARD_SM_REQUEST: DEBUGP(DMSC, "Routed to GSM 04.11 MT handler\n"); - return gsm411_gsup_mt_handler(net, vsub, gsup_msg); + rc = gsm411_gsup_mt_handler(net, vsub, gsup_msg); + break; default: LOGP(DMM, LOGL_ERROR, "No handler found for %s, dropping message...\n", osmo_gsup_message_type_name(gsup_msg->message_type)); - return -GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL; + rc = -GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL; } + + vlr_subscr_put(vsub, __func__); + return rc; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ic729beb5f94cbbfbb251bc9ab66a5e7b799286c0 Gerrit-Change-Number: 14540 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 19 13:11:58 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 Jun 2019 13:11:58 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_04_11.c: do not abuse LOG_TRANS() in gsm411_alloc_mt_trans() Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14541 Change subject: libmsc/gsm_04_11.c: do not abuse LOG_TRANS() in gsm411_alloc_mt_trans() ...................................................................... libmsc/gsm_04_11.c: do not abuse LOG_TRANS() in gsm411_alloc_mt_trans() This change is similar to I6b68a0f0b32eb126e0f7e914a314130254d28467. If we 100% sure that trans == NULL, it makes more sense to use generic LOGP(DLSMS, LOGL_*, ...) call, so the logs can reflect more information than such dummy prefix: trans(NULL NULL callref-0x0 tid-0) ... Change-Id: I3c1e633aee5dd7cd0d367404a3def9cffe0b3baa --- M src/libmsc/gsm_04_11.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/41/14541/1 diff --git a/src/libmsc/gsm_04_11.c b/src/libmsc/gsm_04_11.c index 3a3ec8c..3a8b93d 100644 --- a/src/libmsc/gsm_04_11.c +++ b/src/libmsc/gsm_04_11.c @@ -1097,13 +1097,13 @@ struct vlr_subscr *vsub) { struct msc_a *msc_a; - struct gsm_trans *trans = NULL; + struct gsm_trans *trans; int tid; /* Generate a new transaction ID */ tid = trans_assign_trans_id(net, vsub, TRANS_SMS); if (tid == -1) { - LOG_TRANS(trans, LOGL_ERROR, "No available transaction IDs\n"); + LOG(DLSMS, LOGL_ERROR, "No available transaction IDs\n"); return NULL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3c1e633aee5dd7cd0d367404a3def9cffe0b3baa Gerrit-Change-Number: 14541 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 19 14:00:38 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 Jun 2019 14:00:38 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_04_11.c: do not abuse LOG_TRANS() in gsm411_alloc_mt_trans() 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/+/14541 to look at the new patch set (#2). Change subject: libmsc/gsm_04_11.c: do not abuse LOG_TRANS() in gsm411_alloc_mt_trans() ...................................................................... libmsc/gsm_04_11.c: do not abuse LOG_TRANS() in gsm411_alloc_mt_trans() This change is similar to I6b68a0f0b32eb126e0f7e914a314130254d28467. If we 100% sure that trans == NULL, it makes more sense to use generic LOGP(DLSMS, LOGL_*, ...) call, so the logs can reflect more information than such dummy prefix: trans(NULL NULL callref-0x0 tid-0) ... Change-Id: I3c1e633aee5dd7cd0d367404a3def9cffe0b3baa --- M src/libmsc/gsm_04_11.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/41/14541/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3c1e633aee5dd7cd0d367404a3def9cffe0b3baa Gerrit-Change-Number: 14541 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 19 14:22:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Jun 2019 14:22:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Put build / run scripts under Apache 2.0 license Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14542 Change subject: Put build / run scripts under Apache 2.0 license ...................................................................... Put build / run scripts under Apache 2.0 license The license of the build or execution scripts doesn't affect the license of the actual program, and we want to explicitly state that these scripts may be used in any kind of context. Change-Id: I553925cd88b05903aab52ae1afb093aa9ab9d035 --- M Makefile M compare-results.sh M deps/Makefile M gen_links.sh.inc M log_merge.sh M regen-makefile.sh M start-testsuite.sh M update_expected_results_from_jenkins.sh 8 files changed, 119 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/42/14542/1 diff --git a/Makefile b/Makefile index b8778af..2c8e951 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,18 @@ +# Copyright 2017 Harald Welte +# Copyright 2018 sysmocom - s.f.m.c. GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + SUBDIRS=bsc bsc-nat bts ggsn_tests hlr mgw msc pcu sccp selftest sgsn sip sysinfo NPROC=$(shell nproc 2>/dev/null) diff --git a/compare-results.sh b/compare-results.sh index cce3a8d..6037174 100755 --- a/compare-results.sh +++ b/compare-results.sh @@ -2,6 +2,20 @@ expected_file="$1" results_file="$2" +# Copyright 2018 sysmocom - s.f.m.c. GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + usage() { echo " Usage: diff --git a/deps/Makefile b/deps/Makefile index 23f7b64..cdca8f1 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -1,3 +1,17 @@ +# Copyright 2017 Harald Welte +# Copyright 2018 sysmocom - s.f.m.c. GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. ECLIPSEGIT:=https://github.com/eclipse ECLIPSEGIT2:=git://git.eclipse.org/gitroot/titan diff --git a/gen_links.sh.inc b/gen_links.sh.inc index 8a87359..539b398 100644 --- a/gen_links.sh.inc +++ b/gen_links.sh.inc @@ -1,6 +1,21 @@ #!dont_run_this # This file is sourced by */gen_links.sh +# Copyright 2017 Harald Welte +# Copyright 2018 sysmocom - s.f.m.c. GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + rm -f .gitignore gen_link() { diff --git a/log_merge.sh b/log_merge.sh index d3c50f7..886b788 100755 --- a/log_merge.sh +++ b/log_merge.sh @@ -7,6 +7,21 @@ # # the output files will be called "Module-Testcase.merged" +# Copyright 2018 Harald Welte +# Copyright 2018 sysmocom - s.f.m.c. GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + if [ "x$1" = "x" ]; then echo "You have to specify the Test Suite prefix" exit 2 diff --git a/regen-makefile.sh b/regen-makefile.sh index d2b747e..7be47bb 100755 --- a/regen-makefile.sh +++ b/regen-makefile.sh @@ -1,5 +1,21 @@ #!/bin/sh +# Copyright 2017-2019 Harald Welte +# Copyright 2018 sysmocom - s.f.m.c. GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + # Wrapper around the TITAN make file generator to work in Debian. # # TITAN has a makefile generator, but somehow Debian seems to install diff --git a/start-testsuite.sh b/start-testsuite.sh index 31bc891..54332bb 100755 --- a/start-testsuite.sh +++ b/start-testsuite.sh @@ -3,6 +3,21 @@ # Helper script to starte a TITAN-generated test suite, supporting # dynamically linked suites to ensure JUNIT generation is possible. +# Copyright 2017 Harald Welte +# Copyright 2018 sysmocom - s.f.m.c. GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + if [ $# -lt 1 ]; then echo "You have to specify the test suite name" echo "Syntax example: $0 osmo-ttcn3-hacks/ggsn_tests/GGSN_Test ./GGSN_Test.cfg" diff --git a/update_expected_results_from_jenkins.sh b/update_expected_results_from_jenkins.sh index 7677cff..d30e640 100755 --- a/update_expected_results_from_jenkins.sh +++ b/update_expected_results_from_jenkins.sh @@ -1,5 +1,20 @@ #!/bin/sh +# Copyright 2018 sysmocom - s.f.m.c. GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + # Download the latest junit xml results from the jenkins.osmocom.org workspaces. # Usage: # - have a clean git clone of osmo-ttcn3-hacks -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I553925cd88b05903aab52ae1afb093aa9ab9d035 Gerrit-Change-Number: 14542 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 19 14:22:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Jun 2019 14:22:42 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BSSMAP_Templates: Provide complete set of CellID related rx/tx templates Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14543 Change subject: BSSMAP_Templates: Provide complete set of CellID related rx/tx templates ...................................................................... BSSMAP_Templates: Provide complete set of CellID related rx/tx templates Change-Id: I07c5fb9b621b09e11fec025b56f971fb61060839 --- M library/BSSMAP_Templates.ttcn 1 file changed, 57 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/43/14543/1 diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index b377358..4fa6100 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -1036,6 +1036,56 @@ template BSSMAP_FIELD_CellIdentificationList ts_BSSMAP_CIL_noCell := { cIl_noCell := ''O } +template (value) BSSMAP_FIELD_CellIdentificationList ts_BSSMAP_CIL_BSS := { + cIl_allInBSS := ''O +} +template BSSMAP_FIELD_CellIdentificationList tr_BSSMAP_CIL_BSS := { + cIl_allInBSS := ''O +} + +template (value) BSSMAP_FIELD_CellIdentificationList + ts_BSSMAP_CIL_CGI(template (value) BSSMAP_FIELD_CellIdentificationList_CGI cgil) := { + cIl_CGI := cgil +} +template BSSMAP_FIELD_CellIdentificationList + tr_BSSMAP_CIL_CGI(template BSSMAP_FIELD_CellIdentificationList_CGI cgil) := { + cIl_CGI := cgil +} + +template (value) BSSMAP_FIELD_CellIdentificationList + ts_BSSMAP_CIL_LAC_CI(template (value) BSSMAP_FIELD_CellIdentificationList_LAC_CI lac_cil) := { + cIl_LAC_CI := lac_cil +} +template BSSMAP_FIELD_CellIdentificationList + tr_BSSMAP_CIL_LAC_CI(template BSSMAP_FIELD_CellIdentificationList_LAC_CI lac_cil) := { + cIl_LAC_CI := lac_cil +} + +template (value) BSSMAP_FIELD_CellIdentificationList + ts_BSSMAP_CIL_CI(template (value) RecordOfOCT2 cil) := { + cIl_CI := cil +} +template BSSMAP_FIELD_CellIdentificationList tr_BSSMAP_CIL_CI(template RecordOfOCT2 cil) := { + cIl_CI := cil +} + +template (value) BSSMAP_FIELD_CellIdentificationList + ts_BSSMAP_CIL_LAI(template (value) BSSMAP_FIELD_CellIdentificationList_LAI lail) := { + cIl_LAI := lail +} +template BSSMAP_FIELD_CellIdentificationList + tr_BSSMAP_CIL_LAI(template BSSMAP_FIELD_CellIdentificationList_LAI lail) := { + cIl_LAI := lail +} + +template (value) BSSMAP_FIELD_CellIdentificationList + ts_BSSMAP_CIL_LAC(template (value) RecordOfOCT2 lacl) := { + cIl_LAC := lacl +} +template BSSMAP_FIELD_CellIdentificationList tr_BSSMAP_CIL_LAC(template RecordOfOCT2 lacl) := { + cIl_LAC := lacl +} + private function f_enc_mcc_mnc(GsmMcc mcc, GsmMnc mnc) return OCT3 { if (lengthof(mnc) == 2) { @@ -1045,33 +1095,33 @@ } } -template BSSMAP_FIELD_CellIdentification_CGI ts_BSSMAP_CI_CGI(GsmMcc mcc, GsmMnc mnc, GsmLac lac, GsmCellId ci) := { +template (value) BSSMAP_FIELD_CellIdentification_CGI ts_BSSMAP_CI_CGI(GsmMcc mcc, GsmMnc mnc, GsmLac lac, GsmCellId ci) := { mcc_mnc := f_enc_mcc_mnc(mcc, mnc), lac := int2oct(lac, 2), ci := int2oct(ci, 2) } -template BSSMAP_FIELD_CellIdentification_LAC_CI ts_BSSMAP_CI_LAC_CI(GsmLac lac, GsmCellId ci) := { +template (value) BSSMAP_FIELD_CellIdentification_LAC_CI ts_BSSMAP_CI_LAC_CI(GsmLac lac, GsmCellId ci) := { lac := int2oct(lac, 2), ci := int2oct(ci, 2) } -template BSSMAP_FIELD_CellIdentification_LAI ts_BSSMAP_CI_LAI(GsmMcc mcc, GsmMnc mnc, GsmLac lac) := { +template (value) BSSMAP_FIELD_CellIdentification_LAI ts_BSSMAP_CI_LAI(GsmMcc mcc, GsmMnc mnc, GsmLac lac) := { mcc_mnc := f_enc_mcc_mnc(mcc, mnc), lac := int2oct(lac, 2) } -template OCT2 ts_BSSMAP_CI_CI(GsmCellId ci) := int2oct(ci, 2); -template OCT2 ts_BSSMAP_CI_LAC(GsmLac lac) := int2oct(lac, 2); +template (value) OCT2 ts_BSSMAP_CI_LAC(GsmLac lac) := int2oct(lac, 2); +template (value) OCT2 ts_BSSMAP_CI_CI(GsmCellId ci) := int2oct(ci, 2); -template BSSMAP_FIELD_CellIdentification_PLMN_LAC_RNC +template (value) BSSMAP_FIELD_CellIdentification_PLMN_LAC_RNC ts_BSSMAP_CI_PLMN_LAC_RNC(GsmMcc mcc, GsmMnc mnc, GsmLac lac, uint16_t rnc_id) := { mcc_mnc := f_enc_mcc_mnc(mcc, mnc), lac := int2oct(lac, 2), rncId := int2oct(rnc_id, 2) } -template BSSMAP_FIELD_CellIdentification_LAC_RNC ts_BSSMAP_CI_LAC_RNC(GsmLac lac, uint16_t rnc_id) := { +template (value) BSSMAP_FIELD_CellIdentification_LAC_RNC ts_BSSMAP_CI_LAC_RNC(GsmLac lac, uint16_t rnc_id) := { lac := int2oct(lac, 2), rncId := int2oct(rnc_id, 2) } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I07c5fb9b621b09e11fec025b56f971fb61060839 Gerrit-Change-Number: 14543 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 19 14:27:04 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 14:27:04 +0000 Subject: Change in ...libosmocore[master]: vty: Remove trailing whitespace in output from show asciidoc In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14536 ) Change subject: vty: Remove trailing whitespace in output from show asciidoc ...................................................................... vty: Remove trailing whitespace in output from show asciidoc Change-Id: Ifb3115c7488fbcf082cc9b92abc25cf7c46064e0 --- M src/vty/stats_vty.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c index c911087..8c2ddc6 100644 --- a/src/vty/stats_vty.c +++ b/src/vty/stats_vty.c @@ -442,7 +442,7 @@ char *group_name_prefix = osmo_asciidoc_escape(ctrg->desc->group_name_prefix); vty_out(vty, "// rate_ctr_group table %s%s", group_description, VTY_NEWLINE); - vty_out(vty, ".%s - %s %s", group_name_prefix, group_description, VTY_NEWLINE); + vty_out(vty, ".%s - %s%s", group_name_prefix, group_description, VTY_NEWLINE); vty_out(vty, "[options=\"header\"]%s", VTY_NEWLINE); vty_out(vty, "|===%s", VTY_NEWLINE); vty_out(vty, "| Name | Reference | Description%s", VTY_NEWLINE); @@ -491,7 +491,7 @@ vty_out(vty, "%s%s", group_description ? group_description : "" , VTY_NEWLINE); vty_out(vty, "// osmo_stat_item_group table %s%s", group_description ? group_description : "", VTY_NEWLINE); - vty_out(vty, ".%s - %s %s", group_name_prefix, group_description ? group_description : "", VTY_NEWLINE); + vty_out(vty, ".%s - %s%s", group_name_prefix, group_description ? group_description : "", VTY_NEWLINE); vty_out(vty, "[options=\"header\"]%s", VTY_NEWLINE); vty_out(vty, "|===%s", VTY_NEWLINE); vty_out(vty, "| Name | Reference | Description | Unit%s", VTY_NEWLINE); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifb3115c7488fbcf082cc9b92abc25cf7c46064e0 Gerrit-Change-Number: 14536 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 14:28:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 14:28:07 +0000 Subject: Change in ...osmo-msc[master]: gsm_04_11_gsup.c: fix broken reference counting for vsub In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14540 ) Change subject: gsm_04_11_gsup.c: fix broken reference counting for vsub ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ic729beb5f94cbbfbb251bc9ab66a5e7b799286c0 Gerrit-Change-Number: 14540 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 14:28: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 19 14:30:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 14:30:19 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_04_11.c: do not abuse LOG_TRANS() in gsm411_alloc_mt_trans() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14541 ) Change subject: libmsc/gsm_04_11.c: do not abuse LOG_TRANS() in gsm411_alloc_mt_trans() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3c1e633aee5dd7cd0d367404a3def9cffe0b3baa Gerrit-Change-Number: 14541 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 14:30: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 19 14:31:54 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 14:31:54 +0000 Subject: Change in ...libosmocore[master]: vty: Simplify char escaping in asciidoc output In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/14538 to look at the new patch set (#2). Change subject: vty: Simplify char escaping in asciidoc output ...................................................................... vty: Simplify char escaping in asciidoc output Change-Id: I7df6858bb98abffc1d5bf420f991ae5854b24638 --- M src/vty/command.c 1 file changed, 4 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/38/14538/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7df6858bb98abffc1d5bf420f991ae5854b24638 Gerrit-Change-Number: 14538 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 19 15:39:11 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 15:39:11 +0000 Subject: Change in ...osmo-python-tests[master]: osmo-trap2cgi: Remove invalid specifier for /etc Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14544 Change subject: osmo-trap2cgi: Remove invalid specifier for /etc ...................................................................... osmo-trap2cgi: Remove invalid specifier for /etc On prod-bscnat the specifier %E (for /etc) does not exist so let's not use it. Change-Id: Ia3d8838475c2cc8f9f4ba3a0bc5483c6e1645f8f Related: SYS#4399 --- M contrib/systemd/osmo-trap2cgi.service 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/python/osmo-python-tests refs/changes/44/14544/1 diff --git a/contrib/systemd/osmo-trap2cgi.service b/contrib/systemd/osmo-trap2cgi.service index 7a90813..8122790 100644 --- a/contrib/systemd/osmo-trap2cgi.service +++ b/contrib/systemd/osmo-trap2cgi.service @@ -4,7 +4,7 @@ [Service] Type=simple Restart=always -ExecStart=/usr/bin/osmo_trap2cgi.py -d -c %E/osmocom/%N.ini +ExecStart=/usr/bin/osmo_trap2cgi.py -d -c /etc/osmocom/%N.ini RestartSec=2 [Install] -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: Ia3d8838475c2cc8f9f4ba3a0bc5483c6e1645f8f Gerrit-Change-Number: 14544 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 19 15:39:12 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 15:39:12 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_trap2cgi.py: Don't recurse in ctrl_client() Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 Change subject: osmo_trap2cgi.py: Don't recurse in ctrl_client() ...................................................................... osmo_trap2cgi.py: Don't recurse in ctrl_client() Use a loop instead. Without it the script will eventually crash with a RecursionError. File "/usr/bin/osmo_trap2cgi.py", line 211, in conn_client await ctrl_client(proxy, reader, writer) File "/usr/bin/osmo_trap2cgi.py", line 202, in ctrl_client proxy.dispatch(wr, data) [...] File "/usr/bin/osmo_trap2cgi.py", line 202, in ctrl_client proxy.dispatch(wr, data) File "/usr/bin/osmo_trap2cgi.py", line 201, in ctrl_client [...] RecursionError: maximum recursion depth exceeded in comparison Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Related: SYS#4399 --- M scripts/osmo_trap2cgi.py 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/python/osmo-python-tests refs/changes/45/14545/1 diff --git a/scripts/osmo_trap2cgi.py b/scripts/osmo_trap2cgi.py index ad66e7b..8aa7649 100755 --- a/scripts/osmo_trap2cgi.py +++ b/scripts/osmo_trap2cgi.py @@ -194,12 +194,12 @@ async def ctrl_client(proxy, rd, wr): """ - Recursively read CTRL stream and handle selected messages. + Read CTRL stream and handle selected messages. """ - header = await recon_reader(proxy, rd, 4) - data = await recon_reader(proxy, rd, get_ctrl_len(proxy, header)) - proxy.dispatch(wr, data) - await ctrl_client(proxy, rd, wr) + while True: + header = await recon_reader(proxy, rd, 4) + data = await recon_reader(proxy, rd, get_ctrl_len(proxy, header)) + proxy.dispatch(wr, data) async def conn_client(proxy): """ -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Gerrit-Change-Number: 14545 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 19 15:43:58 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 15:43:58 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_trap2cgi.py: Don't recurse in ctrl_client() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 ) Change subject: osmo_trap2cgi.py: Don't recurse in ctrl_client() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14545/1/scripts/osmo_trap2cgi.py File scripts/osmo_trap2cgi.py: https://gerrit.osmocom.org/#/c/14545/1/scripts/osmo_trap2cgi.py at 211 PS1, Line 211: await ctrl_client(proxy, reader, writer) I don't know how this framework works, but are you sure keeping ctrl_client in a while True loop is fine? For instance this function conn_client looks like will block always here. Just to make sure. -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Gerrit-Change-Number: 14545 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 15:43: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 19 15:44:22 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 15:44:22 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_trap2cgi.py: Don't recurse in ctrl_client() In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 ) Change subject: osmo_trap2cgi.py: Don't recurse in ctrl_client() ...................................................................... Patch Set 1: It seems to me that tail-recursion should be possible in python - at least from some comments on the web, but it's clearly not working here. This might also have implications in conn_client (which calls itself) and recon_reader (which calls conn_client and is called by conn_client->ctrl_client). conn_client is easily modified, should we pass-through the exception in recon_reader and then just catch it in conn_client and reconnect? -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Gerrit-Change-Number: 14545 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 15:44: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 Wed Jun 19 15:44:40 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 15:44:40 +0000 Subject: Change in ...osmo-python-tests[master]: osmo-trap2cgi: Remove invalid specifier for /etc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14544 ) Change subject: osmo-trap2cgi: Remove invalid specifier for /etc ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: Ia3d8838475c2cc8f9f4ba3a0bc5483c6e1645f8f Gerrit-Change-Number: 14544 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 15: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 Wed Jun 19 15:49:20 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 15:49:20 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_trap2cgi.py: Don't recurse in ctrl_client() In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 ) Change subject: osmo_trap2cgi.py: Don't recurse in ctrl_client() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14545/1/scripts/osmo_trap2cgi.py File scripts/osmo_trap2cgi.py: https://gerrit.osmocom.org/#/c/14545/1/scripts/osmo_trap2cgi.py at 211 PS1, Line 211: await ctrl_client(proxy, reader, writer) > I don't know how this framework works, but are you sure keeping ctrl_client in a while True loop is [?] We're more or less in the same boat then. :-) As far as I can tell conn_client (re-)connects - see also line 215 - to the ctrl port and ctrl_client reads the traps in an infinite loop (or before in an infinite tail-recursion). If anything goes wrong in the exception handlers conn_client is called again, which re-establishes the connection. -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Gerrit-Change-Number: 14545 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 15:49:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 15:58:10 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 15:58:10 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_trap2cgi.py: Don't recurse in ctrl_client() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 ) Change subject: osmo_trap2cgi.py: Don't recurse in ctrl_client() ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/14545/1/scripts/osmo_trap2cgi.py File scripts/osmo_trap2cgi.py: https://gerrit.osmocom.org/#/c/14545/1/scripts/osmo_trap2cgi.py at 215 PS1, Line 215: await conn_client(proxy) Then we should turn this recursion into a while True. -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Gerrit-Change-Number: 14545 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 15:58:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 16:07:35 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 16:07:35 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_trap2cgi.py: Don't recurse in ctrl_client() In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 ) Change subject: osmo_trap2cgi.py: Don't recurse in ctrl_client() ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/14545/1/scripts/osmo_trap2cgi.py File scripts/osmo_trap2cgi.py: https://gerrit.osmocom.org/#/c/14545/1/scripts/osmo_trap2cgi.py at 193 PS1, Line 193: await conn_client(proxy) We need to break this recursion as well. https://gerrit.osmocom.org/#/c/14545/1/scripts/osmo_trap2cgi.py at 215 PS1, Line 215: await conn_client(proxy) > Then we should turn this recursion into a while True. Yes, see also my generic comment. So I'll try to get the recursion out of this script. Maybe Max can share his ideas why he used it in the first place. -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Gerrit-Change-Number: 14545 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 16:07: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 19 16:07:54 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 16:07:54 +0000 Subject: Change in ...osmo-python-tests[master]: osmo-trap2cgi: Remove invalid specifier for /etc In-Reply-To: References: Message-ID: daniel has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14544 ) Change subject: osmo-trap2cgi: Remove invalid specifier for /etc ...................................................................... osmo-trap2cgi: Remove invalid specifier for /etc On prod-bscnat the specifier %E (for /etc) does not exist so let's not use it. Change-Id: Ia3d8838475c2cc8f9f4ba3a0bc5483c6e1645f8f Related: SYS#4399 --- M contrib/systemd/osmo-trap2cgi.service 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/contrib/systemd/osmo-trap2cgi.service b/contrib/systemd/osmo-trap2cgi.service index 7a90813..8122790 100644 --- a/contrib/systemd/osmo-trap2cgi.service +++ b/contrib/systemd/osmo-trap2cgi.service @@ -4,7 +4,7 @@ [Service] Type=simple Restart=always -ExecStart=/usr/bin/osmo_trap2cgi.py -d -c %E/osmocom/%N.ini +ExecStart=/usr/bin/osmo_trap2cgi.py -d -c /etc/osmocom/%N.ini RestartSec=2 [Install] -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: Ia3d8838475c2cc8f9f4ba3a0bc5483c6e1645f8f Gerrit-Change-Number: 14544 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 16:27:10 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 16:27:10 +0000 Subject: Change in ...docker-playground[master]: Have only one bts/bsc configured in osmo-bsc and bscnat Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/14546 Change subject: Have only one bts/bsc configured in osmo-bsc and bscnat ...................................................................... Have only one bts/bsc configured in osmo-bsc and bscnat The way our counter reporting works is that each counter group is reported even if the same one exists multiple times. To avoid that change the default config (used by regen_doc.sh) to only configure one bts / bsc. Change-Id: I57468d983580b5ed4f15961ac1eac9bed9096556 Related: OS#1700 --- M osmo-bsc-master/osmo-bsc.cfg M osmo-nitb-master/bscs.config 2 files changed, 0 insertions(+), 194 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/46/14546/1 diff --git a/osmo-bsc-master/osmo-bsc.cfg b/osmo-bsc-master/osmo-bsc.cfg index 7ce9173..71516dd 100644 --- a/osmo-bsc-master/osmo-bsc.cfg +++ b/osmo-bsc-master/osmo-bsc.cfg @@ -157,186 +157,6 @@ timeslot 7 phys_chan_config PDCH hopping enabled 0 - bts 1 - type sysmobts - band DCS1800 - cell_identity 1 - location_area_code 2 - dtx uplink force - dtx downlink - base_station_id_code 63 - 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 - gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 - 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 - 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 - 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/F - 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 1 - dtx uplink force - dtx downlink - base_station_id_code 63 - 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 - gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 - 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 - 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 - 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/F - hopping enabled 0 - timeslot 6 - phys_chan_config PDCH - hopping enabled 0 - timeslot 7 - phys_chan_config PDCH - hopping enabled 0 msc 0 ip.access rtp-base 4000 no bsc-welcome-text diff --git a/osmo-nitb-master/bscs.config b/osmo-nitb-master/bscs.config index 16cfa2b..b6770e8 100644 --- a/osmo-nitb-master/bscs.config +++ b/osmo-nitb-master/bscs.config @@ -6,17 +6,3 @@ max-endpoints 32 paging forbidden 0 osmux on - bsc 1 - token BSC1 - location_area_code 2 - description bsc - max-endpoints 32 - paging forbidden 0 - osmux on - bsc 2 - token BSC2 - location_area_code 3 - description bsc - max-endpoints 32 - paging forbidden 0 - osmux on -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I57468d983580b5ed4f15961ac1eac9bed9096556 Gerrit-Change-Number: 14546 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 19 16:27:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 16:27:26 +0000 Subject: Change in ...osmo-gsm-tester[master]: Introduce osmux support for msc, bsc, mgw Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14547 Change subject: Introduce osmux support for msc,bsc,mgw ...................................................................... Introduce osmux support for msc,bsc,mgw Change-Id: Ief3518e77650f2cddb48357b07fe95346e46ee1b --- M src/osmo_gsm_tester/osmo_bsc.py M src/osmo_gsm_tester/osmo_mgw.py M src/osmo_gsm_tester/osmo_msc.py M src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl 6 files changed, 41 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/47/14547/1 diff --git a/src/osmo_gsm_tester/osmo_bsc.py b/src/osmo_gsm_tester/osmo_bsc.py index ec9c3b8..4160527 100644 --- a/src/osmo_gsm_tester/osmo_bsc.py +++ b/src/osmo_gsm_tester/osmo_bsc.py @@ -32,6 +32,7 @@ self.process = None self.encryption = None self.rsl_ip = None + self.use_osmux = "off" self.suite_run = suite_run self.ip_address = ip_address self.bts = [] @@ -90,6 +91,7 @@ else: encryption_vty = util.encryption2osmovty(values['bsc']['net']['encryption']) config.overlay(values, dict(bsc=dict(net=dict(encryption=encryption_vty)))) + config.overlay(values, dict(bsc=dict(use_osmux=self.use_osmux))) if self.rsl_ip is not None: config.overlay(values, dict(bsc=dict(net=dict(rsl_ip=self.rsl_ip)))) @@ -113,6 +115,15 @@ other external entities to test the RSL path, such as TTCN3 tests.''' self.rsl_ip = ip_addr + def set_use_osmux(self, use=False, force=False): + if not use: + self.use_osmux = "off" + else: + if not force: + self.use_osmux = "on" + else: + self.use_osmux = "only" + def bts_add(self, bts): self.bts.append(bts) bts.set_bsc(self) diff --git a/src/osmo_gsm_tester/osmo_mgw.py b/src/osmo_gsm_tester/osmo_mgw.py index ca7bd51..ea8e652 100644 --- a/src/osmo_gsm_tester/osmo_mgw.py +++ b/src/osmo_gsm_tester/osmo_mgw.py @@ -31,6 +31,7 @@ self.process = None self.suite_run = suite_run self.ip_address = ip_address + self.use_osmux = "off" def start(self): self.log('Starting osmo-mgw') @@ -63,7 +64,11 @@ values = dict(mgw=config.get_defaults('mgw')) config.overlay(values, self.suite_run.config()) - config.overlay(values, dict(mgw=dict(ip_address=self.ip_address))) + config.overlay(values, { 'mgw': { + 'ip_address': self.ip_address, + 'use_osmux': self.use_osmux + } + }) self.dbg('MGW CONFIG:\n' + pprint.pformat(values)) @@ -81,4 +86,14 @@ def running(self): return not self.process.terminated() + def set_use_osmux(self, use=False, force=False): + if not use: + self.use_osmux = "off" + else: + if not force: + self.use_osmux = "on" + else: + self.use_osmux = "only" + + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/osmo_msc.py b/src/osmo_gsm_tester/osmo_msc.py index 192926c..51f50c4 100644 --- a/src/osmo_gsm_tester/osmo_msc.py +++ b/src/osmo_gsm_tester/osmo_msc.py @@ -32,6 +32,7 @@ self.config = None self.encryption = None self.authentication = None + self.use_osmux = "off" self.suite_run = suite_run self.ip_address = ip_address self.hlr = hlr @@ -84,6 +85,7 @@ config.overlay(values, dict(msc=dict(net=dict(encryption=encryption_vty)))) if self.authentication is not None: config.overlay(values, dict(msc=dict(net=dict(authentication=self.authentication)))) + config.overlay(values, dict(msc=dict(use_osmux=self.use_osmux))) self.config = values @@ -107,6 +109,15 @@ return self.authentication = "required" if val else "optional" + def set_use_osmux(self, use=False, force=False): + if not use: + self.use_osmux = "off" + else: + if not force: + self.use_osmux = "on" + else: + self.use_osmux = "only" + def mcc(self): return self.config['msc']['net']['mcc'] diff --git a/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl index 53e683b..572e765 100644 --- a/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl @@ -118,5 +118,6 @@ amr-config 5_90k allowed amr-config 5_15k forbidden amr-config 4_75k forbidden + osmux ${bsc.use_osmux} msc-addr msc_remote bsc-addr bsc_local diff --git a/src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl index 9e338e1..f91ab30 100644 --- a/src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl @@ -14,3 +14,4 @@ number endpoints 31 rtcp-omit rtp-accept-all 1 + osmux ${mgw.use_osmux} diff --git a/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl index b370d5e..31c57d3 100644 --- a/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl @@ -28,6 +28,7 @@ mgw local-ip ${msc.ip_address.addr} mgw endpoint-range 1 31 mgw bts-base 8000 + osmux ${msc.use_osmux} assign-tmsi cs7-instance-iu 0 cs7-instance-a 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ief3518e77650f2cddb48357b07fe95346e46ee1b Gerrit-Change-Number: 14547 Gerrit-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 19 16:27:26 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 16:27:26 +0000 Subject: Change in ...osmo-gsm-tester[master]: tests: voice: Add voice call test with Osmux enabled Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14548 Change subject: tests: voice: Add voice call test with Osmux enabled ...................................................................... tests: voice: Add voice call test with Osmux enabled Change-Id: Ie4f360a77f6fcbc74f140a7fcb5feef2d94ac734 --- M src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl A suites/voice/lib/testlib.py M suites/voice/mo_mt_call.py A suites/voice/mo_mt_call_osmux.py 4 files changed, 78 insertions(+), 52 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/48/14548/1 diff --git a/src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl index f91ab30..5f351a4 100644 --- a/src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl @@ -15,3 +15,4 @@ rtcp-omit rtp-accept-all 1 osmux ${mgw.use_osmux} + osmux bind-ip ${mgw.ip_address.addr} diff --git a/suites/voice/lib/testlib.py b/suites/voice/lib/testlib.py new file mode 100644 index 0000000..1eaf95d --- /dev/null +++ b/suites/voice/lib/testlib.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +def test_mo_mt_call(use_osmux=False, force_osmux=False): + hlr = suite.hlr() + bts = suite.bts() + mgw_msc = suite.mgw() + mgw_bsc = suite.mgw() + stp = suite.stp() + msc = suite.msc(hlr, mgw_msc, stp) + bsc = suite.bsc(msc, mgw_bsc, stp) + ms_mo = suite.modem() + ms_mt = suite.modem() + + hlr.start() + stp.start() + + msc.set_use_osmux(use_osmux, force_osmux) + msc.start() + + mgw_msc.set_use_osmux(use_osmux, force_osmux) + mgw_msc.start() + + # We don't want to force Osmux in BSC_MGW since in MGW BTS-side is still RTP. + mgw_bsc.set_use_osmux(use_osmux, False) + mgw_bsc.start() + + bsc.set_use_osmux(use_osmux, force_osmux) + bsc.bts_add(bts) + bsc.start() + + bts.start() + wait(bsc.bts_is_connected, bts) + + hlr.subscriber_add(ms_mo) + hlr.subscriber_add(ms_mt) + + ms_mo.connect(msc.mcc_mnc()) + ms_mt.connect(msc.mcc_mnc()) + + ms_mo.log_info() + ms_mt.log_info() + + print('waiting for modems to attach...') + wait(ms_mo.is_connected, msc.mcc_mnc()) + wait(ms_mt.is_connected, msc.mcc_mnc()) + wait(msc.subscriber_attached, ms_mo, ms_mt) + + assert len(ms_mo.call_id_list()) == 0 and len(ms_mt.call_id_list()) == 0 + mo_cid = ms_mo.call_dial(ms_mt) + mt_cid = ms_mt.call_wait_incoming(ms_mo) + print('dial success') + + assert not ms_mo.call_is_active(mo_cid) and not ms_mt.call_is_active(mt_cid) + ms_mt.call_answer(mt_cid) + wait(ms_mo.call_is_active, mo_cid) + wait(ms_mt.call_is_active, mt_cid) + print('answer success, call established and ongoing') + + sleep(5) # maintain the call active for 5 seconds + + assert ms_mo.call_is_active(mo_cid) and ms_mt.call_is_active(mt_cid) + ms_mt.call_hangup(mt_cid) + wait(lambda: len(ms_mo.call_id_list()) == 0 and len(ms_mt.call_id_list()) == 0) + print('hangup success') diff --git a/suites/voice/mo_mt_call.py b/suites/voice/mo_mt_call.py index aeda80d..740b1fe 100755 --- a/suites/voice/mo_mt_call.py +++ b/suites/voice/mo_mt_call.py @@ -1,56 +1,8 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -hlr = suite.hlr() -bts = suite.bts() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) -ms_mo = suite.modem() -ms_mt = suite.modem() +import testlib +suite.test_import_modules_register_for_cleanup(testlib) +from testlib import test_mo_mt_call -hlr.start() -stp.start() -msc.start() -mgw_msc.start() -mgw_bsc.start() - -bsc.bts_add(bts) -bsc.start() - -bts.start() -wait(bsc.bts_is_connected, bts) - -hlr.subscriber_add(ms_mo) -hlr.subscriber_add(ms_mt) - -ms_mo.connect(msc.mcc_mnc()) -ms_mt.connect(msc.mcc_mnc()) - -ms_mo.log_info() -ms_mt.log_info() - -print('waiting for modems to attach...') -wait(ms_mo.is_connected, msc.mcc_mnc()) -wait(ms_mt.is_connected, msc.mcc_mnc()) -wait(msc.subscriber_attached, ms_mo, ms_mt) - -assert len(ms_mo.call_id_list()) == 0 and len(ms_mt.call_id_list()) == 0 -mo_cid = ms_mo.call_dial(ms_mt) -mt_cid = ms_mt.call_wait_incoming(ms_mo) -print('dial success') - -assert not ms_mo.call_is_active(mo_cid) and not ms_mt.call_is_active(mt_cid) -ms_mt.call_answer(mt_cid) -wait(ms_mo.call_is_active, mo_cid) -wait(ms_mt.call_is_active, mt_cid) -print('answer success, call established and ongoing') - -sleep(5) # maintain the call active for 5 seconds - -assert ms_mo.call_is_active(mo_cid) and ms_mt.call_is_active(mt_cid) -ms_mt.call_hangup(mt_cid) -wait(lambda: len(ms_mo.call_id_list()) == 0 and len(ms_mt.call_id_list()) == 0) -print('hangup success') +test_mo_mt_call(False, False) diff --git a/suites/voice/mo_mt_call_osmux.py b/suites/voice/mo_mt_call_osmux.py new file mode 100755 index 0000000..acf7d71 --- /dev/null +++ b/suites/voice/mo_mt_call_osmux.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +import testlib +suite.test_import_modules_register_for_cleanup(testlib) +from testlib import test_mo_mt_call + +test_mo_mt_call(True, True) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie4f360a77f6fcbc74f140a7fcb5feef2d94ac734 Gerrit-Change-Number: 14548 Gerrit-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 19 16:28:39 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 19 Jun 2019 16:28:39 +0000 Subject: Change in ...docker-playground[master]: Have only one bts/bsc configured in osmo-bsc and bscnat In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14546 ) Change subject: Have only one bts/bsc configured in osmo-bsc and bscnat ...................................................................... Patch Set 1: I'm not really a fan of this. I'd rather not report multiple identical counter groups. See also https://projects.osmocom.org/issues/3417 which needs to be fixed as well and is a related problem. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I57468d983580b5ed4f15961ac1eac9bed9096556 Gerrit-Change-Number: 14546 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Comment-Date: Wed, 19 Jun 2019 16:28:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 16:40:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Jun 2019 16:40:14 +0000 Subject: Change in ...simtrace2[master]: qmod: Disable hub reset and EEPROM erase/write by default Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/14549 Change subject: qmod: Disable hub reset and EEPROM erase/write by default ...................................................................... qmod: Disable hub reset and EEPROM erase/write by default We recently introduced ALLOW_PEER_ERASE to control if the firmware should contain code for the SAM3 to reset each other on QMOD. Let's use the same define to also remove code for putting the USB hub into reset as well as code for erasing + writing the hub EEPROM. This is needed only during production, but it shouldn't be enabled during normal operation of the product at the end user. Change-Id: I1c8cca2f7f0f0070d7bf1ade676e035c45e4d5ab --- M firmware/libboard/qmod/source/board_qmod.c 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/49/14549/1 diff --git a/firmware/libboard/qmod/source/board_qmod.c b/firmware/libboard/qmod/source/board_qmod.c index 4d75b98..0565c92 100644 --- a/firmware/libboard/qmod/source/board_qmod.c +++ b/firmware/libboard/qmod/source/board_qmod.c @@ -28,6 +28,7 @@ #include "card_pres.h" #include #include "usb_buf.h" +#include "i2c.h" static const Pin pin_hubpwr_override = PIN_PRTPWR_OVERRIDE; static const Pin pin_hub_rst = {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}; @@ -46,6 +47,7 @@ return 0; } +#if (ALLOW_PEER_ERASE > 0) const unsigned char __eeprom_bin[256] = { USB_VENDOR_OPENMOKO & 0xff, USB_VENDOR_OPENMOKO >> 8, @@ -69,7 +71,6 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x56, 0x23, 0x71, 0x04, 0x00, /* 0xf0 - 0xff */ }; -#include "i2c.h" static int write_hub_eeprom(void) { int i; @@ -126,7 +127,7 @@ return 0; } - +#endif /* ALLOW_PEER_ERASE */ static void board_exec_dbg_cmd_st12only(int ch) { @@ -137,12 +138,14 @@ return; switch (ch) { +#if (ALLOW_PEER_ERASE > 0) case 'E': write_hub_eeprom(); break; case 'e': erase_hub_eeprom(); break; +#endif /* ALLOW_PEER_ERASE */ case 'O': printf("Setting PRTPWR_OVERRIDE\n\r"); PIO_Set(&pin_hubpwr_override); @@ -151,6 +154,7 @@ printf("Clearing PRTPWR_OVERRIDE\n\r"); PIO_Clear(&pin_hubpwr_override); break; +#if (ALLOW_PEER_ERASE > 0) case 'H': printf("Clearing _HUB_RESET -> HUB_RESET high (inactive)\n\r"); PIO_Clear(&pin_hub_rst); @@ -170,6 +174,7 @@ printf("Writing value 0x%02lx to EEPROM offset 0x%02lx\n\r", val, addr); eeprom_write_byte(0x50, addr, val); break; +#endif /* ALLOW_PEER_ERASE */ case 'r': printf("Please enter EEPROM offset:\n\r"); UART_GetIntegerMinMax(&addr, 0, 255); -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/14549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I1c8cca2f7f0f0070d7bf1ade676e035c45e4d5ab Gerrit-Change-Number: 14549 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 19 16:55:10 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Jun 2019 16:55:10 +0000 Subject: Change in ...docker-playground[master]: osmo-sgsn-master: Bind to localhost instead of a specific IP by default In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14537 ) Change subject: osmo-sgsn-master: Bind to localhost instead of a specific IP by default ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2a922139c50d06217e5e6105ea65bf673daa10a8 Gerrit-Change-Number: 14537 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 Jun 2019 16:55:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 16:55:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Jun 2019 16:55:59 +0000 Subject: Change in ...libosmocore[master]: vty: Simplify char escaping in asciidoc output In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14538 ) Change subject: vty: Simplify char escaping in asciidoc output ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7df6858bb98abffc1d5bf420f991ae5854b24638 Gerrit-Change-Number: 14538 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 Jun 2019 16:55:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 16:56:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Jun 2019 16:56:46 +0000 Subject: Change in ...osmo-msc[master]: libvlr/vlr.c: do not expire subscribers if periodic LU is disabled In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14525 ) Change subject: libvlr/vlr.c: do not expire subscribers if periodic LU is disabled ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2ead2241a3394dbdd5417f4554190df3fd698af2 Gerrit-Change-Number: 14525 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 16:56: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 19 16:57:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Jun 2019 16:57:19 +0000 Subject: Change in ...osmo-msc[master]: tests/msc_vlr: fix: do not pass RAT type to expect_bssap_clear() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14514 ) Change subject: tests/msc_vlr: fix: do not pass RAT type to expect_bssap_clear() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id3a3af33fcc5da4ca4c48a2f589a69f3568d2586 Gerrit-Change-Number: 14514 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 19 Jun 2019 16:57:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 16:57:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 16:57:18 +0000 Subject: Change in ...osmo-gsm-tester[master]: tests: voice: Add voice call test with Osmux enabled In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14548 ) Change subject: tests: voice: Add voice call test with Osmux enabled ...................................................................... tests: voice: Add voice call test with Osmux enabled Change-Id: Ie4f360a77f6fcbc74f140a7fcb5feef2d94ac734 --- M src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl A suites/voice/lib/testlib.py M suites/voice/mo_mt_call.py A suites/voice/mo_mt_call_osmux.py 4 files changed, 81 insertions(+), 52 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/48/14548/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie4f360a77f6fcbc74f140a7fcb5feef2d94ac734 Gerrit-Change-Number: 14548 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 Wed Jun 19 16:57:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Jun 2019 16:57:21 +0000 Subject: Change in ...osmo-msc[master]: tests/msc_vlr: fix: do not pass RAT type to expect_bssap_clear() In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14514 ) Change subject: tests/msc_vlr: fix: do not pass RAT type to expect_bssap_clear() ...................................................................... tests/msc_vlr: fix: do not pass RAT type to expect_bssap_clear() The function name implies OSMO_RAT_GERAN_A, and it has nothing to do with other OSMO_RAT_* types. Found using clang: warning: too many arguments in call to 'expect_bssap_clear' expect_bssap_clear(OSMO_RAT_GERAN_A); ^^^^^^^^^^^^^^^^ Change-Id: Id3a3af33fcc5da4ca4c48a2f589a69f3568d2586 --- M tests/msc_vlr/msc_vlr_test_gsm_authen.c M tests/msc_vlr/msc_vlr_test_gsm_ciph.c M tests/msc_vlr/msc_vlr_test_no_authen.c M tests/msc_vlr/msc_vlr_test_reject_concurrency.c 4 files changed, 11 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.c b/tests/msc_vlr/msc_vlr_test_gsm_authen.c index 8776e03..ee5af1e 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_authen.c +++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.c @@ -113,7 +113,7 @@ VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d"); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); @@ -327,7 +327,7 @@ VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d"); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); @@ -1017,7 +1017,7 @@ VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d"); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.c b/tests/msc_vlr/msc_vlr_test_gsm_ciph.c index c76cba4..155afbe 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.c +++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.c @@ -128,7 +128,7 @@ VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d"); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); @@ -363,7 +363,7 @@ VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d"); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); @@ -967,7 +967,7 @@ VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d"); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); @@ -1158,7 +1158,7 @@ VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d"); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); @@ -1375,7 +1375,7 @@ VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d"); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.c b/tests/msc_vlr/msc_vlr_test_no_authen.c index ae77252..9d506d6 100644 --- a/tests/msc_vlr/msc_vlr_test_no_authen.c +++ b/tests/msc_vlr/msc_vlr_test_no_authen.c @@ -69,7 +69,7 @@ EXPECT_ACCEPTED(true); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); @@ -227,7 +227,7 @@ EXPECT_ACCEPTED(true); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.c b/tests/msc_vlr/msc_vlr_test_reject_concurrency.c index fe53469..648313f 100644 --- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.c +++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.c @@ -308,7 +308,7 @@ BTW("The original CM Service Request can conclude"); /* Release connection */ - expect_bssap_clear(OSMO_RAT_GERAN_A); + expect_bssap_clear(); conn_conclude_cm_service_req(g_msub, MSC_A_USE_CM_SERVICE_SMS); btw("all requests serviced, conn has been released"); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Id3a3af33fcc5da4ca4c48a2f589a69f3568d2586 Gerrit-Change-Number: 14514 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 Wed Jun 19 16:57:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 19 Jun 2019 16:57:31 +0000 Subject: Change in ...osmo-msc[master]: libvlr/vlr.c: do not expire subscribers if periodic LU is disabled In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14525 ) Change subject: libvlr/vlr.c: do not expire subscribers if periodic LU is disabled ...................................................................... libvlr/vlr.c: do not expire subscribers if periodic LU is disabled When periodic Location Update is disabled (T3212 = 0), it was noticed that OsmoMSC does expire subscribers quite soon - after 60 seconds (VLR_SUBSCRIBER_LU_EXPIRATION_INTERVAL) since the last LU. In order to avoid that, we need to check T3212 timer value in vlr_subscr_expire_lu(), and if it's equal to 0, do not expire anybody until the explicit IMSI Detach. Change-Id: I2ead2241a3394dbdd5417f4554190df3fd698af2 --- M src/libvlr/vlr.c 1 file changed, 7 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/libvlr/vlr.c b/src/libvlr/vlr.c index 5610cfb..625b699 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -519,8 +519,15 @@ { struct vlr_instance *vlr = data; struct vlr_subscr *vsub, *vsub_tmp; + struct gsm_network *net; struct timespec now; + /* Periodic location update might be disabled from the VTY, + * so we shall not expire subscribers until explicit IMSI Detach. */ + net = vlr->user_ctx; /* XXX move t3212 into struct vlr_instance? */ + if (!net->t3212) + goto done; + if (llist_empty(&vlr->subscribers)) goto done; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2ead2241a3394dbdd5417f4554190df3fd698af2 Gerrit-Change-Number: 14525 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 17:04:17 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 19 Jun 2019 17:04:17 +0000 Subject: Change in ...docker-playground[master]: Have only one bts/bsc configured in osmo-bsc and bscnat In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14546 ) Change subject: Have only one bts/bsc configured in osmo-bsc and bscnat ...................................................................... Patch Set 1: Code-Review+1 I agree the proper fix is in #2417, but while we implement that, this one is fine enough. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I57468d983580b5ed4f15961ac1eac9bed9096556 Gerrit-Change-Number: 14546 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 19 Jun 2019 17:04:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 19 22:32:38 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 Jun 2019 22:32:38 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/ranap: enrich both t(s|r)_RANAP_DirectTransfer templates Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14550 Change subject: library/ranap: enrich both t(s|r)_RANAP_DirectTransfer templates ...................................................................... library/ranap: enrich both t(s|r)_RANAP_DirectTransfer templates Instead of having two similar variants of RANAP_DirectTransfer: - t(s|r)_RANAP_DirectTransfer, and - t(s|r)_RANAP_DirectTransferSAPI, let's make the first one more flexible, and drop the last one. This is achieved by introducing two supplementary functions: - f_gen_ts_dt_ies(), and - f_gen_tr_dt_ies, which dynamically compose DirectTransfer.protocolIEs. Change-Id: I7333d08c4d5a72159bfbd50fe8e7b1084cd61b9e --- M library/RAN_Emulation.ttcnpp M library/ranap/RANAP_Templates.ttcn 2 files changed, 84 insertions(+), 94 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/50/14550/1 diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index de5b7f3..c7f67c4 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -1097,12 +1097,7 @@ #ifdef RAN_EMULATION_RANAP case (RAN_PROTOCOL_RANAP) { var RANAP_PDU ranap; - if (false /* SAPI */) { - var RANAP_IEs.SAPI sapi := sapi_0; - ranap := valueof(ts_RANAP_DirectTransferSAPI(l3_enc, sapi)); - } else { - ranap := valueof(ts_RANAP_DirectTransfer(l3_enc)); - } + ranap := valueof(ts_RANAP_DirectTransfer(l3_enc, sapi := sapi_0)); RANAP.send(ts_RANAP_DATA_req(sccp_conn_id, ranap)); } #endif diff --git a/library/ranap/RANAP_Templates.ttcn b/library/ranap/RANAP_Templates.ttcn index e55f212..fdced83 100644 --- a/library/ranap/RANAP_Templates.ttcn +++ b/library/ranap/RANAP_Templates.ttcn @@ -998,25 +998,94 @@ * Direct Transfer *****************************************************************************************************/ +private function f_gen_ts_dt_ies(template (value) NAS_PDU nas, + template (omit) SAPI sapi, + template (value) DirectTransfer.protocolIEs opt_ies) +return DirectTransfer.protocolIEs { + var DirectTransfer.protocolIEs ies := { + /* NAS PDU is mandatory */ + { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := valueof(nas) + } + } + }; + + /* Optional IEs, e.g. LAI, RAC, SAI */ + ies := ies & valueof(opt_ies); + + /* Optional SAPI is the last IE */ + if (isvalue(sapi)) { + ies := ies & {{ + id := id_SAPI, + criticality := ignore, + value_ := { + sAPI := valueof(sapi) + } + }}; + } + + return ies; +} + +private function f_gen_tr_dt_ies(template NAS_PDU nas, + template SAPI sapi, + template DirectTransfer.protocolIEs opt_ies) +return template DirectTransfer.protocolIEs { + var template DirectTransfer.protocolIEs ies := { + /* NAS PDU is mandatory */ + { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := nas + } + } + }; + + /* Optional IEs start from index 1 */ + var integer idx := 1; + + /* Optional IEs, e.g. LAI, RAC, SAI */ + if (istemplatekind(opt_ies, "*")) { + ies[idx] := *; + idx := idx + 1; + } else if (not istemplatekind(opt_ies, "omit")) { + for (var integer i := 0; i < lengthof(opt_ies); i := i + 1) { + ies[idx] := opt_ies[idx]; + idx := idx + 1; + } + } + + /* Optional SAPI is the last IE */ + if (istemplatekind(sapi, "*")) { + ies[idx] := *; + } else if (not istemplatekind(sapi, "omit")) { + ies[idx] := { + id := id_SAPI, + criticality := ignore, + value_ := { + sAPI := sapi + } + }; + } + + return ies; +} + template (value) RANAP_PDU ts_RANAP_DirectTransfer(template (value) NAS_PDU nas, - /* template DirectTransfer.protocolIEs ies := {}, */ + template (omit) SAPI sapi := sapi_0, + template (value) DirectTransfer.protocolIEs ies := {}, template (omit) DirectTransfer.protocolExtensions exts := omit) := { initiatingMessage := { procedureCode := id_DirectTransfer, criticality := ignore, value_ := { directTransfer := { - protocolIEs := { - { - id := id_NAS_PDU, - criticality := ignore, - value_ := { - nAS_PDU := nas - } - } - /* LAI, RAC, SAI */ - }, + protocolIEs := f_gen_ts_dt_ies(nas, sapi, ies), protocolExtensions := exts } } @@ -1025,88 +1094,14 @@ template RANAP_PDU tr_RANAP_DirectTransfer(template NAS_PDU nas, template SAPI sapi := sapi_0, - /* template DirectTransfer.protocolIEs ies := {}, */ + template DirectTransfer.protocolIEs ies := *, template DirectTransfer.protocolExtensions exts := *) := { initiatingMessage := { procedureCode := id_DirectTransfer, criticality := ignore, value_ := { directTransfer := { - protocolIEs := { - { - id := id_NAS_PDU, - criticality := ignore, - value_ := { - nAS_PDU := nas - } - }, - * /* LAI, RAC, SAI */ - }, - protocolExtensions := exts - } - } - } -} - -template (value) RANAP_PDU -ts_RANAP_DirectTransferSAPI(template (value) NAS_PDU nas, - template (value) SAPI sapi := sapi_0, - /* template DirectTransfer.protocolIEs ies := {}, */ - template (omit) DirectTransfer.protocolExtensions exts := omit) := { - initiatingMessage := { - procedureCode := id_DirectTransfer, - criticality := ignore, - value_ := { - directTransfer := { - protocolIEs := { - { - id := id_NAS_PDU, - criticality := ignore, - value_ := { - nAS_PDU := nas - } - }, - /* LAI, RAC, SAI */ - { - id := id_SAPI, - criticality := ignore, - value_ := { - sAPI := sapi - } - } - }, - protocolExtensions := exts - } - } - } -} -template RANAP_PDU -tr_RANAP_DirectTransferSAPI(template NAS_PDU nas, - template SAPI sapi := sapi_0, - /* template DirectTransfer.protocolIEs ies := {}, */ - template DirectTransfer.protocolExtensions exts := *) := { - initiatingMessage := { - procedureCode := id_DirectTransfer, - criticality := ignore, - value_ := { - directTransfer := { - protocolIEs := { - { - id := id_NAS_PDU, - criticality := ignore, - value_ := { - nAS_PDU := nas - } - }, - *, /* LAI, RAC, SAI */ - { - id := id_SAPI, - criticality := ignore, - value_ := { - sAPI := sapi - } - } - }, + protocolIEs := f_gen_tr_dt_ies(nas, sapi, ies), protocolExtensions := exts } } @@ -1412,7 +1407,7 @@ var integer i; /* InitialUE message has no SAPI */ - if (match(ranap, tr_RANAP_DirectTransfer(?, ?))) { + if (match(ranap, tr_RANAP_DirectTransfer(?, omit))) { var DirectTransfer.protocolIEs ies := ranap.initiatingMessage.value_.directTransfer.protocolIEs; for (i := 0; i < lengthof(ies); i := i+1) { if (ies[i].id == id_SAPI) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7333d08c4d5a72159bfbd50fe8e7b1084cd61b9e Gerrit-Change-Number: 14550 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 19 22:32:39 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 Jun 2019 22:32:39 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RAN_Emulation.ttcnpp: fix: properly handle SAPI / DLCI for RANAP Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14551 Change subject: library/RAN_Emulation.ttcnpp: fix: properly handle SAPI / DLCI for RANAP ...................................................................... library/RAN_Emulation.ttcnpp: fix: properly handle SAPI / DLCI for RANAP Some of our SMS related test cases are failing. The problem is that SMS related RAN messages shall be sent on SAPI 3, as per GSM TS 04.11, section 2.3, while they actually being sent on SAPI 0. For the messages coming from the TCs towards OsmoMSC over RANAP, we need to convert from DLCI to SAPI in f_xmit_raw_l3(). OsmoMSC also needs to be patched, because it seems to ignore SAPI IE. Change-Id: I6199fd5f26774fb1ec419bc1ef9e1caeca3a0d35 --- M library/RAN_Emulation.ttcnpp 1 file changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/51/14551/1 diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index c7f67c4..60c363b 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -1096,8 +1096,15 @@ #endif #ifdef RAN_EMULATION_RANAP case (RAN_PROTOCOL_RANAP) { + var RANAP_IEs.SAPI sapi := sapi_0; var RANAP_PDU ranap; - ranap := valueof(ts_RANAP_DirectTransfer(l3_enc, sapi := sapi_0)); + + /* FIXME: is it the correct way of DLCI -> SAPI transformation? */ + if (dlci == '03'O) { + sapi := sapi_3; + } + + ranap := valueof(ts_RANAP_DirectTransfer(l3_enc, sapi := sapi)); RANAP.send(ts_RANAP_DATA_req(sccp_conn_id, ranap)); } #endif -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6199fd5f26774fb1ec419bc1ef9e1caeca3a0d35 Gerrit-Change-Number: 14551 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 19 23:44:07 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 Jun 2019 23:44:07 +0000 Subject: Change in ...osmo-msc[master]: libmsc/ran_msg_iu.c: fix: properly handle SAPI IE of RANAP_DirectTran... Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14552 Change subject: libmsc/ran_msg_iu.c: fix: properly handle SAPI IE of RANAP_DirectTransfer ...................................................................... libmsc/ran_msg_iu.c: fix: properly handle SAPI IE of RANAP_DirectTransfer The RANAP DirectTransfer message may contain an optional SAPI IE. Thanks to our TTCN-3 tests (and Wireshark!), it was discovered that this IE is ignored, so even if the MO SMS related messages arrive on SAPI 3 (as per GSM TS 04.11, section 2.3) OsmoMSC sends MT messages on SAPI 0. In ran_iu_decode_l3() we need to check if the SAPI IE is present, and tag the NAS PDU message buffer with a proper DLCI value. This change makes the failing SMS related test cases pass. Change-Id: I728b55b04e87fc23be6d4f8735e8cad82b6f640e --- M src/libmsc/ran_msg_iu.c 1 file changed, 12 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/52/14552/1 diff --git a/src/libmsc/ran_msg_iu.c b/src/libmsc/ran_msg_iu.c index f443944..d5b9143 100644 --- a/src/libmsc/ran_msg_iu.c +++ b/src/libmsc/ran_msg_iu.c @@ -37,6 +37,7 @@ #include #include #include +#include /* Implement the extern talloc_asn1_ctx from libasn1c as talloc ctx for ASN.1 message composition */ void *talloc_asn1_ctx = NULL; @@ -92,8 +93,11 @@ msgb_free(ran); } -static void ran_iu_decode_l3(struct ran_dec *ran_iu_decode, const RANAP_NAS_PDU_t *nas_pdu, const char *msg_name) +static void ran_iu_decode_l3(struct ran_dec *ran_iu_decode, + const RANAP_DirectTransferIEs_t *ies, + const char *msg_name) { + const RANAP_NAS_PDU_t *nas_pdu = &ies->nas_pdu; struct msgb *ran = msgb_alloc(256, msg_name); struct ran_msg ran_dec_msg; @@ -101,6 +105,12 @@ ran->l3h = msgb_put(ran, nas_pdu->size); memcpy(ran->l3h, nas_pdu->buf, nas_pdu->size); + /* Handle optional SAPI IE */ + if (ies->presenceMask & DIRECTTRANSFERIES_RANAP_SAPI_PRESENT) { + if (ies->sapi == RANAP_SAPI_sapi_3) + OMSC_LINKID_CB(ran) = UM_SAPI_SMS; + } + ran_dec_msg = (struct ran_msg){ .msg_type = RAN_MSG_DTAP, .msg_name = msg_name, @@ -266,7 +276,7 @@ return; case RANAP_ProcedureCode_id_DirectTransfer: - ran_iu_decode_l3(ran_iu_decode, &message->msg.directTransferIEs.nas_pdu, "RANAP DirectTransfer RAN PDU"); + ran_iu_decode_l3(ran_iu_decode, &message->msg.directTransferIEs, "RANAP DirectTransfer RAN PDU"); return; case RANAP_ProcedureCode_id_SecurityModeControl: -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I728b55b04e87fc23be6d4f8735e8cad82b6f640e Gerrit-Change-Number: 14552 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 19 23:54:02 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 Jun 2019 23:54:02 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests_Iu.ttcn: fix TC_iu_lu_and_mo_ussd_mo_release(): use proper ... Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14553 Change subject: MSC_Tests_Iu.ttcn: fix TC_iu_lu_and_mo_ussd_mo_release(): use proper BSC number ...................................................................... MSC_Tests_Iu.ttcn: fix TC_iu_lu_and_mo_ussd_mo_release(): use proper BSC number Change-Id: I58149f0e9cbae9684a8a899bfee81b0de609ccac --- M msc/MSC_Tests_Iu.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/53/14553/1 diff --git a/msc/MSC_Tests_Iu.ttcn b/msc/MSC_Tests_Iu.ttcn index e592573..6491e27 100644 --- a/msc/MSC_Tests_Iu.ttcn +++ b/msc/MSC_Tests_Iu.ttcn @@ -383,7 +383,7 @@ testcase TC_iu_lu_and_mo_ussd_mo_release() runs on MTC_CT { var BSC_ConnHdlr vc_conn; - f_init(); + f_init(3); vc_conn := f_start_handler(refers(f_tc_lu_and_mo_ussd_mo_release), 1050, ran_idx := 2, ran_is_geran := false); vc_conn.done; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I58149f0e9cbae9684a8a899bfee81b0de609ccac Gerrit-Change-Number: 14553 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 19 23:59:51 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 19 Jun 2019 23:59:51 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RAN_Emulation.ttcnpp: fix: properly handle SAPI / DLCI for RANAP In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14551 ) Change subject: library/RAN_Emulation.ttcnpp: fix: properly handle SAPI / DLCI for RANAP ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14551/1/library/RAN_Emulation.ttcnpp File library/RAN_Emulation.ttcnpp: https://gerrit.osmocom.org/#/c/14551/1/library/RAN_Emulation.ttcnpp at 1099 PS1, Line 1099: sapi_0 Hmm, I think omit would be better as default value. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6199fd5f26774fb1ec419bc1ef9e1caeca3a0d35 Gerrit-Change-Number: 14551 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 19 Jun 2019 23:59:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Jun 20 03:07:54 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 20 Jun 2019 03:07:54 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0af8a130089_371a59c5f4166683@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 533s] | This file was extended by libosmocore config.status 1.1.0.71-18e0, which was [ 533s] | generated by GNU Autoconf 2.69. Invocation command line was [ 533s] | [ 533s] | CONFIG_FILES = [ 533s] | CONFIG_HEADERS = [ 533s] | CONFIG_LINKS = [ 533s] | CONFIG_COMMANDS = [ 533s] | $ ./config.status Doxyfile.core [ 533s] | [ 533s] | on armbuild21 [ 533s] | [ 533s] | config.status:1200: creating Doxyfile.core [ 533s] [ 533s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 533s] make[1]: *** [override_dh_auto_test] Error 1 [ 533s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 533s] debian/rules:15: recipe for target 'build' failed [ 533s] make: *** [build] Error 2 [ 533s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 533s] [ 533s] armbuild21 failed "build libosmocore_1.1.0.71.18e0.dsc" at Thu Jun 20 03:07:48 UTC 2019. [ 533s] [ 533s] ### VM INTERACTION START ### [ 535s] [ 517.813486] sysrq: SysRq : Power Off [ 535s] [ 517.851267] reboot: Power down [ 536s] ### VM INTERACTION END ### [ 536s] [ 536s] armbuild21 failed "build libosmocore_1.1.0.71.18e0.dsc" at Thu Jun 20 03:07:52 UTC 2019. [ 536s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Jun 20 05:26:30 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 20 Jun 2019 05:26:30 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0b19148c3ad_371a59c5f4179926@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 541s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 541s] ./src/common/bts.c:423: undefined reference to `lapdm_channel_init2' [ 541s] collect2: error: ld returned 1 exit status [ 541s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 541s] make[4]: *** [osmo-bts-virtual] Error 1 [ 541s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 541s] Makefile:385: recipe for target 'all-recursive' failed [ 541s] make[3]: *** [all-recursive] Error 1 [ 541s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 541s] Makefile:434: recipe for target 'all-recursive' failed [ 541s] make[2]: *** [all-recursive] Error 1 [ 541s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 541s] Makefile:366: recipe for target 'all' failed [ 541s] make[1]: *** [all] Error 2 [ 541s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 541s] dh_auto_build: make -j1 returned exit code 2 [ 541s] debian/rules:12: recipe for target 'build' failed [ 541s] make: *** [build] Error 2 [ 541s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 541s] [ 541s] armbuild16 failed "build osmo-bts_0.8.1.327.876e.dsc" at Thu Jun 20 05:26:20 UTC 2019. [ 541s] [ 541s] ### VM INTERACTION START ### [ 544s] [ 478.157106] sysrq: SysRq : Power Off [ 544s] [ 478.159259] reboot: Power down [ 544s] ### VM INTERACTION END ### [ 544s] [ 544s] armbuild16 failed "build osmo-bts_0.8.1.327.876e.dsc" at Thu Jun 20 05:26:23 UTC 2019. [ 544s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Jun 20 06:29:55 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 20 Jun 2019 06:29:55 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0b27f8e3df0_371a59c5f418855d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-sgsn failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 662s] bss_ptmsi = bss_ptmsi | GSM23003_TMSI_SGSN_MASK; [ 662s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 662s] gb_proxy.c:246:28: note: each undeclared identifier is reported only once for each function it appears in [ 662s] Makefile:615: recipe for target 'gb_proxy.o' failed [ 662s] make[4]: *** [gb_proxy.o] Error 1 [ 662s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/gprs' [ 662s] Makefile:391: recipe for target 'all-recursive' failed [ 662s] make[3]: *** [all-recursive] Error 1 [ 663s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 663s] Makefile:453: recipe for target 'all-recursive' failed [ 663s] make[2]: *** [all-recursive] Error 1 [ 663s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 663s] Makefile:385: recipe for target 'all' failed [ 663s] make[1]: *** [all] Error 2 [ 663s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 663s] dh_auto_build: make -j1 returned exit code 2 [ 663s] debian/rules:45: recipe for target 'build' failed [ 663s] make: *** [build] Error 2 [ 663s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 663s] [ 663s] armbuild14 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Thu Jun 20 06:29:37 UTC 2019. [ 663s] [ 663s] ### VM INTERACTION START ### [ 666s] [ 613.896583] sysrq: SysRq : Power Off [ 666s] [ 613.898719] reboot: Power down [ 666s] ### VM INTERACTION END ### [ 666s] [ 666s] armbuild14 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Thu Jun 20 06:29:40 UTC 2019. [ 666s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Jun 20 06:34:29 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 20 Jun 2019 06:34:29 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0b29029e03a_371a59c5f4188988@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-msc failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 445s] tmsi |= GSM23003_TMSI_SGSN_MASK; [ 445s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 445s] vlr.c:339:12: note: each undeclared identifier is reported only once for each function it appears in [ 445s] Makefile:442: recipe for target 'vlr.o' failed [ 445s] make[4]: *** [vlr.o] Error 1 [ 445s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/libvlr' [ 445s] Makefile:422: recipe for target 'all-recursive' failed [ 445s] make[3]: *** [all-recursive] Error 1 [ 445s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 445s] Makefile:462: recipe for target 'all-recursive' failed [ 445s] make[2]: *** [all-recursive] Error 1 [ 445s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 445s] Makefile:394: recipe for target 'all' failed [ 445s] make[1]: *** [all] Error 2 [ 445s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 445s] dh_auto_build: make -j1 returned exit code 2 [ 445s] debian/rules:45: recipe for target 'build' failed [ 445s] make: *** [build] Error 2 [ 445s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 445s] [ 445s] armbuild01 failed "build osmo-msc_1.3.1.171.718f32.dsc" at Thu Jun 20 06:34:18 UTC 2019. [ 445s] [ 445s] ### VM INTERACTION START ### [ 448s] [ 415.584524] sysrq: SysRq : Power Off [ 448s] [ 415.593562] reboot: Power down [ 448s] ### VM INTERACTION END ### [ 448s] [ 448s] armbuild01 failed "build osmo-msc_1.3.1.171.718f32.dsc" at Thu Jun 20 06:34:21 UTC 2019. [ 448s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Jun 20 08:46:13 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Jun 2019 08:46:13 +0000 Subject: Change in ...osmo-msc[master]: sms_queue.c: Improve misleading log line Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/14554 Change subject: sms_queue.c: Improve misleading log line ...................................................................... sms_queue.c: Improve misleading log line Otherwise when read in a log file it seems it's really going to send 20 sms even if there's none to send. Change-Id: Ieb9bb61a90f295d2ba5fb67a2abee2d30785876d --- M src/libmsc/sms_queue.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/54/14554/1 diff --git a/src/libmsc/sms_queue.c b/src/libmsc/sms_queue.c index 6346c1d..d60cb4a 100644 --- a/src/libmsc/sms_queue.c +++ b/src/libmsc/sms_queue.c @@ -256,7 +256,7 @@ unsigned long long first_sub = 0; int attempted = 0, rounds = 0; - LOGP(DLSMS, LOGL_DEBUG, "Attempting to send %d SMS\n", attempts); + LOGP(DLSMS, LOGL_DEBUG, "Attempting to send up to %d SMS\n", attempts); do { struct gsm_sms_pending *pending; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ieb9bb61a90f295d2ba5fb67a2abee2d30785876d Gerrit-Change-Number: 14554 Gerrit-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 20 10:19:12 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Jun 2019 10:19:12 +0000 Subject: Change in ...osmo-msc[master]: sms_queue.c: Improve misleading log line In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14554 ) Change subject: sms_queue.c: Improve misleading log line ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ieb9bb61a90f295d2ba5fb67a2abee2d30785876d Gerrit-Change-Number: 14554 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 20 Jun 2019 10:19:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 20 10:29:21 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Jun 2019 10:29:21 +0000 Subject: Change in ...osmo-msc[master]: sms_queue.c: Improve misleading log line In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14554 ) Change subject: sms_queue.c: Improve misleading log line ...................................................................... sms_queue.c: Improve misleading log line Otherwise when read in a log file it seems it's really going to send 20 sms even if there's none to send. Change-Id: Ieb9bb61a90f295d2ba5fb67a2abee2d30785876d --- M src/libmsc/sms_queue.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/libmsc/sms_queue.c b/src/libmsc/sms_queue.c index 6346c1d..d60cb4a 100644 --- a/src/libmsc/sms_queue.c +++ b/src/libmsc/sms_queue.c @@ -256,7 +256,7 @@ unsigned long long first_sub = 0; int attempted = 0, rounds = 0; - LOGP(DLSMS, LOGL_DEBUG, "Attempting to send %d SMS\n", attempts); + LOGP(DLSMS, LOGL_DEBUG, "Attempting to send up to %d SMS\n", attempts); do { struct gsm_sms_pending *pending; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ieb9bb61a90f295d2ba5fb67a2abee2d30785876d Gerrit-Change-Number: 14554 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 20 11:54:58 2019 From: gerrit-no-reply at lists.osmocom.org (tsaitgaist) Date: Thu, 20 Jun 2019 11:54:58 +0000 Subject: Change in ...simtrace2[master]: qmod: Disable hub reset and EEPROM erase/write by default In-Reply-To: References: Message-ID: tsaitgaist has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/14549 ) Change subject: qmod: Disable hub reset and EEPROM erase/write by default ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/14549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I1c8cca2f7f0f0070d7bf1ade676e035c45e4d5ab Gerrit-Change-Number: 14549 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tsaitgaist Gerrit-Comment-Date: Thu, 20 Jun 2019 11:54:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Jun 20 13:09:41 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 20 Jun 2019 13:09:41 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d0b85aff173a_4e3c62c5f064575@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 102s] #define VERSION "0.1.0" [ 102s] #define STDC_HEADERS 1 [ 102s] #d[ 89.112198] serial8250: too much work for irq4 [ 102s] efine HAVE_SYS_TYPES_H 1 [ 102s] #define HAVE_SYS_STAT_H 1 [ 102s] #define HAVE_STDLIB_H 1 [ 102s] #define HAVE_STRING_H 1 [ 102s] #define HAVE_MEMORY_H 1 [ 102s] #define HAVE_STRINGS_H 1 [ 102s] #define HAVE_INTTYPES_H 1 [ 102s] #define HAVE_STDINT_H 1 [ 102s] #define HAVE_UNISTD_H 1 [ 102s] #define HAVE_DLFCN_H 1 [ 102s] #define LT_OBJDIR ".libs/" [ 102s] [ 102s] configure: exit 1 [ 102s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 102s] make: *** [debian/rules:45: build] Error 2 [ 102s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 102s] [ 102s] lamb58 failed "build osmo-sysmon_0.1.0.dsc" at Thu Jun 20 13:09:21 UTC 2019. [ 102s] [ 102s] ### VM INTERACTION START ### [ 106s] [ 92.325769] sysrq: SysRq : Power Off [ 106s] [ 92.333556] reboot: Power down [ 106s] ### VM INTERACTION END ### [ 106s] [ 106s] lamb58 failed "build osmo-sysmon_0.1.0.dsc" at Thu Jun 20 13:09:25 UTC 2019. [ 106s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Jun 20 13:13:57 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 20 Jun 2019 13:13:57 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d0b869f65336_4e3c62c5f0649c2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Unstable/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 163s] | configure: exit 0 [ 163s] [ 163s] # -*- compilation -*- [ 163s] 4. testsuite.at:23: testing db ... [ 163s] ./testsuite.at:28: $abs_top_builddir/tests/db/db_test [ 163s] --- expout 2019-06-20 13:13:49.332000000 +0000 [ 163s] +++ /usr/src/packages/BUILD/openbsc/tests/testsuite.dir/at-groups/4/stdout 2019-06-20 13:13:49.512000000 +0000 [ 163s] @@ -1,4 +1,6 @@ [ 163s] Testing subscriber database code. [ 163s] DB: Database initialized. [ 163s] +no tables in statement ! [ 163s] +no tables in statement ! [ 163s] DB: Database prepared. [ 163s] Done [ 163s] 4. testsuite.at:23: 4. db (testsuite.at:23): FAILED (testsuite.at:28) [ 163s] make[1]: *** [debian/rules:30: override_dh_auto_test] Error 1 [ 163s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 163s] make: *** [debian/rules:13: build] Error 2 [ 163s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 163s] [ 163s] lamb02 failed "build openbsc_1.2.0.dsc" at Thu Jun 20 13:13:50 UTC 2019. [ 163s] [ 163s] ### VM INTERACTION START ### [ 166s] [ 152.939807] sysrq: SysRq : Power Off [ 166s] [ 152.947505] reboot: Power down [ 166s] ### VM INTERACTION END ### [ 166s] [ 166s] lamb02 failed "build openbsc_1.2.0.dsc" at Thu Jun 20 13:13:54 UTC 2019. [ 166s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Jun 20 15:31:35 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Jun 2019 15:31:35 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/ranap: enrich both t(s|r)_RANAP_DirectTransfer templates In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14550 ) Change subject: library/ranap: enrich both t(s|r)_RANAP_DirectTransfer templates ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7333d08c4d5a72159bfbd50fe8e7b1084cd61b9e Gerrit-Change-Number: 14550 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Thu, 20 Jun 2019 15:31: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 20 15:31:41 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 20 Jun 2019 15:31:41 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RAN_Emulation.ttcnpp: fix: properly handle SAPI / DLCI for RANAP In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14551 ) Change subject: library/RAN_Emulation.ttcnpp: fix: properly handle SAPI / DLCI for RANAP ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6199fd5f26774fb1ec419bc1ef9e1caeca3a0d35 Gerrit-Change-Number: 14551 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 20 Jun 2019 15:31: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 Thu Jun 20 16:00:51 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 20 Jun 2019 16:00:51 +0000 Subject: Change in ...docker-playground[master]: osmo-mgw: Bind to 0.0.0.0 by default In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14531 ) Change subject: osmo-mgw: Bind to 0.0.0.0 by default ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14531/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14531/1//COMMIT_MSG at 10 PS1, Line 10: don't configure that exact IP address) > What's the issue here? We do set that IP addr when we use the docker container right? Please extend [?] The ttcn3 mgw test uses 172.18.4.180. 0.180 is used as IP in the osmo-mgw-master Makefile - but binding to any IP should work in that case as well? Right now regen_doc uses 172.18.12.23 as IP address regardless of which osmo-* program is started. I should probably change that to an unused (by ttcn3 tests) subnet such as 172.18.16.0/24. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic5828957a29d4f317e1ebf4f03b5f5359f6250e8 Gerrit-Change-Number: 14531 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 20 Jun 2019 16:00:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 20 16:06:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Jun 2019 16:06:33 +0000 Subject: Change in ...osmo-ggsn[master]: cosmetic: gtp: queue: remove trailing whitespace Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14555 Change subject: cosmetic: gtp: queue: remove trailing whitespace ...................................................................... cosmetic: gtp: queue: remove trailing whitespace Change-Id: I20c83cd607ae8e1025fdc1a810c0d27bad80b178 --- M gtp/queue.c M gtp/queue.h 2 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/55/14555/1 diff --git a/gtp/queue.c b/gtp/queue.c index ebeebe6..305a33c 100644 --- a/gtp/queue.c +++ b/gtp/queue.c @@ -1,14 +1,14 @@ -/* +/* * OsmoGGSN - Gateway GPRS Support Node * Copyright (C) 2002, 2003, 2004 Mondru AB. * Copyright (C) 2011 Harald Welte * Copyright (C) 2016 sysmocom - s.f.m.c. GmbH - * + * * The contents of this file may be used under the terms of the GNU * General Public License Version 2, provided that the above copyright * notice and this permission notice is included in all copies or * substantial portions of the software. - * + * */ /* diff --git a/gtp/queue.h b/gtp/queue.h index 2e253dd..ec5f3de 100644 --- a/gtp/queue.h +++ b/gtp/queue.h @@ -1,12 +1,12 @@ -/* +/* * OsmoGGSN - Gateway GPRS Support Node * Copyright (C) 2002 Mondru AB. - * + * * The contents of this file may be used under the terms of the GNU * General Public License Version 2, provided that the above copyright * notice and this permission notice is included in all copies or * substantial portions of the software. - * + * */ /* -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I20c83cd607ae8e1025fdc1a810c0d27bad80b178 Gerrit-Change-Number: 14555 Gerrit-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 20 16:06:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Jun 2019 16:06:33 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Add missing headers Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14556 Change subject: gtp: Add missing headers ...................................................................... gtp: Add missing headers Those headers are using types defined in other places (like sockaddr_in) and don't explicitly include them, which makes future queue_test fail. Change-Id: I65e12a067d89ef71be3719636b64f4d93ea73cc4 --- M gtp/pdp.h M gtp/queue.h 2 files changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/56/14556/1 diff --git a/gtp/pdp.h b/gtp/pdp.h index 9527464..d64d394 100644 --- a/gtp/pdp.h +++ b/gtp/pdp.h @@ -14,6 +14,7 @@ #define _PDP_H #include +#include #include diff --git a/gtp/queue.h b/gtp/queue.h index ec5f3de..76cb7be 100644 --- a/gtp/queue.h +++ b/gtp/queue.h @@ -17,6 +17,8 @@ #ifndef _QUEUE_H #define _QUEUE_H +#include "gtp.h" + #define QUEUE_DEBUG 0 /* Print debug information */ #define QUEUE_SIZE 1024 /* Size of retransmission queue */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14556 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I65e12a067d89ef71be3719636b64f4d93ea73cc4 Gerrit-Change-Number: 14556 Gerrit-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 20 16:06:33 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Jun 2019 16:06:33 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: queue.c: Document queue APIs Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14557 Change subject: gtp: queue.c: Document queue APIs ...................................................................... gtp: queue.c: Document queue APIs Change-Id: I8523a0d0508d7fb870a4a9119aa8eb4c3a4d6f17 --- M gtp/queue.c 1 file changed, 45 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/57/14557/1 diff --git a/gtp/queue.c b/gtp/queue.c index 305a33c..1db6536 100644 --- a/gtp/queue.c +++ b/gtp/queue.c @@ -121,7 +121,10 @@ return EOF; /* End of linked list and not found */ } -/*! \brief Allocates and initialises new queue structure */ +/*! Allocates and initialises new queue structure + * \param[out] queue pointer where to store the allocated object. Must be freed with queue_free + * \returns zero on success, non-zero on error + */ int queue_new(struct queue_t **queue) { if (QUEUE_DEBUG) @@ -138,7 +141,10 @@ return 0; } -/*! \brief Deallocates queue structure */ +/*! Deallocates queue structure + * \param[in] queue pointer previously allocated by queue_new + * \returns zero on success, non-zero on error. + */ int queue_free(struct queue_t *queue) { if (QUEUE_DEBUG) @@ -149,7 +155,13 @@ return 0; } -/*! \brief Add a new message to the queue */ +/*! Add a new message to the queue + * \param[in] queue pointer previously allocated by queue_new + * \param[out] qmsg first message from the queue (if succeeds) + * \param[in] peer who sent the message to add + * \param[in] seq sequence number of the message to add + * \returns zero on success, non-zero on error. + */ int queue_newmsg(struct queue_t *queue, struct qmsg_t **qmsg, struct sockaddr_in *peer, uint16_t seq) { @@ -176,7 +188,11 @@ } } -/*! \brief Simply remoev a given qmsg_t from the queue + +/*! Remove an element from the queue + * \param[in] queue pointer previously allocated by queue_new + * \param[in] qmsg message to free + * \returns zero on success, non-zero on error. * * Internally, we first delete the entry from the queue, and then update * up our global queue->first / queue->last pointers. Finally, @@ -210,7 +226,11 @@ return 0; } -/*! \brief Move a given qmsg_t to the end of the queue ?!? */ +/*! Move a given qmsg_t to the end of the queue + * \param[in] queue pointer previously allocated by queue_new + * \param[in] qmsg message to move to the end of the queue + * \returns zero on success, non-zero on error. + */ int queue_back(struct queue_t *queue, struct qmsg_t *qmsg) { if (QUEUE_DEBUG) @@ -236,7 +256,11 @@ return 0; } -/*! \brief Get the first element in the entire queue */ +/*! Get the first element in the entire queue + * \param[in] queue pointer previously allocated by queue_new + * \param[out] qmsg first message from the queue (if succeeds) + * \returns zero on success, non-zero on error. + */ int queue_getfirst(struct queue_t *queue, struct qmsg_t **qmsg) { /*printf("queue_getfirst\n"); */ @@ -250,7 +274,13 @@ return 0; } -/*! \brief Get a queue entry for a given peer + seq */ +/*! Get a queue entry for a given peer + seq + * \param[in] queue pointer previously allocated by queue_new + * \param[out] qmsg first message from the queue (if succeeds) + * \param[in] peer who sent the message to retrieve + * \param[in] seq sequence number of the message to retrive + * \returns zero on success, non-zero on error. + */ int queue_seqget(struct queue_t *queue, struct qmsg_t **qmsg, struct sockaddr_in *peer, uint16_t seq) { @@ -272,7 +302,14 @@ return EOF; /* End of linked list and not found */ } -/*! \brief look-up a given seq/peer, return cbp + type and free entry */ +/*! look-up a given seq/peer, return cbp + type and free entry + * \param[in] queue pointer previously allocated by queue_new + * \param[in] peer who sent the message to retrieve + * \param[in] seq sequence number of the message to retrive + * \param[out] type GTP message type + * \param[out] type callback pointer of the message + * \returns zero on success, non-zero on error. + */ int queue_freemsg_seq(struct queue_t *queue, struct sockaddr_in *peer, uint16_t seq, uint8_t * type, void **cbp) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I8523a0d0508d7fb870a4a9119aa8eb4c3a4d6f17 Gerrit-Change-Number: 14557 Gerrit-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 20 16:06:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Jun 2019 16:06:34 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: queue: Add unit test queue_test Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14558 Change subject: gtp: queue: Add unit test queue_test ...................................................................... gtp: queue: Add unit test queue_test Closes: OS#1740 Change-Id: Id09bc5e23aa7a4b864822bc92cc23a4b60db52c3 --- M tests/gtp/Makefile.am A tests/gtp/queue_test.c A tests/gtp/queue_test.ok M tests/testsuite.at 4 files changed, 6,961 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/58/14558/1 diff --git a/tests/gtp/Makefile.am b/tests/gtp/Makefile.am index bb01e3d..fa0fb0b 100644 --- a/tests/gtp/Makefile.am +++ b/tests/gtp/Makefile.am @@ -2,18 +2,30 @@ EXTRA_DIST = \ gtpie_test.ok \ + queue_test.ok \ $(NULL) noinst_PROGRAMS = \ gtpie_test \ + queue_test \ $(NULL) gtpie_test_SOURCES = \ gtpie_test.c \ $(NULL) +queue_test_SOURCES = \ + queue_test.c \ + $(NULL) + gtpie_test_LDADD = \ $(top_builddir)/lib/debug.o \ $(top_builddir)/gtp/libgtp.la \ $(LIBOSMOCORE_LIBS) \ $(NULL) + +queue_test_LDADD = \ + $(top_builddir)/lib/debug.o \ + $(top_builddir)/gtp/libgtp.la \ + $(LIBOSMOCORE_LIBS) \ + $(NULL) diff --git a/tests/gtp/queue_test.c b/tests/gtp/queue_test.c new file mode 100644 index 0000000..bcc6d15 --- /dev/null +++ b/tests/gtp/queue_test.c @@ -0,0 +1,232 @@ +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "../../lib/syserr.h" +#include "../../gtp/queue.h" + +static const struct qmsg_t qmsg_zero; + +static void queue_print(struct queue_t *queue, char* str) +{ + int n; + printf("=== [Queue %s] Next: %d First: %d Last: %d\n", str, + queue->next, queue->first, queue->last); + printf("#\tseq\tnext\tprev\ttimeout\tretrans\ttype\tcbp\n"); + for (n = 0; n < QUEUE_SIZE; n++) { + if (queue->qmsga[n].state == 0) { + /* Nothing there, validate everything is zeroed */ + OSMO_ASSERT(memcmp(&qmsg_zero, &queue->qmsga[n], sizeof(qmsg_zero)) == 0); + continue; + } + printf("%d\t%d\t%d\t%d\t%d\t%d\t%u\t%ld\n", + n, + queue->qmsga[n].seq, + queue->qmsga[n].next, + queue->qmsga[n].prev, + (int)queue->qmsga[n].timeout, + queue->qmsga[n].retrans, + queue->qmsga[n].type, + ((uintptr_t)queue->qmsga[n].cbp & 0xFFFFFFFF) + ); + } + printf("======================================================\n"); +} + +static void test_queue_empty() +{ + printf("***** Testing %s()\n", __func__); + struct queue_t *queue = NULL; + struct qmsg_t *qmsg = NULL; + uint16_t seq = 23; + uint8_t type = 0; + void *cbp = NULL; + struct sockaddr_in peer; + int rc; + + rc = inet_pton(AF_INET, "127.0.0.1", &(peer.sin_addr)); + OSMO_ASSERT(rc == 1); + + rc = queue_new(&queue); + OSMO_ASSERT(rc == 0); + queue_print(queue, "created"); + + rc = queue_getfirst(queue, &qmsg); + OSMO_ASSERT(rc == EOF); + rc = queue_seqget(queue, &qmsg, &peer, seq); + OSMO_ASSERT(rc == EOF); + rc = queue_freemsg_seq(queue, &peer, seq, &type, &cbp); + OSMO_ASSERT(rc==EOF); + + queue_print(queue, "pre-delete"); + rc = queue_free(queue); + OSMO_ASSERT(rc == 0); +} + +static void test_queue_one() +{ + printf("***** Testing %s()\n", __func__); + struct queue_t *queue = NULL; + struct qmsg_t *qmsg = NULL, *qmsg2 = NULL;; + uint16_t seq = 23; + uint8_t type = 0; + void *cbp = NULL; + struct sockaddr_in peer, peer2; + int rc; + + rc = inet_pton(AF_INET, "127.0.0.1", &(peer.sin_addr)); + OSMO_ASSERT(rc == 1); + rc = inet_pton(AF_INET, "127.0.0.2", &(peer2.sin_addr)); + OSMO_ASSERT(rc == 1); + + rc = queue_new(&queue); + OSMO_ASSERT(rc == 0); + queue_print(queue, "created"); + + rc = queue_newmsg(queue, &qmsg, &peer, seq); + OSMO_ASSERT(rc == 0); + queue_print(queue, "first added"); + qmsg->type = GTP_ECHO_REQ; + qmsg->cbp = (void*) 0x13243546; + qmsg->seq = seq; + + rc = queue_getfirst(queue, &qmsg2); + OSMO_ASSERT(rc == 0); + OSMO_ASSERT(qmsg == qmsg2); + + rc = queue_seqget(queue, &qmsg2, &peer, seq); + OSMO_ASSERT(rc == 0); + OSMO_ASSERT(qmsg == qmsg2); + rc = queue_seqget(queue, &qmsg, &peer2, seq); + OSMO_ASSERT(rc == EOF); + rc = queue_seqget(queue, &qmsg, &peer, seq + 1); + OSMO_ASSERT(rc == EOF); + queue_print(queue, "after-get"); + + rc = queue_back(queue, qmsg); + OSMO_ASSERT(rc == 0); + queue_print(queue, "after-back"); + + rc = queue_freemsg_seq(queue, &peer2, seq, &type, &cbp); + OSMO_ASSERT(rc == EOF); + rc = queue_freemsg_seq(queue, &peer, seq + 1, &type, &cbp); + OSMO_ASSERT(rc == EOF); + queue_print(queue, "pree-freemsg"); + rc = queue_freemsg_seq(queue, &peer, seq, &type, &cbp); + OSMO_ASSERT(rc == 0); + OSMO_ASSERT(type == GTP_ECHO_REQ); + OSMO_ASSERT(cbp == (void*)0x13243546); + + queue_print(queue, "pre-delete"); + rc = queue_free(queue); + OSMO_ASSERT(rc == 0); +} + +#define newmsg_fill(queue, qmsg_ptr, peer_ptr, seq) \ + do { \ + int rc = queue_newmsg(queue, &(qmsg_ptr), peer_ptr, seq); \ + OSMO_ASSERT(rc == 0); \ + OSMO_ASSERT(qmsg_ptr); \ + qmsg_ptr->type = GTP_CREATE_PDP_REQ; \ + qmsg_ptr->cbp = (void*)(uintptr_t)seq; \ + } while (0); + +#define freemsg_verify(seq, type, cbp) \ + do { \ + OSMO_ASSERT(type == GTP_CREATE_PDP_REQ); \ + OSMO_ASSERT(cbp == (void*)(uintptr_t)seq); \ + } while (0); + +static void test_queue_full() +{ + /* queue_newmsg until we receive EOF. Try moving back then. */ + printf("***** Testing %s()\n", __func__); + struct queue_t *queue = NULL; + struct qmsg_t *qmsg = NULL; + uint8_t type = 0; + void *cbp = NULL; + struct sockaddr_in peer; + int rc; + int i; + + rc = inet_pton(AF_INET, "127.0.0.1", &(peer.sin_addr)); + OSMO_ASSERT(rc == 1); + + rc = queue_new(&queue); + OSMO_ASSERT(rc == 0); + queue_print(queue, "created"); + + for (i = 0; i < QUEUE_SIZE - 1; i++) { + newmsg_fill(queue, qmsg, &peer, i); + } + queue_print(queue, "after-fill"); + + /* There's one slot left at the end, let's use first()->back() */ + rc = queue_getfirst(queue, &qmsg); + OSMO_ASSERT(rc == 0); + rc = queue_back(queue, qmsg); + OSMO_ASSERT(rc == 0); + queue_print(queue, "after-back"); + + /* Now let's fill last empty slot */ + newmsg_fill(queue, qmsg, &peer, QUEUE_SIZE - 1); + queue_print(queue, "after-full"); + + /* queue is now full, it should fail */ + rc = queue_newmsg(queue, &qmsg, &peer, QUEUE_SIZE); + OSMO_ASSERT(rc == EOF); + queue_print(queue, "after-failing-full"); + + /* Remove 1before-last msg (the one moved back) and make sure we can + re-add it at the end of the list */ + rc = queue_seqget(queue, &qmsg, &peer, 0); + OSMO_ASSERT(rc == 0); + rc = queue_freemsg(queue, qmsg); + queue_print(queue, "after-freeing-0"); + OSMO_ASSERT(rc == 0); + /* Now let's fill last empty slot which should be at the end */ + newmsg_fill(queue, qmsg, &peer, 0); + queue_print(queue, "after-refilling-0"); + + /* Now free first half seq set in increasing order */ + for (i = 0; i < QUEUE_SIZE / 2; i++) { + rc = queue_freemsg_seq(queue, &peer, i, &type, &cbp); + OSMO_ASSERT(rc == 0); + freemsg_verify(i, type, cbp); + } + queue_print(queue, "after-first-half-free"); + + /* Now free second half seq set in decreasing order */ + for (i = QUEUE_SIZE - 1; i >= QUEUE_SIZE / 2; i--) { + rc = queue_freemsg_seq(queue, &peer, i, &type, &cbp); + OSMO_ASSERT(rc == 0); + freemsg_verify(i, type, cbp); + } + queue_print(queue, "after-second-half-free"); + + rc = queue_free(queue); + OSMO_ASSERT(rc == 0); +} + +int main(int argc, char **argv) +{ + void *tall_ctx = talloc_named_const(NULL, 1, "Root context"); + msgb_talloc_ctx_init(tall_ctx, 0); + osmo_init_logging2(tall_ctx, &log_info); + log_set_use_color(osmo_stderr_target, 0); + log_set_print_filename(osmo_stderr_target, 0); + + test_queue_empty(); + test_queue_one(); + test_queue_full(); + + return 0; +} diff --git a/tests/gtp/queue_test.ok b/tests/gtp/queue_test.ok new file mode 100644 index 0000000..fe1118d --- /dev/null +++ b/tests/gtp/queue_test.ok @@ -0,0 +1,6711 @@ +***** Testing test_queue_empty() +=== [Queue created] Next: 0 First: -1 Last: -1 +# seq next prev timeout retrans type cbp +====================================================== +=== [Queue pre-delete] Next: 0 First: -1 Last: -1 +# seq next prev timeout retrans type cbp +====================================================== +***** Testing test_queue_one() +=== [Queue created] Next: 0 First: -1 Last: -1 +# seq next prev timeout retrans type cbp +====================================================== +=== [Queue first added] Next: 1 First: 0 Last: 0 +# seq next prev timeout retrans type cbp +0 23 -1 -1 0 0 0 0 +====================================================== +=== [Queue after-get] Next: 1 First: 0 Last: 0 +# seq next prev timeout retrans type cbp +0 23 -1 -1 0 0 1 321140038 +====================================================== +=== [Queue after-back] Next: 1 First: 0 Last: 0 +# seq next prev timeout retrans type cbp +0 23 -1 -1 0 0 1 321140038 +====================================================== +=== [Queue pree-freemsg] Next: 1 First: 0 Last: 0 +# seq next prev timeout retrans type cbp +0 23 -1 -1 0 0 1 321140038 +====================================================== +=== [Queue pre-delete] Next: 1 First: -1 Last: -1 +# seq next prev timeout retrans type cbp +====================================================== +***** Testing test_queue_full() +=== [Queue created] Next: 0 First: -1 Last: -1 +# seq next prev timeout retrans type cbp +====================================================== +=== [Queue after-fill] Next: 1023 First: 0 Last: 1022 +# seq next prev timeout retrans type cbp +0 0 1 -1 0 0 16 0 +1 1 2 0 0 0 16 1 +2 2 3 1 0 0 16 2 +3 3 4 2 0 0 16 3 +4 4 5 3 0 0 16 4 +5 5 6 4 0 0 16 5 +6 6 7 5 0 0 16 6 +7 7 8 6 0 0 16 7 +8 8 9 7 0 0 16 8 +9 9 10 8 0 0 16 9 +10 10 11 9 0 0 16 10 +11 11 12 10 0 0 16 11 +12 12 13 11 0 0 16 12 +13 13 14 12 0 0 16 13 +14 14 15 13 0 0 16 14 +15 15 16 14 0 0 16 15 +16 16 17 15 0 0 16 16 +17 17 18 16 0 0 16 17 +18 18 19 17 0 0 16 18 +19 19 20 18 0 0 16 19 +20 20 21 19 0 0 16 20 +21 21 22 20 0 0 16 21 +22 22 23 21 0 0 16 22 +23 23 24 22 0 0 16 23 +24 24 25 23 0 0 16 24 +25 25 26 24 0 0 16 25 +26 26 27 25 0 0 16 26 +27 27 28 26 0 0 16 27 +28 28 29 27 0 0 16 28 +29 29 30 28 0 0 16 29 +30 30 31 29 0 0 16 30 +31 31 32 30 0 0 16 31 +32 32 33 31 0 0 16 32 +33 33 34 32 0 0 16 33 +34 34 35 33 0 0 16 34 +35 35 36 34 0 0 16 35 +36 36 37 35 0 0 16 36 +37 37 38 36 0 0 16 37 +38 38 39 37 0 0 16 38 +39 39 40 38 0 0 16 39 +40 40 41 39 0 0 16 40 +41 41 42 40 0 0 16 41 +42 42 43 41 0 0 16 42 +43 43 44 42 0 0 16 43 +44 44 45 43 0 0 16 44 +45 45 46 44 0 0 16 45 +46 46 47 45 0 0 16 46 +47 47 48 46 0 0 16 47 +48 48 49 47 0 0 16 48 +49 49 50 48 0 0 16 49 +50 50 51 49 0 0 16 50 +51 51 52 50 0 0 16 51 +52 52 53 51 0 0 16 52 +53 53 54 52 0 0 16 53 +54 54 55 53 0 0 16 54 +55 55 56 54 0 0 16 55 +56 56 57 55 0 0 16 56 +57 57 58 56 0 0 16 57 +58 58 59 57 0 0 16 58 +59 59 60 58 0 0 16 59 +60 60 61 59 0 0 16 60 +61 61 62 60 0 0 16 61 +62 62 63 61 0 0 16 62 +63 63 64 62 0 0 16 63 +64 64 65 63 0 0 16 64 +65 65 66 64 0 0 16 65 +66 66 67 65 0 0 16 66 +67 67 68 66 0 0 16 67 +68 68 69 67 0 0 16 68 +69 69 70 68 0 0 16 69 +70 70 71 69 0 0 16 70 +71 71 72 70 0 0 16 71 +72 72 73 71 0 0 16 72 +73 73 74 72 0 0 16 73 +74 74 75 73 0 0 16 74 +75 75 76 74 0 0 16 75 +76 76 77 75 0 0 16 76 +77 77 78 76 0 0 16 77 +78 78 79 77 0 0 16 78 +79 79 80 78 0 0 16 79 +80 80 81 79 0 0 16 80 +81 81 82 80 0 0 16 81 +82 82 83 81 0 0 16 82 +83 83 84 82 0 0 16 83 +84 84 85 83 0 0 16 84 +85 85 86 84 0 0 16 85 +86 86 87 85 0 0 16 86 +87 87 88 86 0 0 16 87 +88 88 89 87 0 0 16 88 +89 89 90 88 0 0 16 89 +90 90 91 89 0 0 16 90 +91 91 92 90 0 0 16 91 +92 92 93 91 0 0 16 92 +93 93 94 92 0 0 16 93 +94 94 95 93 0 0 16 94 +95 95 96 94 0 0 16 95 +96 96 97 95 0 0 16 96 +97 97 98 96 0 0 16 97 +98 98 99 97 0 0 16 98 +99 99 100 98 0 0 16 99 +100 100 101 99 0 0 16 100 +101 101 102 100 0 0 16 101 +102 102 103 101 0 0 16 102 +103 103 104 102 0 0 16 103 +104 104 105 103 0 0 16 104 +105 105 106 104 0 0 16 105 +106 106 107 105 0 0 16 106 +107 107 108 106 0 0 16 107 +108 108 109 107 0 0 16 108 +109 109 110 108 0 0 16 109 +110 110 111 109 0 0 16 110 +111 111 112 110 0 0 16 111 +112 112 113 111 0 0 16 112 +113 113 114 112 0 0 16 113 +114 114 115 113 0 0 16 114 +115 115 116 114 0 0 16 115 +116 116 117 115 0 0 16 116 +117 117 118 116 0 0 16 117 +118 118 119 117 0 0 16 118 +119 119 120 118 0 0 16 119 +120 120 121 119 0 0 16 120 +121 121 122 120 0 0 16 121 +122 122 123 121 0 0 16 122 +123 123 124 122 0 0 16 123 +124 124 125 123 0 0 16 124 +125 125 126 124 0 0 16 125 +126 126 127 125 0 0 16 126 +127 127 128 126 0 0 16 127 +128 128 129 127 0 0 16 128 +129 129 130 128 0 0 16 129 +130 130 131 129 0 0 16 130 +131 131 132 130 0 0 16 131 +132 132 133 131 0 0 16 132 +133 133 134 132 0 0 16 133 +134 134 135 133 0 0 16 134 +135 135 136 134 0 0 16 135 +136 136 137 135 0 0 16 136 +137 137 138 136 0 0 16 137 +138 138 139 137 0 0 16 138 +139 139 140 138 0 0 16 139 +140 140 141 139 0 0 16 140 +141 141 142 140 0 0 16 141 +142 142 143 141 0 0 16 142 +143 143 144 142 0 0 16 143 +144 144 145 143 0 0 16 144 +145 145 146 144 0 0 16 145 +146 146 147 145 0 0 16 146 +147 147 148 146 0 0 16 147 +148 148 149 147 0 0 16 148 +149 149 150 148 0 0 16 149 +150 150 151 149 0 0 16 150 +151 151 152 150 0 0 16 151 +152 152 153 151 0 0 16 152 +153 153 154 152 0 0 16 153 +154 154 155 153 0 0 16 154 +155 155 156 154 0 0 16 155 +156 156 157 155 0 0 16 156 +157 157 158 156 0 0 16 157 +158 158 159 157 0 0 16 158 +159 159 160 158 0 0 16 159 +160 160 161 159 0 0 16 160 +161 161 162 160 0 0 16 161 +162 162 163 161 0 0 16 162 +163 163 164 162 0 0 16 163 +164 164 165 163 0 0 16 164 +165 165 166 164 0 0 16 165 +166 166 167 165 0 0 16 166 +167 167 168 166 0 0 16 167 +168 168 169 167 0 0 16 168 +169 169 170 168 0 0 16 169 +170 170 171 169 0 0 16 170 +171 171 172 170 0 0 16 171 +172 172 173 171 0 0 16 172 +173 173 174 172 0 0 16 173 +174 174 175 173 0 0 16 174 +175 175 176 174 0 0 16 175 +176 176 177 175 0 0 16 176 +177 177 178 176 0 0 16 177 +178 178 179 177 0 0 16 178 +179 179 180 178 0 0 16 179 +180 180 181 179 0 0 16 180 +181 181 182 180 0 0 16 181 +182 182 183 181 0 0 16 182 +183 183 184 182 0 0 16 183 +184 184 185 183 0 0 16 184 +185 185 186 184 0 0 16 185 +186 186 187 185 0 0 16 186 +187 187 188 186 0 0 16 187 +188 188 189 187 0 0 16 188 +189 189 190 188 0 0 16 189 +190 190 191 189 0 0 16 190 +191 191 192 190 0 0 16 191 +192 192 193 191 0 0 16 192 +193 193 194 192 0 0 16 193 +194 194 195 193 0 0 16 194 +195 195 196 194 0 0 16 195 +196 196 197 195 0 0 16 196 +197 197 198 196 0 0 16 197 +198 198 199 197 0 0 16 198 +199 199 200 198 0 0 16 199 +200 200 201 199 0 0 16 200 +201 201 202 200 0 0 16 201 +202 202 203 201 0 0 16 202 +203 203 204 202 0 0 16 203 +204 204 205 203 0 0 16 204 +205 205 206 204 0 0 16 205 +206 206 207 205 0 0 16 206 +207 207 208 206 0 0 16 207 +208 208 209 207 0 0 16 208 +209 209 210 208 0 0 16 209 +210 210 211 209 0 0 16 210 +211 211 212 210 0 0 16 211 +212 212 213 211 0 0 16 212 +213 213 214 212 0 0 16 213 +214 214 215 213 0 0 16 214 +215 215 216 214 0 0 16 215 +216 216 217 215 0 0 16 216 +217 217 218 216 0 0 16 217 +218 218 219 217 0 0 16 218 +219 219 220 218 0 0 16 219 +220 220 221 219 0 0 16 220 +221 221 222 220 0 0 16 221 +222 222 223 221 0 0 16 222 +223 223 224 222 0 0 16 223 +224 224 225 223 0 0 16 224 +225 225 226 224 0 0 16 225 +226 226 227 225 0 0 16 226 +227 227 228 226 0 0 16 227 +228 228 229 227 0 0 16 228 +229 229 230 228 0 0 16 229 +230 230 231 229 0 0 16 230 +231 231 232 230 0 0 16 231 +232 232 233 231 0 0 16 232 +233 233 234 232 0 0 16 233 +234 234 235 233 0 0 16 234 +235 235 236 234 0 0 16 235 +236 236 237 235 0 0 16 236 +237 237 238 236 0 0 16 237 +238 238 239 237 0 0 16 238 +239 239 240 238 0 0 16 239 +240 240 241 239 0 0 16 240 +241 241 242 240 0 0 16 241 +242 242 243 241 0 0 16 242 +243 243 244 242 0 0 16 243 +244 244 245 243 0 0 16 244 +245 245 246 244 0 0 16 245 +246 246 247 245 0 0 16 246 +247 247 248 246 0 0 16 247 +248 248 249 247 0 0 16 248 +249 249 250 248 0 0 16 249 +250 250 251 249 0 0 16 250 +251 251 252 250 0 0 16 251 +252 252 253 251 0 0 16 252 +253 253 254 252 0 0 16 253 +254 254 255 253 0 0 16 254 +255 255 256 254 0 0 16 255 +256 256 257 255 0 0 16 256 +257 257 258 256 0 0 16 257 +258 258 259 257 0 0 16 258 +259 259 260 258 0 0 16 259 +260 260 261 259 0 0 16 260 +261 261 262 260 0 0 16 261 +262 262 263 261 0 0 16 262 +263 263 264 262 0 0 16 263 +264 264 265 263 0 0 16 264 +265 265 266 264 0 0 16 265 +266 266 267 265 0 0 16 266 +267 267 268 266 0 0 16 267 +268 268 269 267 0 0 16 268 +269 269 270 268 0 0 16 269 +270 270 271 269 0 0 16 270 +271 271 272 270 0 0 16 271 +272 272 273 271 0 0 16 272 +273 273 274 272 0 0 16 273 +274 274 275 273 0 0 16 274 +275 275 276 274 0 0 16 275 +276 276 277 275 0 0 16 276 +277 277 278 276 0 0 16 277 +278 278 279 277 0 0 16 278 +279 279 280 278 0 0 16 279 +280 280 281 279 0 0 16 280 +281 281 282 280 0 0 16 281 +282 282 283 281 0 0 16 282 +283 283 284 282 0 0 16 283 +284 284 285 283 0 0 16 284 +285 285 286 284 0 0 16 285 +286 286 287 285 0 0 16 286 +287 287 288 286 0 0 16 287 +288 288 289 287 0 0 16 288 +289 289 290 288 0 0 16 289 +290 290 291 289 0 0 16 290 +291 291 292 290 0 0 16 291 +292 292 293 291 0 0 16 292 +293 293 294 292 0 0 16 293 +294 294 295 293 0 0 16 294 +295 295 296 294 0 0 16 295 +296 296 297 295 0 0 16 296 +297 297 298 296 0 0 16 297 +298 298 299 297 0 0 16 298 +299 299 300 298 0 0 16 299 +300 300 301 299 0 0 16 300 +301 301 302 300 0 0 16 301 +302 302 303 301 0 0 16 302 +303 303 304 302 0 0 16 303 +304 304 305 303 0 0 16 304 +305 305 306 304 0 0 16 305 +306 306 307 305 0 0 16 306 +307 307 308 306 0 0 16 307 +308 308 309 307 0 0 16 308 +309 309 310 308 0 0 16 309 +310 310 311 309 0 0 16 310 +311 311 312 310 0 0 16 311 +312 312 313 311 0 0 16 312 +313 313 314 312 0 0 16 313 +314 314 315 313 0 0 16 314 +315 315 316 314 0 0 16 315 +316 316 317 315 0 0 16 316 +317 317 318 316 0 0 16 317 +318 318 319 317 0 0 16 318 +319 319 320 318 0 0 16 319 +320 320 321 319 0 0 16 320 +321 321 322 320 0 0 16 321 +322 322 323 321 0 0 16 322 +323 323 324 322 0 0 16 323 +324 324 325 323 0 0 16 324 +325 325 326 324 0 0 16 325 +326 326 327 325 0 0 16 326 +327 327 328 326 0 0 16 327 +328 328 329 327 0 0 16 328 +329 329 330 328 0 0 16 329 +330 330 331 329 0 0 16 330 +331 331 332 330 0 0 16 331 +332 332 333 331 0 0 16 332 +333 333 334 332 0 0 16 333 +334 334 335 333 0 0 16 334 +335 335 336 334 0 0 16 335 +336 336 337 335 0 0 16 336 +337 337 338 336 0 0 16 337 +338 338 339 337 0 0 16 338 +339 339 340 338 0 0 16 339 +340 340 341 339 0 0 16 340 +341 341 342 340 0 0 16 341 +342 342 343 341 0 0 16 342 +343 343 344 342 0 0 16 343 +344 344 345 343 0 0 16 344 +345 345 346 344 0 0 16 345 +346 346 347 345 0 0 16 346 +347 347 348 346 0 0 16 347 +348 348 349 347 0 0 16 348 +349 349 350 348 0 0 16 349 +350 350 351 349 0 0 16 350 +351 351 352 350 0 0 16 351 +352 352 353 351 0 0 16 352 +353 353 354 352 0 0 16 353 +354 354 355 353 0 0 16 354 +355 355 356 354 0 0 16 355 +356 356 357 355 0 0 16 356 +357 357 358 356 0 0 16 357 +358 358 359 357 0 0 16 358 +359 359 360 358 0 0 16 359 +360 360 361 359 0 0 16 360 +361 361 362 360 0 0 16 361 +362 362 363 361 0 0 16 362 +363 363 364 362 0 0 16 363 +364 364 365 363 0 0 16 364 +365 365 366 364 0 0 16 365 +366 366 367 365 0 0 16 366 +367 367 368 366 0 0 16 367 +368 368 369 367 0 0 16 368 +369 369 370 368 0 0 16 369 +370 370 371 369 0 0 16 370 +371 371 372 370 0 0 16 371 +372 372 373 371 0 0 16 372 +373 373 374 372 0 0 16 373 +374 374 375 373 0 0 16 374 +375 375 376 374 0 0 16 375 +376 376 377 375 0 0 16 376 +377 377 378 376 0 0 16 377 +378 378 379 377 0 0 16 378 +379 379 380 378 0 0 16 379 +380 380 381 379 0 0 16 380 +381 381 382 380 0 0 16 381 +382 382 383 381 0 0 16 382 +383 383 384 382 0 0 16 383 +384 384 385 383 0 0 16 384 +385 385 386 384 0 0 16 385 +386 386 387 385 0 0 16 386 +387 387 388 386 0 0 16 387 +388 388 389 387 0 0 16 388 +389 389 390 388 0 0 16 389 +390 390 391 389 0 0 16 390 +391 391 392 390 0 0 16 391 +392 392 393 391 0 0 16 392 +393 393 394 392 0 0 16 393 +394 394 395 393 0 0 16 394 +395 395 396 394 0 0 16 395 +396 396 397 395 0 0 16 396 +397 397 398 396 0 0 16 397 +398 398 399 397 0 0 16 398 +399 399 400 398 0 0 16 399 +400 400 401 399 0 0 16 400 +401 401 402 400 0 0 16 401 +402 402 403 401 0 0 16 402 +403 403 404 402 0 0 16 403 +404 404 405 403 0 0 16 404 +405 405 406 404 0 0 16 405 +406 406 407 405 0 0 16 406 +407 407 408 406 0 0 16 407 +408 408 409 407 0 0 16 408 +409 409 410 408 0 0 16 409 +410 410 411 409 0 0 16 410 +411 411 412 410 0 0 16 411 +412 412 413 411 0 0 16 412 +413 413 414 412 0 0 16 413 +414 414 415 413 0 0 16 414 +415 415 416 414 0 0 16 415 +416 416 417 415 0 0 16 416 +417 417 418 416 0 0 16 417 +418 418 419 417 0 0 16 418 +419 419 420 418 0 0 16 419 +420 420 421 419 0 0 16 420 +421 421 422 420 0 0 16 421 +422 422 423 421 0 0 16 422 +423 423 424 422 0 0 16 423 +424 424 425 423 0 0 16 424 +425 425 426 424 0 0 16 425 +426 426 427 425 0 0 16 426 +427 427 428 426 0 0 16 427 +428 428 429 427 0 0 16 428 +429 429 430 428 0 0 16 429 +430 430 431 429 0 0 16 430 +431 431 432 430 0 0 16 431 +432 432 433 431 0 0 16 432 +433 433 434 432 0 0 16 433 +434 434 435 433 0 0 16 434 +435 435 436 434 0 0 16 435 +436 436 437 435 0 0 16 436 +437 437 438 436 0 0 16 437 +438 438 439 437 0 0 16 438 +439 439 440 438 0 0 16 439 +440 440 441 439 0 0 16 440 +441 441 442 440 0 0 16 441 +442 442 443 441 0 0 16 442 +443 443 444 442 0 0 16 443 +444 444 445 443 0 0 16 444 +445 445 446 444 0 0 16 445 +446 446 447 445 0 0 16 446 +447 447 448 446 0 0 16 447 +448 448 449 447 0 0 16 448 +449 449 450 448 0 0 16 449 +450 450 451 449 0 0 16 450 +451 451 452 450 0 0 16 451 +452 452 453 451 0 0 16 452 +453 453 454 452 0 0 16 453 +454 454 455 453 0 0 16 454 +455 455 456 454 0 0 16 455 +456 456 457 455 0 0 16 456 +457 457 458 456 0 0 16 457 +458 458 459 457 0 0 16 458 +459 459 460 458 0 0 16 459 +460 460 461 459 0 0 16 460 +461 461 462 460 0 0 16 461 +462 462 463 461 0 0 16 462 +463 463 464 462 0 0 16 463 +464 464 465 463 0 0 16 464 +465 465 466 464 0 0 16 465 +466 466 467 465 0 0 16 466 +467 467 468 466 0 0 16 467 +468 468 469 467 0 0 16 468 +469 469 470 468 0 0 16 469 +470 470 471 469 0 0 16 470 +471 471 472 470 0 0 16 471 +472 472 473 471 0 0 16 472 +473 473 474 472 0 0 16 473 +474 474 475 473 0 0 16 474 +475 475 476 474 0 0 16 475 +476 476 477 475 0 0 16 476 +477 477 478 476 0 0 16 477 +478 478 479 477 0 0 16 478 +479 479 480 478 0 0 16 479 +480 480 481 479 0 0 16 480 +481 481 482 480 0 0 16 481 +482 482 483 481 0 0 16 482 +483 483 484 482 0 0 16 483 +484 484 485 483 0 0 16 484 +485 485 486 484 0 0 16 485 +486 486 487 485 0 0 16 486 +487 487 488 486 0 0 16 487 +488 488 489 487 0 0 16 488 +489 489 490 488 0 0 16 489 +490 490 491 489 0 0 16 490 +491 491 492 490 0 0 16 491 +492 492 493 491 0 0 16 492 +493 493 494 492 0 0 16 493 +494 494 495 493 0 0 16 494 +495 495 496 494 0 0 16 495 +496 496 497 495 0 0 16 496 +497 497 498 496 0 0 16 497 +498 498 499 497 0 0 16 498 +499 499 500 498 0 0 16 499 +500 500 501 499 0 0 16 500 +501 501 502 500 0 0 16 501 +502 502 503 501 0 0 16 502 +503 503 504 502 0 0 16 503 +504 504 505 503 0 0 16 504 +505 505 506 504 0 0 16 505 +506 506 507 505 0 0 16 506 +507 507 508 506 0 0 16 507 +508 508 509 507 0 0 16 508 +509 509 510 508 0 0 16 509 +510 510 511 509 0 0 16 510 +511 511 512 510 0 0 16 511 +512 512 513 511 0 0 16 512 +513 513 514 512 0 0 16 513 +514 514 515 513 0 0 16 514 +515 515 516 514 0 0 16 515 +516 516 517 515 0 0 16 516 +517 517 518 516 0 0 16 517 +518 518 519 517 0 0 16 518 +519 519 520 518 0 0 16 519 +520 520 521 519 0 0 16 520 +521 521 522 520 0 0 16 521 +522 522 523 521 0 0 16 522 +523 523 524 522 0 0 16 523 +524 524 525 523 0 0 16 524 +525 525 526 524 0 0 16 525 +526 526 527 525 0 0 16 526 +527 527 528 526 0 0 16 527 +528 528 529 527 0 0 16 528 +529 529 530 528 0 0 16 529 +530 530 531 529 0 0 16 530 +531 531 532 530 0 0 16 531 +532 532 533 531 0 0 16 532 +533 533 534 532 0 0 16 533 +534 534 535 533 0 0 16 534 +535 535 536 534 0 0 16 535 +536 536 537 535 0 0 16 536 +537 537 538 536 0 0 16 537 +538 538 539 537 0 0 16 538 +539 539 540 538 0 0 16 539 +540 540 541 539 0 0 16 540 +541 541 542 540 0 0 16 541 +542 542 543 541 0 0 16 542 +543 543 544 542 0 0 16 543 +544 544 545 543 0 0 16 544 +545 545 546 544 0 0 16 545 +546 546 547 545 0 0 16 546 +547 547 548 546 0 0 16 547 +548 548 549 547 0 0 16 548 +549 549 550 548 0 0 16 549 +550 550 551 549 0 0 16 550 +551 551 552 550 0 0 16 551 +552 552 553 551 0 0 16 552 +553 553 554 552 0 0 16 553 +554 554 555 553 0 0 16 554 +555 555 556 554 0 0 16 555 +556 556 557 555 0 0 16 556 +557 557 558 556 0 0 16 557 +558 558 559 557 0 0 16 558 +559 559 560 558 0 0 16 559 +560 560 561 559 0 0 16 560 +561 561 562 560 0 0 16 561 +562 562 563 561 0 0 16 562 +563 563 564 562 0 0 16 563 +564 564 565 563 0 0 16 564 +565 565 566 564 0 0 16 565 +566 566 567 565 0 0 16 566 +567 567 568 566 0 0 16 567 +568 568 569 567 0 0 16 568 +569 569 570 568 0 0 16 569 +570 570 571 569 0 0 16 570 +571 571 572 570 0 0 16 571 +572 572 573 571 0 0 16 572 +573 573 574 572 0 0 16 573 +574 574 575 573 0 0 16 574 +575 575 576 574 0 0 16 575 +576 576 577 575 0 0 16 576 +577 577 578 576 0 0 16 577 +578 578 579 577 0 0 16 578 +579 579 580 578 0 0 16 579 +580 580 581 579 0 0 16 580 +581 581 582 580 0 0 16 581 +582 582 583 581 0 0 16 582 +583 583 584 582 0 0 16 583 +584 584 585 583 0 0 16 584 +585 585 586 584 0 0 16 585 +586 586 587 585 0 0 16 586 +587 587 588 586 0 0 16 587 +588 588 589 587 0 0 16 588 +589 589 590 588 0 0 16 589 +590 590 591 589 0 0 16 590 +591 591 592 590 0 0 16 591 +592 592 593 591 0 0 16 592 +593 593 594 592 0 0 16 593 +594 594 595 593 0 0 16 594 +595 595 596 594 0 0 16 595 +596 596 597 595 0 0 16 596 +597 597 598 596 0 0 16 597 +598 598 599 597 0 0 16 598 +599 599 600 598 0 0 16 599 +600 600 601 599 0 0 16 600 +601 601 602 600 0 0 16 601 +602 602 603 601 0 0 16 602 +603 603 604 602 0 0 16 603 +604 604 605 603 0 0 16 604 +605 605 606 604 0 0 16 605 +606 606 607 605 0 0 16 606 +607 607 608 606 0 0 16 607 +608 608 609 607 0 0 16 608 +609 609 610 608 0 0 16 609 +610 610 611 609 0 0 16 610 +611 611 612 610 0 0 16 611 +612 612 613 611 0 0 16 612 +613 613 614 612 0 0 16 613 +614 614 615 613 0 0 16 614 +615 615 616 614 0 0 16 615 +616 616 617 615 0 0 16 616 +617 617 618 616 0 0 16 617 +618 618 619 617 0 0 16 618 +619 619 620 618 0 0 16 619 +620 620 621 619 0 0 16 620 +621 621 622 620 0 0 16 621 +622 622 623 621 0 0 16 622 +623 623 624 622 0 0 16 623 +624 624 625 623 0 0 16 624 +625 625 626 624 0 0 16 625 +626 626 627 625 0 0 16 626 +627 627 628 626 0 0 16 627 +628 628 629 627 0 0 16 628 +629 629 630 628 0 0 16 629 +630 630 631 629 0 0 16 630 +631 631 632 630 0 0 16 631 +632 632 633 631 0 0 16 632 +633 633 634 632 0 0 16 633 +634 634 635 633 0 0 16 634 +635 635 636 634 0 0 16 635 +636 636 637 635 0 0 16 636 +637 637 638 636 0 0 16 637 +638 638 639 637 0 0 16 638 +639 639 640 638 0 0 16 639 +640 640 641 639 0 0 16 640 +641 641 642 640 0 0 16 641 +642 642 643 641 0 0 16 642 +643 643 644 642 0 0 16 643 +644 644 645 643 0 0 16 644 +645 645 646 644 0 0 16 645 +646 646 647 645 0 0 16 646 +647 647 648 646 0 0 16 647 +648 648 649 647 0 0 16 648 +649 649 650 648 0 0 16 649 +650 650 651 649 0 0 16 650 +651 651 652 650 0 0 16 651 +652 652 653 651 0 0 16 652 +653 653 654 652 0 0 16 653 +654 654 655 653 0 0 16 654 +655 655 656 654 0 0 16 655 +656 656 657 655 0 0 16 656 +657 657 658 656 0 0 16 657 +658 658 659 657 0 0 16 658 +659 659 660 658 0 0 16 659 +660 660 661 659 0 0 16 660 +661 661 662 660 0 0 16 661 +662 662 663 661 0 0 16 662 +663 663 664 662 0 0 16 663 +664 664 665 663 0 0 16 664 +665 665 666 664 0 0 16 665 +666 666 667 665 0 0 16 666 +667 667 668 666 0 0 16 667 +668 668 669 667 0 0 16 668 +669 669 670 668 0 0 16 669 +670 670 671 669 0 0 16 670 +671 671 672 670 0 0 16 671 +672 672 673 671 0 0 16 672 +673 673 674 672 0 0 16 673 +674 674 675 673 0 0 16 674 +675 675 676 674 0 0 16 675 +676 676 677 675 0 0 16 676 +677 677 678 676 0 0 16 677 +678 678 679 677 0 0 16 678 +679 679 680 678 0 0 16 679 +680 680 681 679 0 0 16 680 +681 681 682 680 0 0 16 681 +682 682 683 681 0 0 16 682 +683 683 684 682 0 0 16 683 +684 684 685 683 0 0 16 684 +685 685 686 684 0 0 16 685 +686 686 687 685 0 0 16 686 +687 687 688 686 0 0 16 687 +688 688 689 687 0 0 16 688 +689 689 690 688 0 0 16 689 +690 690 691 689 0 0 16 690 +691 691 692 690 0 0 16 691 +692 692 693 691 0 0 16 692 +693 693 694 692 0 0 16 693 +694 694 695 693 0 0 16 694 +695 695 696 694 0 0 16 695 +696 696 697 695 0 0 16 696 +697 697 698 696 0 0 16 697 +698 698 699 697 0 0 16 698 +699 699 700 698 0 0 16 699 +700 700 701 699 0 0 16 700 +701 701 702 700 0 0 16 701 +702 702 703 701 0 0 16 702 +703 703 704 702 0 0 16 703 +704 704 705 703 0 0 16 704 +705 705 706 704 0 0 16 705 +706 706 707 705 0 0 16 706 +707 707 708 706 0 0 16 707 +708 708 709 707 0 0 16 708 +709 709 710 708 0 0 16 709 +710 710 711 709 0 0 16 710 +711 711 712 710 0 0 16 711 +712 712 713 711 0 0 16 712 +713 713 714 712 0 0 16 713 +714 714 715 713 0 0 16 714 +715 715 716 714 0 0 16 715 +716 716 717 715 0 0 16 716 +717 717 718 716 0 0 16 717 +718 718 719 717 0 0 16 718 +719 719 720 718 0 0 16 719 +720 720 721 719 0 0 16 720 +721 721 722 720 0 0 16 721 +722 722 723 721 0 0 16 722 +723 723 724 722 0 0 16 723 +724 724 725 723 0 0 16 724 +725 725 726 724 0 0 16 725 +726 726 727 725 0 0 16 726 +727 727 728 726 0 0 16 727 +728 728 729 727 0 0 16 728 +729 729 730 728 0 0 16 729 +730 730 731 729 0 0 16 730 +731 731 732 730 0 0 16 731 +732 732 733 731 0 0 16 732 +733 733 734 732 0 0 16 733 +734 734 735 733 0 0 16 734 +735 735 736 734 0 0 16 735 +736 736 737 735 0 0 16 736 +737 737 738 736 0 0 16 737 +738 738 739 737 0 0 16 738 +739 739 740 738 0 0 16 739 +740 740 741 739 0 0 16 740 +741 741 742 740 0 0 16 741 +742 742 743 741 0 0 16 742 +743 743 744 742 0 0 16 743 +744 744 745 743 0 0 16 744 +745 745 746 744 0 0 16 745 +746 746 747 745 0 0 16 746 +747 747 748 746 0 0 16 747 +748 748 749 747 0 0 16 748 +749 749 750 748 0 0 16 749 +750 750 751 749 0 0 16 750 +751 751 752 750 0 0 16 751 +752 752 753 751 0 0 16 752 +753 753 754 752 0 0 16 753 +754 754 755 753 0 0 16 754 +755 755 756 754 0 0 16 755 +756 756 757 755 0 0 16 756 +757 757 758 756 0 0 16 757 +758 758 759 757 0 0 16 758 +759 759 760 758 0 0 16 759 +760 760 761 759 0 0 16 760 +761 761 762 760 0 0 16 761 +762 762 763 761 0 0 16 762 +763 763 764 762 0 0 16 763 +764 764 765 763 0 0 16 764 +765 765 766 764 0 0 16 765 +766 766 767 765 0 0 16 766 +767 767 768 766 0 0 16 767 +768 768 769 767 0 0 16 768 +769 769 770 768 0 0 16 769 +770 770 771 769 0 0 16 770 +771 771 772 770 0 0 16 771 +772 772 773 771 0 0 16 772 +773 773 774 772 0 0 16 773 +774 774 775 773 0 0 16 774 +775 775 776 774 0 0 16 775 +776 776 777 775 0 0 16 776 +777 777 778 776 0 0 16 777 +778 778 779 777 0 0 16 778 +779 779 780 778 0 0 16 779 +780 780 781 779 0 0 16 780 +781 781 782 780 0 0 16 781 +782 782 783 781 0 0 16 782 +783 783 784 782 0 0 16 783 +784 784 785 783 0 0 16 784 +785 785 786 784 0 0 16 785 +786 786 787 785 0 0 16 786 +787 787 788 786 0 0 16 787 +788 788 789 787 0 0 16 788 +789 789 790 788 0 0 16 789 +790 790 791 789 0 0 16 790 +791 791 792 790 0 0 16 791 +792 792 793 791 0 0 16 792 +793 793 794 792 0 0 16 793 +794 794 795 793 0 0 16 794 +795 795 796 794 0 0 16 795 +796 796 797 795 0 0 16 796 +797 797 798 796 0 0 16 797 +798 798 799 797 0 0 16 798 +799 799 800 798 0 0 16 799 +800 800 801 799 0 0 16 800 +801 801 802 800 0 0 16 801 +802 802 803 801 0 0 16 802 +803 803 804 802 0 0 16 803 +804 804 805 803 0 0 16 804 +805 805 806 804 0 0 16 805 +806 806 807 805 0 0 16 806 +807 807 808 806 0 0 16 807 +808 808 809 807 0 0 16 808 +809 809 810 808 0 0 16 809 +810 810 811 809 0 0 16 810 +811 811 812 810 0 0 16 811 +812 812 813 811 0 0 16 812 +813 813 814 812 0 0 16 813 +814 814 815 813 0 0 16 814 +815 815 816 814 0 0 16 815 +816 816 817 815 0 0 16 816 +817 817 818 816 0 0 16 817 +818 818 819 817 0 0 16 818 +819 819 820 818 0 0 16 819 +820 820 821 819 0 0 16 820 +821 821 822 820 0 0 16 821 +822 822 823 821 0 0 16 822 +823 823 824 822 0 0 16 823 +824 824 825 823 0 0 16 824 +825 825 826 824 0 0 16 825 +826 826 827 825 0 0 16 826 +827 827 828 826 0 0 16 827 +828 828 829 827 0 0 16 828 +829 829 830 828 0 0 16 829 +830 830 831 829 0 0 16 830 +831 831 832 830 0 0 16 831 +832 832 833 831 0 0 16 832 +833 833 834 832 0 0 16 833 +834 834 835 833 0 0 16 834 +835 835 836 834 0 0 16 835 +836 836 837 835 0 0 16 836 +837 837 838 836 0 0 16 837 +838 838 839 837 0 0 16 838 +839 839 840 838 0 0 16 839 +840 840 841 839 0 0 16 840 +841 841 842 840 0 0 16 841 +842 842 843 841 0 0 16 842 +843 843 844 842 0 0 16 843 +844 844 845 843 0 0 16 844 +845 845 846 844 0 0 16 845 +846 846 847 845 0 0 16 846 +847 847 848 846 0 0 16 847 +848 848 849 847 0 0 16 848 +849 849 850 848 0 0 16 849 +850 850 851 849 0 0 16 850 +851 851 852 850 0 0 16 851 +852 852 853 851 0 0 16 852 +853 853 854 852 0 0 16 853 +854 854 855 853 0 0 16 854 +855 855 856 854 0 0 16 855 +856 856 857 855 0 0 16 856 +857 857 858 856 0 0 16 857 +858 858 859 857 0 0 16 858 +859 859 860 858 0 0 16 859 +860 860 861 859 0 0 16 860 +861 861 862 860 0 0 16 861 +862 862 863 861 0 0 16 862 +863 863 864 862 0 0 16 863 +864 864 865 863 0 0 16 864 +865 865 866 864 0 0 16 865 +866 866 867 865 0 0 16 866 +867 867 868 866 0 0 16 867 +868 868 869 867 0 0 16 868 +869 869 870 868 0 0 16 869 +870 870 871 869 0 0 16 870 +871 871 872 870 0 0 16 871 +872 872 873 871 0 0 16 872 +873 873 874 872 0 0 16 873 +874 874 875 873 0 0 16 874 +875 875 876 874 0 0 16 875 +876 876 877 875 0 0 16 876 +877 877 878 876 0 0 16 877 +878 878 879 877 0 0 16 878 +879 879 880 878 0 0 16 879 +880 880 881 879 0 0 16 880 +881 881 882 880 0 0 16 881 +882 882 883 881 0 0 16 882 +883 883 884 882 0 0 16 883 +884 884 885 883 0 0 16 884 +885 885 886 884 0 0 16 885 +886 886 887 885 0 0 16 886 +887 887 888 886 0 0 16 887 +888 888 889 887 0 0 16 888 +889 889 890 888 0 0 16 889 +890 890 891 889 0 0 16 890 +891 891 892 890 0 0 16 891 +892 892 893 891 0 0 16 892 +893 893 894 892 0 0 16 893 +894 894 895 893 0 0 16 894 +895 895 896 894 0 0 16 895 +896 896 897 895 0 0 16 896 +897 897 898 896 0 0 16 897 +898 898 899 897 0 0 16 898 +899 899 900 898 0 0 16 899 +900 900 901 899 0 0 16 900 +901 901 902 900 0 0 16 901 +902 902 903 901 0 0 16 902 +903 903 904 902 0 0 16 903 +904 904 905 903 0 0 16 904 +905 905 906 904 0 0 16 905 +906 906 907 905 0 0 16 906 +907 907 908 906 0 0 16 907 +908 908 909 907 0 0 16 908 +909 909 910 908 0 0 16 909 +910 910 911 909 0 0 16 910 +911 911 912 910 0 0 16 911 +912 912 913 911 0 0 16 912 +913 913 914 912 0 0 16 913 +914 914 915 913 0 0 16 914 +915 915 916 914 0 0 16 915 +916 916 917 915 0 0 16 916 +917 917 918 916 0 0 16 917 +918 918 919 917 0 0 16 918 +919 919 920 918 0 0 16 919 +920 920 921 919 0 0 16 920 +921 921 922 920 0 0 16 921 +922 922 923 921 0 0 16 922 +923 923 924 922 0 0 16 923 +924 924 925 923 0 0 16 924 +925 925 926 924 0 0 16 925 +926 926 927 925 0 0 16 926 +927 927 928 926 0 0 16 927 +928 928 929 927 0 0 16 928 +929 929 930 928 0 0 16 929 +930 930 931 929 0 0 16 930 +931 931 932 930 0 0 16 931 +932 932 933 931 0 0 16 932 +933 933 934 932 0 0 16 933 +934 934 935 933 0 0 16 934 +935 935 936 934 0 0 16 935 +936 936 937 935 0 0 16 936 +937 937 938 936 0 0 16 937 +938 938 939 937 0 0 16 938 +939 939 940 938 0 0 16 939 +940 940 941 939 0 0 16 940 +941 941 942 940 0 0 16 941 +942 942 943 941 0 0 16 942 +943 943 944 942 0 0 16 943 +944 944 945 943 0 0 16 944 +945 945 946 944 0 0 16 945 +946 946 947 945 0 0 16 946 +947 947 948 946 0 0 16 947 +948 948 949 947 0 0 16 948 +949 949 950 948 0 0 16 949 +950 950 951 949 0 0 16 950 +951 951 952 950 0 0 16 951 +952 952 953 951 0 0 16 952 +953 953 954 952 0 0 16 953 +954 954 955 953 0 0 16 954 +955 955 956 954 0 0 16 955 +956 956 957 955 0 0 16 956 +957 957 958 956 0 0 16 957 +958 958 959 957 0 0 16 958 +959 959 960 958 0 0 16 959 +960 960 961 959 0 0 16 960 +961 961 962 960 0 0 16 961 +962 962 963 961 0 0 16 962 +963 963 964 962 0 0 16 963 +964 964 965 963 0 0 16 964 +965 965 966 964 0 0 16 965 +966 966 967 965 0 0 16 966 +967 967 968 966 0 0 16 967 +968 968 969 967 0 0 16 968 +969 969 970 968 0 0 16 969 +970 970 971 969 0 0 16 970 +971 971 972 970 0 0 16 971 +972 972 973 971 0 0 16 972 +973 973 974 972 0 0 16 973 +974 974 975 973 0 0 16 974 +975 975 976 974 0 0 16 975 +976 976 977 975 0 0 16 976 +977 977 978 976 0 0 16 977 +978 978 979 977 0 0 16 978 +979 979 980 978 0 0 16 979 +980 980 981 979 0 0 16 980 +981 981 982 980 0 0 16 981 +982 982 983 981 0 0 16 982 +983 983 984 982 0 0 16 983 +984 984 985 983 0 0 16 984 +985 985 986 984 0 0 16 985 +986 986 987 985 0 0 16 986 +987 987 988 986 0 0 16 987 +988 988 989 987 0 0 16 988 +989 989 990 988 0 0 16 989 +990 990 991 989 0 0 16 990 +991 991 992 990 0 0 16 991 +992 992 993 991 0 0 16 992 +993 993 994 992 0 0 16 993 +994 994 995 993 0 0 16 994 +995 995 996 994 0 0 16 995 +996 996 997 995 0 0 16 996 +997 997 998 996 0 0 16 997 +998 998 999 997 0 0 16 998 +999 999 1000 998 0 0 16 999 +1000 1000 1001 999 0 0 16 1000 +1001 1001 1002 1000 0 0 16 1001 +1002 1002 1003 1001 0 0 16 1002 +1003 1003 1004 1002 0 0 16 1003 +1004 1004 1005 1003 0 0 16 1004 +1005 1005 1006 1004 0 0 16 1005 +1006 1006 1007 1005 0 0 16 1006 +1007 1007 1008 1006 0 0 16 1007 +1008 1008 1009 1007 0 0 16 1008 +1009 1009 1010 1008 0 0 16 1009 +1010 1010 1011 1009 0 0 16 1010 +1011 1011 1012 1010 0 0 16 1011 +1012 1012 1013 1011 0 0 16 1012 +1013 1013 1014 1012 0 0 16 1013 +1014 1014 1015 1013 0 0 16 1014 +1015 1015 1016 1014 0 0 16 1015 +1016 1016 1017 1015 0 0 16 1016 +1017 1017 1018 1016 0 0 16 1017 +1018 1018 1019 1017 0 0 16 1018 +1019 1019 1020 1018 0 0 16 1019 +1020 1020 1021 1019 0 0 16 1020 +1021 1021 1022 1020 0 0 16 1021 +1022 1022 -1 1021 0 0 16 1022 +====================================================== +=== [Queue after-back] Next: 1023 First: 1 Last: 0 +# seq next prev timeout retrans type cbp +0 0 -1 1022 0 0 16 0 +1 1 2 -1 0 0 16 1 +2 2 3 1 0 0 16 2 +3 3 4 2 0 0 16 3 +4 4 5 3 0 0 16 4 +5 5 6 4 0 0 16 5 +6 6 7 5 0 0 16 6 +7 7 8 6 0 0 16 7 +8 8 9 7 0 0 16 8 +9 9 10 8 0 0 16 9 +10 10 11 9 0 0 16 10 +11 11 12 10 0 0 16 11 +12 12 13 11 0 0 16 12 +13 13 14 12 0 0 16 13 +14 14 15 13 0 0 16 14 +15 15 16 14 0 0 16 15 +16 16 17 15 0 0 16 16 +17 17 18 16 0 0 16 17 +18 18 19 17 0 0 16 18 +19 19 20 18 0 0 16 19 +20 20 21 19 0 0 16 20 +21 21 22 20 0 0 16 21 +22 22 23 21 0 0 16 22 +23 23 24 22 0 0 16 23 +24 24 25 23 0 0 16 24 +25 25 26 24 0 0 16 25 +26 26 27 25 0 0 16 26 +27 27 28 26 0 0 16 27 +28 28 29 27 0 0 16 28 +29 29 30 28 0 0 16 29 +30 30 31 29 0 0 16 30 +31 31 32 30 0 0 16 31 +32 32 33 31 0 0 16 32 +33 33 34 32 0 0 16 33 +34 34 35 33 0 0 16 34 +35 35 36 34 0 0 16 35 +36 36 37 35 0 0 16 36 +37 37 38 36 0 0 16 37 +38 38 39 37 0 0 16 38 +39 39 40 38 0 0 16 39 +40 40 41 39 0 0 16 40 +41 41 42 40 0 0 16 41 +42 42 43 41 0 0 16 42 +43 43 44 42 0 0 16 43 +44 44 45 43 0 0 16 44 +45 45 46 44 0 0 16 45 +46 46 47 45 0 0 16 46 +47 47 48 46 0 0 16 47 +48 48 49 47 0 0 16 48 +49 49 50 48 0 0 16 49 +50 50 51 49 0 0 16 50 +51 51 52 50 0 0 16 51 +52 52 53 51 0 0 16 52 +53 53 54 52 0 0 16 53 +54 54 55 53 0 0 16 54 +55 55 56 54 0 0 16 55 +56 56 57 55 0 0 16 56 +57 57 58 56 0 0 16 57 +58 58 59 57 0 0 16 58 +59 59 60 58 0 0 16 59 +60 60 61 59 0 0 16 60 +61 61 62 60 0 0 16 61 +62 62 63 61 0 0 16 62 +63 63 64 62 0 0 16 63 +64 64 65 63 0 0 16 64 +65 65 66 64 0 0 16 65 +66 66 67 65 0 0 16 66 +67 67 68 66 0 0 16 67 +68 68 69 67 0 0 16 68 +69 69 70 68 0 0 16 69 +70 70 71 69 0 0 16 70 +71 71 72 70 0 0 16 71 +72 72 73 71 0 0 16 72 +73 73 74 72 0 0 16 73 +74 74 75 73 0 0 16 74 +75 75 76 74 0 0 16 75 +76 76 77 75 0 0 16 76 +77 77 78 76 0 0 16 77 +78 78 79 77 0 0 16 78 +79 79 80 78 0 0 16 79 +80 80 81 79 0 0 16 80 +81 81 82 80 0 0 16 81 +82 82 83 81 0 0 16 82 +83 83 84 82 0 0 16 83 +84 84 85 83 0 0 16 84 +85 85 86 84 0 0 16 85 +86 86 87 85 0 0 16 86 +87 87 88 86 0 0 16 87 +88 88 89 87 0 0 16 88 +89 89 90 88 0 0 16 89 +90 90 91 89 0 0 16 90 +91 91 92 90 0 0 16 91 +92 92 93 91 0 0 16 92 +93 93 94 92 0 0 16 93 +94 94 95 93 0 0 16 94 +95 95 96 94 0 0 16 95 +96 96 97 95 0 0 16 96 +97 97 98 96 0 0 16 97 +98 98 99 97 0 0 16 98 +99 99 100 98 0 0 16 99 +100 100 101 99 0 0 16 100 +101 101 102 100 0 0 16 101 +102 102 103 101 0 0 16 102 +103 103 104 102 0 0 16 103 +104 104 105 103 0 0 16 104 +105 105 106 104 0 0 16 105 +106 106 107 105 0 0 16 106 +107 107 108 106 0 0 16 107 +108 108 109 107 0 0 16 108 +109 109 110 108 0 0 16 109 +110 110 111 109 0 0 16 110 +111 111 112 110 0 0 16 111 +112 112 113 111 0 0 16 112 +113 113 114 112 0 0 16 113 +114 114 115 113 0 0 16 114 +115 115 116 114 0 0 16 115 +116 116 117 115 0 0 16 116 +117 117 118 116 0 0 16 117 +118 118 119 117 0 0 16 118 +119 119 120 118 0 0 16 119 +120 120 121 119 0 0 16 120 +121 121 122 120 0 0 16 121 +122 122 123 121 0 0 16 122 +123 123 124 122 0 0 16 123 +124 124 125 123 0 0 16 124 +125 125 126 124 0 0 16 125 +126 126 127 125 0 0 16 126 +127 127 128 126 0 0 16 127 +128 128 129 127 0 0 16 128 +129 129 130 128 0 0 16 129 +130 130 131 129 0 0 16 130 +131 131 132 130 0 0 16 131 +132 132 133 131 0 0 16 132 +133 133 134 132 0 0 16 133 +134 134 135 133 0 0 16 134 +135 135 136 134 0 0 16 135 +136 136 137 135 0 0 16 136 +137 137 138 136 0 0 16 137 +138 138 139 137 0 0 16 138 +139 139 140 138 0 0 16 139 +140 140 141 139 0 0 16 140 +141 141 142 140 0 0 16 141 +142 142 143 141 0 0 16 142 +143 143 144 142 0 0 16 143 +144 144 145 143 0 0 16 144 +145 145 146 144 0 0 16 145 +146 146 147 145 0 0 16 146 +147 147 148 146 0 0 16 147 +148 148 149 147 0 0 16 148 +149 149 150 148 0 0 16 149 +150 150 151 149 0 0 16 150 +151 151 152 150 0 0 16 151 +152 152 153 151 0 0 16 152 +153 153 154 152 0 0 16 153 +154 154 155 153 0 0 16 154 +155 155 156 154 0 0 16 155 +156 156 157 155 0 0 16 156 +157 157 158 156 0 0 16 157 +158 158 159 157 0 0 16 158 +159 159 160 158 0 0 16 159 +160 160 161 159 0 0 16 160 +161 161 162 160 0 0 16 161 +162 162 163 161 0 0 16 162 +163 163 164 162 0 0 16 163 +164 164 165 163 0 0 16 164 +165 165 166 164 0 0 16 165 +166 166 167 165 0 0 16 166 +167 167 168 166 0 0 16 167 +168 168 169 167 0 0 16 168 +169 169 170 168 0 0 16 169 +170 170 171 169 0 0 16 170 +171 171 172 170 0 0 16 171 +172 172 173 171 0 0 16 172 +173 173 174 172 0 0 16 173 +174 174 175 173 0 0 16 174 +175 175 176 174 0 0 16 175 +176 176 177 175 0 0 16 176 +177 177 178 176 0 0 16 177 +178 178 179 177 0 0 16 178 +179 179 180 178 0 0 16 179 +180 180 181 179 0 0 16 180 +181 181 182 180 0 0 16 181 +182 182 183 181 0 0 16 182 +183 183 184 182 0 0 16 183 +184 184 185 183 0 0 16 184 +185 185 186 184 0 0 16 185 +186 186 187 185 0 0 16 186 +187 187 188 186 0 0 16 187 +188 188 189 187 0 0 16 188 +189 189 190 188 0 0 16 189 +190 190 191 189 0 0 16 190 +191 191 192 190 0 0 16 191 +192 192 193 191 0 0 16 192 +193 193 194 192 0 0 16 193 +194 194 195 193 0 0 16 194 +195 195 196 194 0 0 16 195 +196 196 197 195 0 0 16 196 +197 197 198 196 0 0 16 197 +198 198 199 197 0 0 16 198 +199 199 200 198 0 0 16 199 +200 200 201 199 0 0 16 200 +201 201 202 200 0 0 16 201 +202 202 203 201 0 0 16 202 +203 203 204 202 0 0 16 203 +204 204 205 203 0 0 16 204 +205 205 206 204 0 0 16 205 +206 206 207 205 0 0 16 206 +207 207 208 206 0 0 16 207 +208 208 209 207 0 0 16 208 +209 209 210 208 0 0 16 209 +210 210 211 209 0 0 16 210 +211 211 212 210 0 0 16 211 +212 212 213 211 0 0 16 212 +213 213 214 212 0 0 16 213 +214 214 215 213 0 0 16 214 +215 215 216 214 0 0 16 215 +216 216 217 215 0 0 16 216 +217 217 218 216 0 0 16 217 +218 218 219 217 0 0 16 218 +219 219 220 218 0 0 16 219 +220 220 221 219 0 0 16 220 +221 221 222 220 0 0 16 221 +222 222 223 221 0 0 16 222 +223 223 224 222 0 0 16 223 +224 224 225 223 0 0 16 224 +225 225 226 224 0 0 16 225 +226 226 227 225 0 0 16 226 +227 227 228 226 0 0 16 227 +228 228 229 227 0 0 16 228 +229 229 230 228 0 0 16 229 +230 230 231 229 0 0 16 230 +231 231 232 230 0 0 16 231 +232 232 233 231 0 0 16 232 +233 233 234 232 0 0 16 233 +234 234 235 233 0 0 16 234 +235 235 236 234 0 0 16 235 +236 236 237 235 0 0 16 236 +237 237 238 236 0 0 16 237 +238 238 239 237 0 0 16 238 +239 239 240 238 0 0 16 239 +240 240 241 239 0 0 16 240 +241 241 242 240 0 0 16 241 +242 242 243 241 0 0 16 242 +243 243 244 242 0 0 16 243 +244 244 245 243 0 0 16 244 +245 245 246 244 0 0 16 245 +246 246 247 245 0 0 16 246 +247 247 248 246 0 0 16 247 +248 248 249 247 0 0 16 248 +249 249 250 248 0 0 16 249 +250 250 251 249 0 0 16 250 +251 251 252 250 0 0 16 251 +252 252 253 251 0 0 16 252 +253 253 254 252 0 0 16 253 +254 254 255 253 0 0 16 254 +255 255 256 254 0 0 16 255 +256 256 257 255 0 0 16 256 +257 257 258 256 0 0 16 257 +258 258 259 257 0 0 16 258 +259 259 260 258 0 0 16 259 +260 260 261 259 0 0 16 260 +261 261 262 260 0 0 16 261 +262 262 263 261 0 0 16 262 +263 263 264 262 0 0 16 263 +264 264 265 263 0 0 16 264 +265 265 266 264 0 0 16 265 +266 266 267 265 0 0 16 266 +267 267 268 266 0 0 16 267 +268 268 269 267 0 0 16 268 +269 269 270 268 0 0 16 269 +270 270 271 269 0 0 16 270 +271 271 272 270 0 0 16 271 +272 272 273 271 0 0 16 272 +273 273 274 272 0 0 16 273 +274 274 275 273 0 0 16 274 +275 275 276 274 0 0 16 275 +276 276 277 275 0 0 16 276 +277 277 278 276 0 0 16 277 +278 278 279 277 0 0 16 278 +279 279 280 278 0 0 16 279 +280 280 281 279 0 0 16 280 +281 281 282 280 0 0 16 281 +282 282 283 281 0 0 16 282 +283 283 284 282 0 0 16 283 +284 284 285 283 0 0 16 284 +285 285 286 284 0 0 16 285 +286 286 287 285 0 0 16 286 +287 287 288 286 0 0 16 287 +288 288 289 287 0 0 16 288 +289 289 290 288 0 0 16 289 +290 290 291 289 0 0 16 290 +291 291 292 290 0 0 16 291 +292 292 293 291 0 0 16 292 +293 293 294 292 0 0 16 293 +294 294 295 293 0 0 16 294 +295 295 296 294 0 0 16 295 +296 296 297 295 0 0 16 296 +297 297 298 296 0 0 16 297 +298 298 299 297 0 0 16 298 +299 299 300 298 0 0 16 299 +300 300 301 299 0 0 16 300 +301 301 302 300 0 0 16 301 +302 302 303 301 0 0 16 302 +303 303 304 302 0 0 16 303 +304 304 305 303 0 0 16 304 +305 305 306 304 0 0 16 305 +306 306 307 305 0 0 16 306 +307 307 308 306 0 0 16 307 +308 308 309 307 0 0 16 308 +309 309 310 308 0 0 16 309 +310 310 311 309 0 0 16 310 +311 311 312 310 0 0 16 311 +312 312 313 311 0 0 16 312 +313 313 314 312 0 0 16 313 +314 314 315 313 0 0 16 314 +315 315 316 314 0 0 16 315 +316 316 317 315 0 0 16 316 +317 317 318 316 0 0 16 317 +318 318 319 317 0 0 16 318 +319 319 320 318 0 0 16 319 +320 320 321 319 0 0 16 320 +321 321 322 320 0 0 16 321 +322 322 323 321 0 0 16 322 +323 323 324 322 0 0 16 323 +324 324 325 323 0 0 16 324 +325 325 326 324 0 0 16 325 +326 326 327 325 0 0 16 326 +327 327 328 326 0 0 16 327 +328 328 329 327 0 0 16 328 +329 329 330 328 0 0 16 329 +330 330 331 329 0 0 16 330 +331 331 332 330 0 0 16 331 +332 332 333 331 0 0 16 332 +333 333 334 332 0 0 16 333 +334 334 335 333 0 0 16 334 +335 335 336 334 0 0 16 335 +336 336 337 335 0 0 16 336 +337 337 338 336 0 0 16 337 +338 338 339 337 0 0 16 338 +339 339 340 338 0 0 16 339 +340 340 341 339 0 0 16 340 +341 341 342 340 0 0 16 341 +342 342 343 341 0 0 16 342 +343 343 344 342 0 0 16 343 +344 344 345 343 0 0 16 344 +345 345 346 344 0 0 16 345 +346 346 347 345 0 0 16 346 +347 347 348 346 0 0 16 347 +348 348 349 347 0 0 16 348 +349 349 350 348 0 0 16 349 +350 350 351 349 0 0 16 350 +351 351 352 350 0 0 16 351 +352 352 353 351 0 0 16 352 +353 353 354 352 0 0 16 353 +354 354 355 353 0 0 16 354 +355 355 356 354 0 0 16 355 +356 356 357 355 0 0 16 356 +357 357 358 356 0 0 16 357 +358 358 359 357 0 0 16 358 +359 359 360 358 0 0 16 359 +360 360 361 359 0 0 16 360 +361 361 362 360 0 0 16 361 +362 362 363 361 0 0 16 362 +363 363 364 362 0 0 16 363 +364 364 365 363 0 0 16 364 +365 365 366 364 0 0 16 365 +366 366 367 365 0 0 16 366 +367 367 368 366 0 0 16 367 +368 368 369 367 0 0 16 368 +369 369 370 368 0 0 16 369 +370 370 371 369 0 0 16 370 +371 371 372 370 0 0 16 371 +372 372 373 371 0 0 16 372 +373 373 374 372 0 0 16 373 +374 374 375 373 0 0 16 374 +375 375 376 374 0 0 16 375 +376 376 377 375 0 0 16 376 +377 377 378 376 0 0 16 377 +378 378 379 377 0 0 16 378 +379 379 380 378 0 0 16 379 +380 380 381 379 0 0 16 380 +381 381 382 380 0 0 16 381 +382 382 383 381 0 0 16 382 +383 383 384 382 0 0 16 383 +384 384 385 383 0 0 16 384 +385 385 386 384 0 0 16 385 +386 386 387 385 0 0 16 386 +387 387 388 386 0 0 16 387 +388 388 389 387 0 0 16 388 +389 389 390 388 0 0 16 389 +390 390 391 389 0 0 16 390 +391 391 392 390 0 0 16 391 +392 392 393 391 0 0 16 392 +393 393 394 392 0 0 16 393 +394 394 395 393 0 0 16 394 +395 395 396 394 0 0 16 395 +396 396 397 395 0 0 16 396 +397 397 398 396 0 0 16 397 +398 398 399 397 0 0 16 398 +399 399 400 398 0 0 16 399 +400 400 401 399 0 0 16 400 +401 401 402 400 0 0 16 401 +402 402 403 401 0 0 16 402 +403 403 404 402 0 0 16 403 +404 404 405 403 0 0 16 404 +405 405 406 404 0 0 16 405 +406 406 407 405 0 0 16 406 +407 407 408 406 0 0 16 407 +408 408 409 407 0 0 16 408 +409 409 410 408 0 0 16 409 +410 410 411 409 0 0 16 410 +411 411 412 410 0 0 16 411 +412 412 413 411 0 0 16 412 +413 413 414 412 0 0 16 413 +414 414 415 413 0 0 16 414 +415 415 416 414 0 0 16 415 +416 416 417 415 0 0 16 416 +417 417 418 416 0 0 16 417 +418 418 419 417 0 0 16 418 +419 419 420 418 0 0 16 419 +420 420 421 419 0 0 16 420 +421 421 422 420 0 0 16 421 +422 422 423 421 0 0 16 422 +423 423 424 422 0 0 16 423 +424 424 425 423 0 0 16 424 +425 425 426 424 0 0 16 425 +426 426 427 425 0 0 16 426 +427 427 428 426 0 0 16 427 +428 428 429 427 0 0 16 428 +429 429 430 428 0 0 16 429 +430 430 431 429 0 0 16 430 +431 431 432 430 0 0 16 431 +432 432 433 431 0 0 16 432 +433 433 434 432 0 0 16 433 +434 434 435 433 0 0 16 434 +435 435 436 434 0 0 16 435 +436 436 437 435 0 0 16 436 +437 437 438 436 0 0 16 437 +438 438 439 437 0 0 16 438 +439 439 440 438 0 0 16 439 +440 440 441 439 0 0 16 440 +441 441 442 440 0 0 16 441 +442 442 443 441 0 0 16 442 +443 443 444 442 0 0 16 443 +444 444 445 443 0 0 16 444 +445 445 446 444 0 0 16 445 +446 446 447 445 0 0 16 446 +447 447 448 446 0 0 16 447 +448 448 449 447 0 0 16 448 +449 449 450 448 0 0 16 449 +450 450 451 449 0 0 16 450 +451 451 452 450 0 0 16 451 +452 452 453 451 0 0 16 452 +453 453 454 452 0 0 16 453 +454 454 455 453 0 0 16 454 +455 455 456 454 0 0 16 455 +456 456 457 455 0 0 16 456 +457 457 458 456 0 0 16 457 +458 458 459 457 0 0 16 458 +459 459 460 458 0 0 16 459 +460 460 461 459 0 0 16 460 +461 461 462 460 0 0 16 461 +462 462 463 461 0 0 16 462 +463 463 464 462 0 0 16 463 +464 464 465 463 0 0 16 464 +465 465 466 464 0 0 16 465 +466 466 467 465 0 0 16 466 +467 467 468 466 0 0 16 467 +468 468 469 467 0 0 16 468 +469 469 470 468 0 0 16 469 +470 470 471 469 0 0 16 470 +471 471 472 470 0 0 16 471 +472 472 473 471 0 0 16 472 +473 473 474 472 0 0 16 473 +474 474 475 473 0 0 16 474 +475 475 476 474 0 0 16 475 +476 476 477 475 0 0 16 476 +477 477 478 476 0 0 16 477 +478 478 479 477 0 0 16 478 +479 479 480 478 0 0 16 479 +480 480 481 479 0 0 16 480 +481 481 482 480 0 0 16 481 +482 482 483 481 0 0 16 482 +483 483 484 482 0 0 16 483 +484 484 485 483 0 0 16 484 +485 485 486 484 0 0 16 485 +486 486 487 485 0 0 16 486 +487 487 488 486 0 0 16 487 +488 488 489 487 0 0 16 488 +489 489 490 488 0 0 16 489 +490 490 491 489 0 0 16 490 +491 491 492 490 0 0 16 491 +492 492 493 491 0 0 16 492 +493 493 494 492 0 0 16 493 +494 494 495 493 0 0 16 494 +495 495 496 494 0 0 16 495 +496 496 497 495 0 0 16 496 +497 497 498 496 0 0 16 497 +498 498 499 497 0 0 16 498 +499 499 500 498 0 0 16 499 +500 500 501 499 0 0 16 500 +501 501 502 500 0 0 16 501 +502 502 503 501 0 0 16 502 +503 503 504 502 0 0 16 503 +504 504 505 503 0 0 16 504 +505 505 506 504 0 0 16 505 +506 506 507 505 0 0 16 506 +507 507 508 506 0 0 16 507 +508 508 509 507 0 0 16 508 +509 509 510 508 0 0 16 509 +510 510 511 509 0 0 16 510 +511 511 512 510 0 0 16 511 +512 512 513 511 0 0 16 512 +513 513 514 512 0 0 16 513 +514 514 515 513 0 0 16 514 +515 515 516 514 0 0 16 515 +516 516 517 515 0 0 16 516 +517 517 518 516 0 0 16 517 +518 518 519 517 0 0 16 518 +519 519 520 518 0 0 16 519 +520 520 521 519 0 0 16 520 +521 521 522 520 0 0 16 521 +522 522 523 521 0 0 16 522 +523 523 524 522 0 0 16 523 +524 524 525 523 0 0 16 524 +525 525 526 524 0 0 16 525 +526 526 527 525 0 0 16 526 +527 527 528 526 0 0 16 527 +528 528 529 527 0 0 16 528 +529 529 530 528 0 0 16 529 +530 530 531 529 0 0 16 530 +531 531 532 530 0 0 16 531 +532 532 533 531 0 0 16 532 +533 533 534 532 0 0 16 533 +534 534 535 533 0 0 16 534 +535 535 536 534 0 0 16 535 +536 536 537 535 0 0 16 536 +537 537 538 536 0 0 16 537 +538 538 539 537 0 0 16 538 +539 539 540 538 0 0 16 539 +540 540 541 539 0 0 16 540 +541 541 542 540 0 0 16 541 +542 542 543 541 0 0 16 542 +543 543 544 542 0 0 16 543 +544 544 545 543 0 0 16 544 +545 545 546 544 0 0 16 545 +546 546 547 545 0 0 16 546 +547 547 548 546 0 0 16 547 +548 548 549 547 0 0 16 548 +549 549 550 548 0 0 16 549 +550 550 551 549 0 0 16 550 +551 551 552 550 0 0 16 551 +552 552 553 551 0 0 16 552 +553 553 554 552 0 0 16 553 +554 554 555 553 0 0 16 554 +555 555 556 554 0 0 16 555 +556 556 557 555 0 0 16 556 +557 557 558 556 0 0 16 557 +558 558 559 557 0 0 16 558 +559 559 560 558 0 0 16 559 +560 560 561 559 0 0 16 560 +561 561 562 560 0 0 16 561 +562 562 563 561 0 0 16 562 +563 563 564 562 0 0 16 563 +564 564 565 563 0 0 16 564 +565 565 566 564 0 0 16 565 +566 566 567 565 0 0 16 566 +567 567 568 566 0 0 16 567 +568 568 569 567 0 0 16 568 +569 569 570 568 0 0 16 569 +570 570 571 569 0 0 16 570 +571 571 572 570 0 0 16 571 +572 572 573 571 0 0 16 572 +573 573 574 572 0 0 16 573 +574 574 575 573 0 0 16 574 +575 575 576 574 0 0 16 575 +576 576 577 575 0 0 16 576 +577 577 578 576 0 0 16 577 +578 578 579 577 0 0 16 578 +579 579 580 578 0 0 16 579 +580 580 581 579 0 0 16 580 +581 581 582 580 0 0 16 581 +582 582 583 581 0 0 16 582 +583 583 584 582 0 0 16 583 +584 584 585 583 0 0 16 584 +585 585 586 584 0 0 16 585 +586 586 587 585 0 0 16 586 +587 587 588 586 0 0 16 587 +588 588 589 587 0 0 16 588 +589 589 590 588 0 0 16 589 +590 590 591 589 0 0 16 590 +591 591 592 590 0 0 16 591 +592 592 593 591 0 0 16 592 +593 593 594 592 0 0 16 593 +594 594 595 593 0 0 16 594 +595 595 596 594 0 0 16 595 +596 596 597 595 0 0 16 596 +597 597 598 596 0 0 16 597 +598 598 599 597 0 0 16 598 +599 599 600 598 0 0 16 599 +600 600 601 599 0 0 16 600 +601 601 602 600 0 0 16 601 +602 602 603 601 0 0 16 602 +603 603 604 602 0 0 16 603 +604 604 605 603 0 0 16 604 +605 605 606 604 0 0 16 605 +606 606 607 605 0 0 16 606 +607 607 608 606 0 0 16 607 +608 608 609 607 0 0 16 608 +609 609 610 608 0 0 16 609 +610 610 611 609 0 0 16 610 +611 611 612 610 0 0 16 611 +612 612 613 611 0 0 16 612 +613 613 614 612 0 0 16 613 +614 614 615 613 0 0 16 614 +615 615 616 614 0 0 16 615 +616 616 617 615 0 0 16 616 +617 617 618 616 0 0 16 617 +618 618 619 617 0 0 16 618 +619 619 620 618 0 0 16 619 +620 620 621 619 0 0 16 620 +621 621 622 620 0 0 16 621 +622 622 623 621 0 0 16 622 +623 623 624 622 0 0 16 623 +624 624 625 623 0 0 16 624 +625 625 626 624 0 0 16 625 +626 626 627 625 0 0 16 626 +627 627 628 626 0 0 16 627 +628 628 629 627 0 0 16 628 +629 629 630 628 0 0 16 629 +630 630 631 629 0 0 16 630 +631 631 632 630 0 0 16 631 +632 632 633 631 0 0 16 632 +633 633 634 632 0 0 16 633 +634 634 635 633 0 0 16 634 +635 635 636 634 0 0 16 635 +636 636 637 635 0 0 16 636 +637 637 638 636 0 0 16 637 +638 638 639 637 0 0 16 638 +639 639 640 638 0 0 16 639 +640 640 641 639 0 0 16 640 +641 641 642 640 0 0 16 641 +642 642 643 641 0 0 16 642 +643 643 644 642 0 0 16 643 +644 644 645 643 0 0 16 644 +645 645 646 644 0 0 16 645 +646 646 647 645 0 0 16 646 +647 647 648 646 0 0 16 647 +648 648 649 647 0 0 16 648 +649 649 650 648 0 0 16 649 +650 650 651 649 0 0 16 650 +651 651 652 650 0 0 16 651 +652 652 653 651 0 0 16 652 +653 653 654 652 0 0 16 653 +654 654 655 653 0 0 16 654 +655 655 656 654 0 0 16 655 +656 656 657 655 0 0 16 656 +657 657 658 656 0 0 16 657 +658 658 659 657 0 0 16 658 +659 659 660 658 0 0 16 659 +660 660 661 659 0 0 16 660 +661 661 662 660 0 0 16 661 +662 662 663 661 0 0 16 662 +663 663 664 662 0 0 16 663 +664 664 665 663 0 0 16 664 +665 665 666 664 0 0 16 665 +666 666 667 665 0 0 16 666 +667 667 668 666 0 0 16 667 +668 668 669 667 0 0 16 668 +669 669 670 668 0 0 16 669 +670 670 671 669 0 0 16 670 +671 671 672 670 0 0 16 671 +672 672 673 671 0 0 16 672 +673 673 674 672 0 0 16 673 +674 674 675 673 0 0 16 674 +675 675 676 674 0 0 16 675 +676 676 677 675 0 0 16 676 +677 677 678 676 0 0 16 677 +678 678 679 677 0 0 16 678 +679 679 680 678 0 0 16 679 +680 680 681 679 0 0 16 680 +681 681 682 680 0 0 16 681 +682 682 683 681 0 0 16 682 +683 683 684 682 0 0 16 683 +684 684 685 683 0 0 16 684 +685 685 686 684 0 0 16 685 +686 686 687 685 0 0 16 686 +687 687 688 686 0 0 16 687 +688 688 689 687 0 0 16 688 +689 689 690 688 0 0 16 689 +690 690 691 689 0 0 16 690 +691 691 692 690 0 0 16 691 +692 692 693 691 0 0 16 692 +693 693 694 692 0 0 16 693 +694 694 695 693 0 0 16 694 +695 695 696 694 0 0 16 695 +696 696 697 695 0 0 16 696 +697 697 698 696 0 0 16 697 +698 698 699 697 0 0 16 698 +699 699 700 698 0 0 16 699 +700 700 701 699 0 0 16 700 +701 701 702 700 0 0 16 701 +702 702 703 701 0 0 16 702 +703 703 704 702 0 0 16 703 +704 704 705 703 0 0 16 704 +705 705 706 704 0 0 16 705 +706 706 707 705 0 0 16 706 +707 707 708 706 0 0 16 707 +708 708 709 707 0 0 16 708 +709 709 710 708 0 0 16 709 +710 710 711 709 0 0 16 710 +711 711 712 710 0 0 16 711 +712 712 713 711 0 0 16 712 +713 713 714 712 0 0 16 713 +714 714 715 713 0 0 16 714 +715 715 716 714 0 0 16 715 +716 716 717 715 0 0 16 716 +717 717 718 716 0 0 16 717 +718 718 719 717 0 0 16 718 +719 719 720 718 0 0 16 719 +720 720 721 719 0 0 16 720 +721 721 722 720 0 0 16 721 +722 722 723 721 0 0 16 722 +723 723 724 722 0 0 16 723 +724 724 725 723 0 0 16 724 +725 725 726 724 0 0 16 725 +726 726 727 725 0 0 16 726 +727 727 728 726 0 0 16 727 +728 728 729 727 0 0 16 728 +729 729 730 728 0 0 16 729 +730 730 731 729 0 0 16 730 +731 731 732 730 0 0 16 731 +732 732 733 731 0 0 16 732 +733 733 734 732 0 0 16 733 +734 734 735 733 0 0 16 734 +735 735 736 734 0 0 16 735 +736 736 737 735 0 0 16 736 +737 737 738 736 0 0 16 737 +738 738 739 737 0 0 16 738 +739 739 740 738 0 0 16 739 +740 740 741 739 0 0 16 740 +741 741 742 740 0 0 16 741 +742 742 743 741 0 0 16 742 +743 743 744 742 0 0 16 743 +744 744 745 743 0 0 16 744 +745 745 746 744 0 0 16 745 +746 746 747 745 0 0 16 746 +747 747 748 746 0 0 16 747 +748 748 749 747 0 0 16 748 +749 749 750 748 0 0 16 749 +750 750 751 749 0 0 16 750 +751 751 752 750 0 0 16 751 +752 752 753 751 0 0 16 752 +753 753 754 752 0 0 16 753 +754 754 755 753 0 0 16 754 +755 755 756 754 0 0 16 755 +756 756 757 755 0 0 16 756 +757 757 758 756 0 0 16 757 +758 758 759 757 0 0 16 758 +759 759 760 758 0 0 16 759 +760 760 761 759 0 0 16 760 +761 761 762 760 0 0 16 761 +762 762 763 761 0 0 16 762 +763 763 764 762 0 0 16 763 +764 764 765 763 0 0 16 764 +765 765 766 764 0 0 16 765 +766 766 767 765 0 0 16 766 +767 767 768 766 0 0 16 767 +768 768 769 767 0 0 16 768 +769 769 770 768 0 0 16 769 +770 770 771 769 0 0 16 770 +771 771 772 770 0 0 16 771 +772 772 773 771 0 0 16 772 +773 773 774 772 0 0 16 773 +774 774 775 773 0 0 16 774 +775 775 776 774 0 0 16 775 +776 776 777 775 0 0 16 776 +777 777 778 776 0 0 16 777 +778 778 779 777 0 0 16 778 +779 779 780 778 0 0 16 779 +780 780 781 779 0 0 16 780 +781 781 782 780 0 0 16 781 +782 782 783 781 0 0 16 782 +783 783 784 782 0 0 16 783 +784 784 785 783 0 0 16 784 +785 785 786 784 0 0 16 785 +786 786 787 785 0 0 16 786 +787 787 788 786 0 0 16 787 +788 788 789 787 0 0 16 788 +789 789 790 788 0 0 16 789 +790 790 791 789 0 0 16 790 +791 791 792 790 0 0 16 791 +792 792 793 791 0 0 16 792 +793 793 794 792 0 0 16 793 +794 794 795 793 0 0 16 794 +795 795 796 794 0 0 16 795 +796 796 797 795 0 0 16 796 +797 797 798 796 0 0 16 797 +798 798 799 797 0 0 16 798 +799 799 800 798 0 0 16 799 +800 800 801 799 0 0 16 800 +801 801 802 800 0 0 16 801 +802 802 803 801 0 0 16 802 +803 803 804 802 0 0 16 803 +804 804 805 803 0 0 16 804 +805 805 806 804 0 0 16 805 +806 806 807 805 0 0 16 806 +807 807 808 806 0 0 16 807 +808 808 809 807 0 0 16 808 +809 809 810 808 0 0 16 809 +810 810 811 809 0 0 16 810 +811 811 812 810 0 0 16 811 +812 812 813 811 0 0 16 812 +813 813 814 812 0 0 16 813 +814 814 815 813 0 0 16 814 +815 815 816 814 0 0 16 815 +816 816 817 815 0 0 16 816 +817 817 818 816 0 0 16 817 +818 818 819 817 0 0 16 818 +819 819 820 818 0 0 16 819 +820 820 821 819 0 0 16 820 +821 821 822 820 0 0 16 821 +822 822 823 821 0 0 16 822 +823 823 824 822 0 0 16 823 +824 824 825 823 0 0 16 824 +825 825 826 824 0 0 16 825 +826 826 827 825 0 0 16 826 +827 827 828 826 0 0 16 827 +828 828 829 827 0 0 16 828 +829 829 830 828 0 0 16 829 +830 830 831 829 0 0 16 830 +831 831 832 830 0 0 16 831 +832 832 833 831 0 0 16 832 +833 833 834 832 0 0 16 833 +834 834 835 833 0 0 16 834 +835 835 836 834 0 0 16 835 +836 836 837 835 0 0 16 836 +837 837 838 836 0 0 16 837 +838 838 839 837 0 0 16 838 +839 839 840 838 0 0 16 839 +840 840 841 839 0 0 16 840 +841 841 842 840 0 0 16 841 +842 842 843 841 0 0 16 842 +843 843 844 842 0 0 16 843 +844 844 845 843 0 0 16 844 +845 845 846 844 0 0 16 845 +846 846 847 845 0 0 16 846 +847 847 848 846 0 0 16 847 +848 848 849 847 0 0 16 848 +849 849 850 848 0 0 16 849 +850 850 851 849 0 0 16 850 +851 851 852 850 0 0 16 851 +852 852 853 851 0 0 16 852 +853 853 854 852 0 0 16 853 +854 854 855 853 0 0 16 854 +855 855 856 854 0 0 16 855 +856 856 857 855 0 0 16 856 +857 857 858 856 0 0 16 857 +858 858 859 857 0 0 16 858 +859 859 860 858 0 0 16 859 +860 860 861 859 0 0 16 860 +861 861 862 860 0 0 16 861 +862 862 863 861 0 0 16 862 +863 863 864 862 0 0 16 863 +864 864 865 863 0 0 16 864 +865 865 866 864 0 0 16 865 +866 866 867 865 0 0 16 866 +867 867 868 866 0 0 16 867 +868 868 869 867 0 0 16 868 +869 869 870 868 0 0 16 869 +870 870 871 869 0 0 16 870 +871 871 872 870 0 0 16 871 +872 872 873 871 0 0 16 872 +873 873 874 872 0 0 16 873 +874 874 875 873 0 0 16 874 +875 875 876 874 0 0 16 875 +876 876 877 875 0 0 16 876 +877 877 878 876 0 0 16 877 +878 878 879 877 0 0 16 878 +879 879 880 878 0 0 16 879 +880 880 881 879 0 0 16 880 +881 881 882 880 0 0 16 881 +882 882 883 881 0 0 16 882 +883 883 884 882 0 0 16 883 +884 884 885 883 0 0 16 884 +885 885 886 884 0 0 16 885 +886 886 887 885 0 0 16 886 +887 887 888 886 0 0 16 887 +888 888 889 887 0 0 16 888 +889 889 890 888 0 0 16 889 +890 890 891 889 0 0 16 890 +891 891 892 890 0 0 16 891 +892 892 893 891 0 0 16 892 +893 893 894 892 0 0 16 893 +894 894 895 893 0 0 16 894 +895 895 896 894 0 0 16 895 +896 896 897 895 0 0 16 896 +897 897 898 896 0 0 16 897 +898 898 899 897 0 0 16 898 +899 899 900 898 0 0 16 899 +900 900 901 899 0 0 16 900 +901 901 902 900 0 0 16 901 +902 902 903 901 0 0 16 902 +903 903 904 902 0 0 16 903 +904 904 905 903 0 0 16 904 +905 905 906 904 0 0 16 905 +906 906 907 905 0 0 16 906 +907 907 908 906 0 0 16 907 +908 908 909 907 0 0 16 908 +909 909 910 908 0 0 16 909 +910 910 911 909 0 0 16 910 +911 911 912 910 0 0 16 911 +912 912 913 911 0 0 16 912 +913 913 914 912 0 0 16 913 +914 914 915 913 0 0 16 914 +915 915 916 914 0 0 16 915 +916 916 917 915 0 0 16 916 +917 917 918 916 0 0 16 917 +918 918 919 917 0 0 16 918 +919 919 920 918 0 0 16 919 +920 920 921 919 0 0 16 920 +921 921 922 920 0 0 16 921 +922 922 923 921 0 0 16 922 +923 923 924 922 0 0 16 923 +924 924 925 923 0 0 16 924 +925 925 926 924 0 0 16 925 +926 926 927 925 0 0 16 926 +927 927 928 926 0 0 16 927 +928 928 929 927 0 0 16 928 +929 929 930 928 0 0 16 929 +930 930 931 929 0 0 16 930 +931 931 932 930 0 0 16 931 +932 932 933 931 0 0 16 932 +933 933 934 932 0 0 16 933 +934 934 935 933 0 0 16 934 +935 935 936 934 0 0 16 935 +936 936 937 935 0 0 16 936 +937 937 938 936 0 0 16 937 +938 938 939 937 0 0 16 938 +939 939 940 938 0 0 16 939 +940 940 941 939 0 0 16 940 +941 941 942 940 0 0 16 941 +942 942 943 941 0 0 16 942 +943 943 944 942 0 0 16 943 +944 944 945 943 0 0 16 944 +945 945 946 944 0 0 16 945 +946 946 947 945 0 0 16 946 +947 947 948 946 0 0 16 947 +948 948 949 947 0 0 16 948 +949 949 950 948 0 0 16 949 +950 950 951 949 0 0 16 950 +951 951 952 950 0 0 16 951 +952 952 953 951 0 0 16 952 +953 953 954 952 0 0 16 953 +954 954 955 953 0 0 16 954 +955 955 956 954 0 0 16 955 +956 956 957 955 0 0 16 956 +957 957 958 956 0 0 16 957 +958 958 959 957 0 0 16 958 +959 959 960 958 0 0 16 959 +960 960 961 959 0 0 16 960 +961 961 962 960 0 0 16 961 +962 962 963 961 0 0 16 962 +963 963 964 962 0 0 16 963 +964 964 965 963 0 0 16 964 +965 965 966 964 0 0 16 965 +966 966 967 965 0 0 16 966 +967 967 968 966 0 0 16 967 +968 968 969 967 0 0 16 968 +969 969 970 968 0 0 16 969 +970 970 971 969 0 0 16 970 +971 971 972 970 0 0 16 971 +972 972 973 971 0 0 16 972 +973 973 974 972 0 0 16 973 +974 974 975 973 0 0 16 974 +975 975 976 974 0 0 16 975 +976 976 977 975 0 0 16 976 +977 977 978 976 0 0 16 977 +978 978 979 977 0 0 16 978 +979 979 980 978 0 0 16 979 +980 980 981 979 0 0 16 980 +981 981 982 980 0 0 16 981 +982 982 983 981 0 0 16 982 +983 983 984 982 0 0 16 983 +984 984 985 983 0 0 16 984 +985 985 986 984 0 0 16 985 +986 986 987 985 0 0 16 986 +987 987 988 986 0 0 16 987 +988 988 989 987 0 0 16 988 +989 989 990 988 0 0 16 989 +990 990 991 989 0 0 16 990 +991 991 992 990 0 0 16 991 +992 992 993 991 0 0 16 992 +993 993 994 992 0 0 16 993 +994 994 995 993 0 0 16 994 +995 995 996 994 0 0 16 995 +996 996 997 995 0 0 16 996 +997 997 998 996 0 0 16 997 +998 998 999 997 0 0 16 998 +999 999 1000 998 0 0 16 999 +1000 1000 1001 999 0 0 16 1000 +1001 1001 1002 1000 0 0 16 1001 +1002 1002 1003 1001 0 0 16 1002 +1003 1003 1004 1002 0 0 16 1003 +1004 1004 1005 1003 0 0 16 1004 +1005 1005 1006 1004 0 0 16 1005 +1006 1006 1007 1005 0 0 16 1006 +1007 1007 1008 1006 0 0 16 1007 +1008 1008 1009 1007 0 0 16 1008 +1009 1009 1010 1008 0 0 16 1009 +1010 1010 1011 1009 0 0 16 1010 +1011 1011 1012 1010 0 0 16 1011 +1012 1012 1013 1011 0 0 16 1012 +1013 1013 1014 1012 0 0 16 1013 +1014 1014 1015 1013 0 0 16 1014 +1015 1015 1016 1014 0 0 16 1015 +1016 1016 1017 1015 0 0 16 1016 +1017 1017 1018 1016 0 0 16 1017 +1018 1018 1019 1017 0 0 16 1018 +1019 1019 1020 1018 0 0 16 1019 +1020 1020 1021 1019 0 0 16 1020 +1021 1021 1022 1020 0 0 16 1021 +1022 1022 0 1021 0 0 16 1022 +====================================================== +=== [Queue after-full] Next: 0 First: 1 Last: 1023 +# seq next prev timeout retrans type cbp +0 0 1023 1022 0 0 16 0 +1 1 2 -1 0 0 16 1 +2 2 3 1 0 0 16 2 +3 3 4 2 0 0 16 3 +4 4 5 3 0 0 16 4 +5 5 6 4 0 0 16 5 +6 6 7 5 0 0 16 6 +7 7 8 6 0 0 16 7 +8 8 9 7 0 0 16 8 +9 9 10 8 0 0 16 9 +10 10 11 9 0 0 16 10 +11 11 12 10 0 0 16 11 +12 12 13 11 0 0 16 12 +13 13 14 12 0 0 16 13 +14 14 15 13 0 0 16 14 +15 15 16 14 0 0 16 15 +16 16 17 15 0 0 16 16 +17 17 18 16 0 0 16 17 +18 18 19 17 0 0 16 18 +19 19 20 18 0 0 16 19 +20 20 21 19 0 0 16 20 +21 21 22 20 0 0 16 21 +22 22 23 21 0 0 16 22 +23 23 24 22 0 0 16 23 +24 24 25 23 0 0 16 24 +25 25 26 24 0 0 16 25 +26 26 27 25 0 0 16 26 +27 27 28 26 0 0 16 27 +28 28 29 27 0 0 16 28 +29 29 30 28 0 0 16 29 +30 30 31 29 0 0 16 30 +31 31 32 30 0 0 16 31 +32 32 33 31 0 0 16 32 +33 33 34 32 0 0 16 33 +34 34 35 33 0 0 16 34 +35 35 36 34 0 0 16 35 +36 36 37 35 0 0 16 36 +37 37 38 36 0 0 16 37 +38 38 39 37 0 0 16 38 +39 39 40 38 0 0 16 39 +40 40 41 39 0 0 16 40 +41 41 42 40 0 0 16 41 +42 42 43 41 0 0 16 42 +43 43 44 42 0 0 16 43 +44 44 45 43 0 0 16 44 +45 45 46 44 0 0 16 45 +46 46 47 45 0 0 16 46 +47 47 48 46 0 0 16 47 +48 48 49 47 0 0 16 48 +49 49 50 48 0 0 16 49 +50 50 51 49 0 0 16 50 +51 51 52 50 0 0 16 51 +52 52 53 51 0 0 16 52 +53 53 54 52 0 0 16 53 +54 54 55 53 0 0 16 54 +55 55 56 54 0 0 16 55 +56 56 57 55 0 0 16 56 +57 57 58 56 0 0 16 57 +58 58 59 57 0 0 16 58 +59 59 60 58 0 0 16 59 +60 60 61 59 0 0 16 60 +61 61 62 60 0 0 16 61 +62 62 63 61 0 0 16 62 +63 63 64 62 0 0 16 63 +64 64 65 63 0 0 16 64 +65 65 66 64 0 0 16 65 +66 66 67 65 0 0 16 66 +67 67 68 66 0 0 16 67 +68 68 69 67 0 0 16 68 +69 69 70 68 0 0 16 69 +70 70 71 69 0 0 16 70 +71 71 72 70 0 0 16 71 +72 72 73 71 0 0 16 72 +73 73 74 72 0 0 16 73 +74 74 75 73 0 0 16 74 +75 75 76 74 0 0 16 75 +76 76 77 75 0 0 16 76 +77 77 78 76 0 0 16 77 +78 78 79 77 0 0 16 78 +79 79 80 78 0 0 16 79 +80 80 81 79 0 0 16 80 +81 81 82 80 0 0 16 81 +82 82 83 81 0 0 16 82 +83 83 84 82 0 0 16 83 +84 84 85 83 0 0 16 84 +85 85 86 84 0 0 16 85 +86 86 87 85 0 0 16 86 +87 87 88 86 0 0 16 87 +88 88 89 87 0 0 16 88 +89 89 90 88 0 0 16 89 +90 90 91 89 0 0 16 90 +91 91 92 90 0 0 16 91 +92 92 93 91 0 0 16 92 +93 93 94 92 0 0 16 93 +94 94 95 93 0 0 16 94 +95 95 96 94 0 0 16 95 +96 96 97 95 0 0 16 96 +97 97 98 96 0 0 16 97 +98 98 99 97 0 0 16 98 +99 99 100 98 0 0 16 99 +100 100 101 99 0 0 16 100 +101 101 102 100 0 0 16 101 +102 102 103 101 0 0 16 102 +103 103 104 102 0 0 16 103 +104 104 105 103 0 0 16 104 +105 105 106 104 0 0 16 105 +106 106 107 105 0 0 16 106 +107 107 108 106 0 0 16 107 +108 108 109 107 0 0 16 108 +109 109 110 108 0 0 16 109 +110 110 111 109 0 0 16 110 +111 111 112 110 0 0 16 111 +112 112 113 111 0 0 16 112 +113 113 114 112 0 0 16 113 +114 114 115 113 0 0 16 114 +115 115 116 114 0 0 16 115 +116 116 117 115 0 0 16 116 +117 117 118 116 0 0 16 117 +118 118 119 117 0 0 16 118 +119 119 120 118 0 0 16 119 +120 120 121 119 0 0 16 120 +121 121 122 120 0 0 16 121 +122 122 123 121 0 0 16 122 +123 123 124 122 0 0 16 123 +124 124 125 123 0 0 16 124 +125 125 126 124 0 0 16 125 +126 126 127 125 0 0 16 126 +127 127 128 126 0 0 16 127 +128 128 129 127 0 0 16 128 +129 129 130 128 0 0 16 129 +130 130 131 129 0 0 16 130 +131 131 132 130 0 0 16 131 +132 132 133 131 0 0 16 132 +133 133 134 132 0 0 16 133 +134 134 135 133 0 0 16 134 +135 135 136 134 0 0 16 135 +136 136 137 135 0 0 16 136 +137 137 138 136 0 0 16 137 +138 138 139 137 0 0 16 138 +139 139 140 138 0 0 16 139 +140 140 141 139 0 0 16 140 +141 141 142 140 0 0 16 141 +142 142 143 141 0 0 16 142 +143 143 144 142 0 0 16 143 +144 144 145 143 0 0 16 144 +145 145 146 144 0 0 16 145 +146 146 147 145 0 0 16 146 +147 147 148 146 0 0 16 147 +148 148 149 147 0 0 16 148 +149 149 150 148 0 0 16 149 +150 150 151 149 0 0 16 150 +151 151 152 150 0 0 16 151 +152 152 153 151 0 0 16 152 +153 153 154 152 0 0 16 153 +154 154 155 153 0 0 16 154 +155 155 156 154 0 0 16 155 +156 156 157 155 0 0 16 156 +157 157 158 156 0 0 16 157 +158 158 159 157 0 0 16 158 +159 159 160 158 0 0 16 159 +160 160 161 159 0 0 16 160 +161 161 162 160 0 0 16 161 +162 162 163 161 0 0 16 162 +163 163 164 162 0 0 16 163 +164 164 165 163 0 0 16 164 +165 165 166 164 0 0 16 165 +166 166 167 165 0 0 16 166 +167 167 168 166 0 0 16 167 +168 168 169 167 0 0 16 168 +169 169 170 168 0 0 16 169 +170 170 171 169 0 0 16 170 +171 171 172 170 0 0 16 171 +172 172 173 171 0 0 16 172 +173 173 174 172 0 0 16 173 +174 174 175 173 0 0 16 174 +175 175 176 174 0 0 16 175 +176 176 177 175 0 0 16 176 +177 177 178 176 0 0 16 177 +178 178 179 177 0 0 16 178 +179 179 180 178 0 0 16 179 +180 180 181 179 0 0 16 180 +181 181 182 180 0 0 16 181 +182 182 183 181 0 0 16 182 +183 183 184 182 0 0 16 183 +184 184 185 183 0 0 16 184 +185 185 186 184 0 0 16 185 +186 186 187 185 0 0 16 186 +187 187 188 186 0 0 16 187 +188 188 189 187 0 0 16 188 +189 189 190 188 0 0 16 189 +190 190 191 189 0 0 16 190 +191 191 192 190 0 0 16 191 +192 192 193 191 0 0 16 192 +193 193 194 192 0 0 16 193 +194 194 195 193 0 0 16 194 +195 195 196 194 0 0 16 195 +196 196 197 195 0 0 16 196 +197 197 198 196 0 0 16 197 +198 198 199 197 0 0 16 198 +199 199 200 198 0 0 16 199 +200 200 201 199 0 0 16 200 +201 201 202 200 0 0 16 201 +202 202 203 201 0 0 16 202 +203 203 204 202 0 0 16 203 +204 204 205 203 0 0 16 204 +205 205 206 204 0 0 16 205 +206 206 207 205 0 0 16 206 +207 207 208 206 0 0 16 207 +208 208 209 207 0 0 16 208 +209 209 210 208 0 0 16 209 +210 210 211 209 0 0 16 210 +211 211 212 210 0 0 16 211 +212 212 213 211 0 0 16 212 +213 213 214 212 0 0 16 213 +214 214 215 213 0 0 16 214 +215 215 216 214 0 0 16 215 +216 216 217 215 0 0 16 216 +217 217 218 216 0 0 16 217 +218 218 219 217 0 0 16 218 +219 219 220 218 0 0 16 219 +220 220 221 219 0 0 16 220 +221 221 222 220 0 0 16 221 +222 222 223 221 0 0 16 222 +223 223 224 222 0 0 16 223 +224 224 225 223 0 0 16 224 +225 225 226 224 0 0 16 225 +226 226 227 225 0 0 16 226 +227 227 228 226 0 0 16 227 +228 228 229 227 0 0 16 228 +229 229 230 228 0 0 16 229 +230 230 231 229 0 0 16 230 +231 231 232 230 0 0 16 231 +232 232 233 231 0 0 16 232 +233 233 234 232 0 0 16 233 +234 234 235 233 0 0 16 234 +235 235 236 234 0 0 16 235 +236 236 237 235 0 0 16 236 +237 237 238 236 0 0 16 237 +238 238 239 237 0 0 16 238 +239 239 240 238 0 0 16 239 +240 240 241 239 0 0 16 240 +241 241 242 240 0 0 16 241 +242 242 243 241 0 0 16 242 +243 243 244 242 0 0 16 243 +244 244 245 243 0 0 16 244 +245 245 246 244 0 0 16 245 +246 246 247 245 0 0 16 246 +247 247 248 246 0 0 16 247 +248 248 249 247 0 0 16 248 +249 249 250 248 0 0 16 249 +250 250 251 249 0 0 16 250 +251 251 252 250 0 0 16 251 +252 252 253 251 0 0 16 252 +253 253 254 252 0 0 16 253 +254 254 255 253 0 0 16 254 +255 255 256 254 0 0 16 255 +256 256 257 255 0 0 16 256 +257 257 258 256 0 0 16 257 +258 258 259 257 0 0 16 258 +259 259 260 258 0 0 16 259 +260 260 261 259 0 0 16 260 +261 261 262 260 0 0 16 261 +262 262 263 261 0 0 16 262 +263 263 264 262 0 0 16 263 +264 264 265 263 0 0 16 264 +265 265 266 264 0 0 16 265 +266 266 267 265 0 0 16 266 +267 267 268 266 0 0 16 267 +268 268 269 267 0 0 16 268 +269 269 270 268 0 0 16 269 +270 270 271 269 0 0 16 270 +271 271 272 270 0 0 16 271 +272 272 273 271 0 0 16 272 +273 273 274 272 0 0 16 273 +274 274 275 273 0 0 16 274 +275 275 276 274 0 0 16 275 +276 276 277 275 0 0 16 276 +277 277 278 276 0 0 16 277 +278 278 279 277 0 0 16 278 +279 279 280 278 0 0 16 279 +280 280 281 279 0 0 16 280 +281 281 282 280 0 0 16 281 +282 282 283 281 0 0 16 282 +283 283 284 282 0 0 16 283 +284 284 285 283 0 0 16 284 +285 285 286 284 0 0 16 285 +286 286 287 285 0 0 16 286 +287 287 288 286 0 0 16 287 +288 288 289 287 0 0 16 288 +289 289 290 288 0 0 16 289 +290 290 291 289 0 0 16 290 +291 291 292 290 0 0 16 291 +292 292 293 291 0 0 16 292 +293 293 294 292 0 0 16 293 +294 294 295 293 0 0 16 294 +295 295 296 294 0 0 16 295 +296 296 297 295 0 0 16 296 +297 297 298 296 0 0 16 297 +298 298 299 297 0 0 16 298 +299 299 300 298 0 0 16 299 +300 300 301 299 0 0 16 300 +301 301 302 300 0 0 16 301 +302 302 303 301 0 0 16 302 +303 303 304 302 0 0 16 303 +304 304 305 303 0 0 16 304 +305 305 306 304 0 0 16 305 +306 306 307 305 0 0 16 306 +307 307 308 306 0 0 16 307 +308 308 309 307 0 0 16 308 +309 309 310 308 0 0 16 309 +310 310 311 309 0 0 16 310 +311 311 312 310 0 0 16 311 +312 312 313 311 0 0 16 312 +313 313 314 312 0 0 16 313 +314 314 315 313 0 0 16 314 +315 315 316 314 0 0 16 315 +316 316 317 315 0 0 16 316 +317 317 318 316 0 0 16 317 +318 318 319 317 0 0 16 318 +319 319 320 318 0 0 16 319 +320 320 321 319 0 0 16 320 +321 321 322 320 0 0 16 321 +322 322 323 321 0 0 16 322 +323 323 324 322 0 0 16 323 +324 324 325 323 0 0 16 324 +325 325 326 324 0 0 16 325 +326 326 327 325 0 0 16 326 +327 327 328 326 0 0 16 327 +328 328 329 327 0 0 16 328 +329 329 330 328 0 0 16 329 +330 330 331 329 0 0 16 330 +331 331 332 330 0 0 16 331 +332 332 333 331 0 0 16 332 +333 333 334 332 0 0 16 333 +334 334 335 333 0 0 16 334 +335 335 336 334 0 0 16 335 +336 336 337 335 0 0 16 336 +337 337 338 336 0 0 16 337 +338 338 339 337 0 0 16 338 +339 339 340 338 0 0 16 339 +340 340 341 339 0 0 16 340 +341 341 342 340 0 0 16 341 +342 342 343 341 0 0 16 342 +343 343 344 342 0 0 16 343 +344 344 345 343 0 0 16 344 +345 345 346 344 0 0 16 345 +346 346 347 345 0 0 16 346 +347 347 348 346 0 0 16 347 +348 348 349 347 0 0 16 348 +349 349 350 348 0 0 16 349 +350 350 351 349 0 0 16 350 +351 351 352 350 0 0 16 351 +352 352 353 351 0 0 16 352 +353 353 354 352 0 0 16 353 +354 354 355 353 0 0 16 354 +355 355 356 354 0 0 16 355 +356 356 357 355 0 0 16 356 +357 357 358 356 0 0 16 357 +358 358 359 357 0 0 16 358 +359 359 360 358 0 0 16 359 +360 360 361 359 0 0 16 360 +361 361 362 360 0 0 16 361 +362 362 363 361 0 0 16 362 +363 363 364 362 0 0 16 363 +364 364 365 363 0 0 16 364 +365 365 366 364 0 0 16 365 +366 366 367 365 0 0 16 366 +367 367 368 366 0 0 16 367 +368 368 369 367 0 0 16 368 +369 369 370 368 0 0 16 369 +370 370 371 369 0 0 16 370 +371 371 372 370 0 0 16 371 +372 372 373 371 0 0 16 372 +373 373 374 372 0 0 16 373 +374 374 375 373 0 0 16 374 +375 375 376 374 0 0 16 375 +376 376 377 375 0 0 16 376 +377 377 378 376 0 0 16 377 +378 378 379 377 0 0 16 378 +379 379 380 378 0 0 16 379 +380 380 381 379 0 0 16 380 +381 381 382 380 0 0 16 381 +382 382 383 381 0 0 16 382 +383 383 384 382 0 0 16 383 +384 384 385 383 0 0 16 384 +385 385 386 384 0 0 16 385 +386 386 387 385 0 0 16 386 +387 387 388 386 0 0 16 387 +388 388 389 387 0 0 16 388 +389 389 390 388 0 0 16 389 +390 390 391 389 0 0 16 390 +391 391 392 390 0 0 16 391 +392 392 393 391 0 0 16 392 +393 393 394 392 0 0 16 393 +394 394 395 393 0 0 16 394 +395 395 396 394 0 0 16 395 +396 396 397 395 0 0 16 396 +397 397 398 396 0 0 16 397 +398 398 399 397 0 0 16 398 +399 399 400 398 0 0 16 399 +400 400 401 399 0 0 16 400 +401 401 402 400 0 0 16 401 +402 402 403 401 0 0 16 402 +403 403 404 402 0 0 16 403 +404 404 405 403 0 0 16 404 +405 405 406 404 0 0 16 405 +406 406 407 405 0 0 16 406 +407 407 408 406 0 0 16 407 +408 408 409 407 0 0 16 408 +409 409 410 408 0 0 16 409 +410 410 411 409 0 0 16 410 +411 411 412 410 0 0 16 411 +412 412 413 411 0 0 16 412 +413 413 414 412 0 0 16 413 +414 414 415 413 0 0 16 414 +415 415 416 414 0 0 16 415 +416 416 417 415 0 0 16 416 +417 417 418 416 0 0 16 417 +418 418 419 417 0 0 16 418 +419 419 420 418 0 0 16 419 +420 420 421 419 0 0 16 420 +421 421 422 420 0 0 16 421 +422 422 423 421 0 0 16 422 +423 423 424 422 0 0 16 423 +424 424 425 423 0 0 16 424 +425 425 426 424 0 0 16 425 +426 426 427 425 0 0 16 426 +427 427 428 426 0 0 16 427 +428 428 429 427 0 0 16 428 +429 429 430 428 0 0 16 429 +430 430 431 429 0 0 16 430 +431 431 432 430 0 0 16 431 +432 432 433 431 0 0 16 432 +433 433 434 432 0 0 16 433 +434 434 435 433 0 0 16 434 +435 435 436 434 0 0 16 435 +436 436 437 435 0 0 16 436 +437 437 438 436 0 0 16 437 +438 438 439 437 0 0 16 438 +439 439 440 438 0 0 16 439 +440 440 441 439 0 0 16 440 +441 441 442 440 0 0 16 441 +442 442 443 441 0 0 16 442 +443 443 444 442 0 0 16 443 +444 444 445 443 0 0 16 444 +445 445 446 444 0 0 16 445 +446 446 447 445 0 0 16 446 +447 447 448 446 0 0 16 447 +448 448 449 447 0 0 16 448 +449 449 450 448 0 0 16 449 +450 450 451 449 0 0 16 450 +451 451 452 450 0 0 16 451 +452 452 453 451 0 0 16 452 +453 453 454 452 0 0 16 453 +454 454 455 453 0 0 16 454 +455 455 456 454 0 0 16 455 +456 456 457 455 0 0 16 456 +457 457 458 456 0 0 16 457 +458 458 459 457 0 0 16 458 +459 459 460 458 0 0 16 459 +460 460 461 459 0 0 16 460 +461 461 462 460 0 0 16 461 +462 462 463 461 0 0 16 462 +463 463 464 462 0 0 16 463 +464 464 465 463 0 0 16 464 +465 465 466 464 0 0 16 465 +466 466 467 465 0 0 16 466 +467 467 468 466 0 0 16 467 +468 468 469 467 0 0 16 468 +469 469 470 468 0 0 16 469 +470 470 471 469 0 0 16 470 +471 471 472 470 0 0 16 471 +472 472 473 471 0 0 16 472 +473 473 474 472 0 0 16 473 +474 474 475 473 0 0 16 474 +475 475 476 474 0 0 16 475 +476 476 477 475 0 0 16 476 +477 477 478 476 0 0 16 477 +478 478 479 477 0 0 16 478 +479 479 480 478 0 0 16 479 +480 480 481 479 0 0 16 480 +481 481 482 480 0 0 16 481 +482 482 483 481 0 0 16 482 +483 483 484 482 0 0 16 483 +484 484 485 483 0 0 16 484 +485 485 486 484 0 0 16 485 +486 486 487 485 0 0 16 486 +487 487 488 486 0 0 16 487 +488 488 489 487 0 0 16 488 +489 489 490 488 0 0 16 489 +490 490 491 489 0 0 16 490 +491 491 492 490 0 0 16 491 +492 492 493 491 0 0 16 492 +493 493 494 492 0 0 16 493 +494 494 495 493 0 0 16 494 +495 495 496 494 0 0 16 495 +496 496 497 495 0 0 16 496 +497 497 498 496 0 0 16 497 +498 498 499 497 0 0 16 498 +499 499 500 498 0 0 16 499 +500 500 501 499 0 0 16 500 +501 501 502 500 0 0 16 501 +502 502 503 501 0 0 16 502 +503 503 504 502 0 0 16 503 +504 504 505 503 0 0 16 504 +505 505 506 504 0 0 16 505 +506 506 507 505 0 0 16 506 +507 507 508 506 0 0 16 507 +508 508 509 507 0 0 16 508 +509 509 510 508 0 0 16 509 +510 510 511 509 0 0 16 510 +511 511 512 510 0 0 16 511 +512 512 513 511 0 0 16 512 +513 513 514 512 0 0 16 513 +514 514 515 513 0 0 16 514 +515 515 516 514 0 0 16 515 +516 516 517 515 0 0 16 516 +517 517 518 516 0 0 16 517 +518 518 519 517 0 0 16 518 +519 519 520 518 0 0 16 519 +520 520 521 519 0 0 16 520 +521 521 522 520 0 0 16 521 +522 522 523 521 0 0 16 522 +523 523 524 522 0 0 16 523 +524 524 525 523 0 0 16 524 +525 525 526 524 0 0 16 525 +526 526 527 525 0 0 16 526 +527 527 528 526 0 0 16 527 +528 528 529 527 0 0 16 528 +529 529 530 528 0 0 16 529 +530 530 531 529 0 0 16 530 +531 531 532 530 0 0 16 531 +532 532 533 531 0 0 16 532 +533 533 534 532 0 0 16 533 +534 534 535 533 0 0 16 534 +535 535 536 534 0 0 16 535 +536 536 537 535 0 0 16 536 +537 537 538 536 0 0 16 537 +538 538 539 537 0 0 16 538 +539 539 540 538 0 0 16 539 +540 540 541 539 0 0 16 540 +541 541 542 540 0 0 16 541 +542 542 543 541 0 0 16 542 +543 543 544 542 0 0 16 543 +544 544 545 543 0 0 16 544 +545 545 546 544 0 0 16 545 +546 546 547 545 0 0 16 546 +547 547 548 546 0 0 16 547 +548 548 549 547 0 0 16 548 +549 549 550 548 0 0 16 549 +550 550 551 549 0 0 16 550 +551 551 552 550 0 0 16 551 +552 552 553 551 0 0 16 552 +553 553 554 552 0 0 16 553 +554 554 555 553 0 0 16 554 +555 555 556 554 0 0 16 555 +556 556 557 555 0 0 16 556 +557 557 558 556 0 0 16 557 +558 558 559 557 0 0 16 558 +559 559 560 558 0 0 16 559 +560 560 561 559 0 0 16 560 +561 561 562 560 0 0 16 561 +562 562 563 561 0 0 16 562 +563 563 564 562 0 0 16 563 +564 564 565 563 0 0 16 564 +565 565 566 564 0 0 16 565 +566 566 567 565 0 0 16 566 +567 567 568 566 0 0 16 567 +568 568 569 567 0 0 16 568 +569 569 570 568 0 0 16 569 +570 570 571 569 0 0 16 570 +571 571 572 570 0 0 16 571 +572 572 573 571 0 0 16 572 +573 573 574 572 0 0 16 573 +574 574 575 573 0 0 16 574 +575 575 576 574 0 0 16 575 +576 576 577 575 0 0 16 576 +577 577 578 576 0 0 16 577 +578 578 579 577 0 0 16 578 +579 579 580 578 0 0 16 579 +580 580 581 579 0 0 16 580 +581 581 582 580 0 0 16 581 +582 582 583 581 0 0 16 582 +583 583 584 582 0 0 16 583 +584 584 585 583 0 0 16 584 +585 585 586 584 0 0 16 585 +586 586 587 585 0 0 16 586 +587 587 588 586 0 0 16 587 +588 588 589 587 0 0 16 588 +589 589 590 588 0 0 16 589 +590 590 591 589 0 0 16 590 +591 591 592 590 0 0 16 591 +592 592 593 591 0 0 16 592 +593 593 594 592 0 0 16 593 +594 594 595 593 0 0 16 594 +595 595 596 594 0 0 16 595 +596 596 597 595 0 0 16 596 +597 597 598 596 0 0 16 597 +598 598 599 597 0 0 16 598 +599 599 600 598 0 0 16 599 +600 600 601 599 0 0 16 600 +601 601 602 600 0 0 16 601 +602 602 603 601 0 0 16 602 +603 603 604 602 0 0 16 603 +604 604 605 603 0 0 16 604 +605 605 606 604 0 0 16 605 +606 606 607 605 0 0 16 606 +607 607 608 606 0 0 16 607 +608 608 609 607 0 0 16 608 +609 609 610 608 0 0 16 609 +610 610 611 609 0 0 16 610 +611 611 612 610 0 0 16 611 +612 612 613 611 0 0 16 612 +613 613 614 612 0 0 16 613 +614 614 615 613 0 0 16 614 +615 615 616 614 0 0 16 615 +616 616 617 615 0 0 16 616 +617 617 618 616 0 0 16 617 +618 618 619 617 0 0 16 618 +619 619 620 618 0 0 16 619 +620 620 621 619 0 0 16 620 +621 621 622 620 0 0 16 621 +622 622 623 621 0 0 16 622 +623 623 624 622 0 0 16 623 +624 624 625 623 0 0 16 624 +625 625 626 624 0 0 16 625 +626 626 627 625 0 0 16 626 +627 627 628 626 0 0 16 627 +628 628 629 627 0 0 16 628 +629 629 630 628 0 0 16 629 +630 630 631 629 0 0 16 630 +631 631 632 630 0 0 16 631 +632 632 633 631 0 0 16 632 +633 633 634 632 0 0 16 633 +634 634 635 633 0 0 16 634 +635 635 636 634 0 0 16 635 +636 636 637 635 0 0 16 636 +637 637 638 636 0 0 16 637 +638 638 639 637 0 0 16 638 +639 639 640 638 0 0 16 639 +640 640 641 639 0 0 16 640 +641 641 642 640 0 0 16 641 +642 642 643 641 0 0 16 642 +643 643 644 642 0 0 16 643 +644 644 645 643 0 0 16 644 +645 645 646 644 0 0 16 645 +646 646 647 645 0 0 16 646 +647 647 648 646 0 0 16 647 +648 648 649 647 0 0 16 648 +649 649 650 648 0 0 16 649 +650 650 651 649 0 0 16 650 +651 651 652 650 0 0 16 651 +652 652 653 651 0 0 16 652 +653 653 654 652 0 0 16 653 +654 654 655 653 0 0 16 654 +655 655 656 654 0 0 16 655 +656 656 657 655 0 0 16 656 +657 657 658 656 0 0 16 657 +658 658 659 657 0 0 16 658 +659 659 660 658 0 0 16 659 +660 660 661 659 0 0 16 660 +661 661 662 660 0 0 16 661 +662 662 663 661 0 0 16 662 +663 663 664 662 0 0 16 663 +664 664 665 663 0 0 16 664 +665 665 666 664 0 0 16 665 +666 666 667 665 0 0 16 666 +667 667 668 666 0 0 16 667 +668 668 669 667 0 0 16 668 +669 669 670 668 0 0 16 669 +670 670 671 669 0 0 16 670 +671 671 672 670 0 0 16 671 +672 672 673 671 0 0 16 672 +673 673 674 672 0 0 16 673 +674 674 675 673 0 0 16 674 +675 675 676 674 0 0 16 675 +676 676 677 675 0 0 16 676 +677 677 678 676 0 0 16 677 +678 678 679 677 0 0 16 678 +679 679 680 678 0 0 16 679 +680 680 681 679 0 0 16 680 +681 681 682 680 0 0 16 681 +682 682 683 681 0 0 16 682 +683 683 684 682 0 0 16 683 +684 684 685 683 0 0 16 684 +685 685 686 684 0 0 16 685 +686 686 687 685 0 0 16 686 +687 687 688 686 0 0 16 687 +688 688 689 687 0 0 16 688 +689 689 690 688 0 0 16 689 +690 690 691 689 0 0 16 690 +691 691 692 690 0 0 16 691 +692 692 693 691 0 0 16 692 +693 693 694 692 0 0 16 693 +694 694 695 693 0 0 16 694 +695 695 696 694 0 0 16 695 +696 696 697 695 0 0 16 696 +697 697 698 696 0 0 16 697 +698 698 699 697 0 0 16 698 +699 699 700 698 0 0 16 699 +700 700 701 699 0 0 16 700 +701 701 702 700 0 0 16 701 +702 702 703 701 0 0 16 702 +703 703 704 702 0 0 16 703 +704 704 705 703 0 0 16 704 +705 705 706 704 0 0 16 705 +706 706 707 705 0 0 16 706 +707 707 708 706 0 0 16 707 +708 708 709 707 0 0 16 708 +709 709 710 708 0 0 16 709 +710 710 711 709 0 0 16 710 +711 711 712 710 0 0 16 711 +712 712 713 711 0 0 16 712 +713 713 714 712 0 0 16 713 +714 714 715 713 0 0 16 714 +715 715 716 714 0 0 16 715 +716 716 717 715 0 0 16 716 +717 717 718 716 0 0 16 717 +718 718 719 717 0 0 16 718 +719 719 720 718 0 0 16 719 +720 720 721 719 0 0 16 720 +721 721 722 720 0 0 16 721 +722 722 723 721 0 0 16 722 +723 723 724 722 0 0 16 723 +724 724 725 723 0 0 16 724 +725 725 726 724 0 0 16 725 +726 726 727 725 0 0 16 726 +727 727 728 726 0 0 16 727 +728 728 729 727 0 0 16 728 +729 729 730 728 0 0 16 729 +730 730 731 729 0 0 16 730 +731 731 732 730 0 0 16 731 +732 732 733 731 0 0 16 732 +733 733 734 732 0 0 16 733 +734 734 735 733 0 0 16 734 +735 735 736 734 0 0 16 735 +736 736 737 735 0 0 16 736 +737 737 738 736 0 0 16 737 +738 738 739 737 0 0 16 738 +739 739 740 738 0 0 16 739 +740 740 741 739 0 0 16 740 +741 741 742 740 0 0 16 741 +742 742 743 741 0 0 16 742 +743 743 744 742 0 0 16 743 +744 744 745 743 0 0 16 744 +745 745 746 744 0 0 16 745 +746 746 747 745 0 0 16 746 +747 747 748 746 0 0 16 747 +748 748 749 747 0 0 16 748 +749 749 750 748 0 0 16 749 +750 750 751 749 0 0 16 750 +751 751 752 750 0 0 16 751 +752 752 753 751 0 0 16 752 +753 753 754 752 0 0 16 753 +754 754 755 753 0 0 16 754 +755 755 756 754 0 0 16 755 +756 756 757 755 0 0 16 756 +757 757 758 756 0 0 16 757 +758 758 759 757 0 0 16 758 +759 759 760 758 0 0 16 759 +760 760 761 759 0 0 16 760 +761 761 762 760 0 0 16 761 +762 762 763 761 0 0 16 762 +763 763 764 762 0 0 16 763 +764 764 765 763 0 0 16 764 +765 765 766 764 0 0 16 765 +766 766 767 765 0 0 16 766 +767 767 768 766 0 0 16 767 +768 768 769 767 0 0 16 768 +769 769 770 768 0 0 16 769 +770 770 771 769 0 0 16 770 +771 771 772 770 0 0 16 771 +772 772 773 771 0 0 16 772 +773 773 774 772 0 0 16 773 +774 774 775 773 0 0 16 774 +775 775 776 774 0 0 16 775 +776 776 777 775 0 0 16 776 +777 777 778 776 0 0 16 777 +778 778 779 777 0 0 16 778 +779 779 780 778 0 0 16 779 +780 780 781 779 0 0 16 780 +781 781 782 780 0 0 16 781 +782 782 783 781 0 0 16 782 +783 783 784 782 0 0 16 783 +784 784 785 783 0 0 16 784 +785 785 786 784 0 0 16 785 +786 786 787 785 0 0 16 786 +787 787 788 786 0 0 16 787 +788 788 789 787 0 0 16 788 +789 789 790 788 0 0 16 789 +790 790 791 789 0 0 16 790 +791 791 792 790 0 0 16 791 +792 792 793 791 0 0 16 792 +793 793 794 792 0 0 16 793 +794 794 795 793 0 0 16 794 +795 795 796 794 0 0 16 795 +796 796 797 795 0 0 16 796 +797 797 798 796 0 0 16 797 +798 798 799 797 0 0 16 798 +799 799 800 798 0 0 16 799 +800 800 801 799 0 0 16 800 +801 801 802 800 0 0 16 801 +802 802 803 801 0 0 16 802 +803 803 804 802 0 0 16 803 +804 804 805 803 0 0 16 804 +805 805 806 804 0 0 16 805 +806 806 807 805 0 0 16 806 +807 807 808 806 0 0 16 807 +808 808 809 807 0 0 16 808 +809 809 810 808 0 0 16 809 +810 810 811 809 0 0 16 810 +811 811 812 810 0 0 16 811 +812 812 813 811 0 0 16 812 +813 813 814 812 0 0 16 813 +814 814 815 813 0 0 16 814 +815 815 816 814 0 0 16 815 +816 816 817 815 0 0 16 816 +817 817 818 816 0 0 16 817 +818 818 819 817 0 0 16 818 +819 819 820 818 0 0 16 819 +820 820 821 819 0 0 16 820 +821 821 822 820 0 0 16 821 +822 822 823 821 0 0 16 822 +823 823 824 822 0 0 16 823 +824 824 825 823 0 0 16 824 +825 825 826 824 0 0 16 825 +826 826 827 825 0 0 16 826 +827 827 828 826 0 0 16 827 +828 828 829 827 0 0 16 828 +829 829 830 828 0 0 16 829 +830 830 831 829 0 0 16 830 +831 831 832 830 0 0 16 831 +832 832 833 831 0 0 16 832 +833 833 834 832 0 0 16 833 +834 834 835 833 0 0 16 834 +835 835 836 834 0 0 16 835 +836 836 837 835 0 0 16 836 +837 837 838 836 0 0 16 837 +838 838 839 837 0 0 16 838 +839 839 840 838 0 0 16 839 +840 840 841 839 0 0 16 840 +841 841 842 840 0 0 16 841 +842 842 843 841 0 0 16 842 +843 843 844 842 0 0 16 843 +844 844 845 843 0 0 16 844 +845 845 846 844 0 0 16 845 +846 846 847 845 0 0 16 846 +847 847 848 846 0 0 16 847 +848 848 849 847 0 0 16 848 +849 849 850 848 0 0 16 849 +850 850 851 849 0 0 16 850 +851 851 852 850 0 0 16 851 +852 852 853 851 0 0 16 852 +853 853 854 852 0 0 16 853 +854 854 855 853 0 0 16 854 +855 855 856 854 0 0 16 855 +856 856 857 855 0 0 16 856 +857 857 858 856 0 0 16 857 +858 858 859 857 0 0 16 858 +859 859 860 858 0 0 16 859 +860 860 861 859 0 0 16 860 +861 861 862 860 0 0 16 861 +862 862 863 861 0 0 16 862 +863 863 864 862 0 0 16 863 +864 864 865 863 0 0 16 864 +865 865 866 864 0 0 16 865 +866 866 867 865 0 0 16 866 +867 867 868 866 0 0 16 867 +868 868 869 867 0 0 16 868 +869 869 870 868 0 0 16 869 +870 870 871 869 0 0 16 870 +871 871 872 870 0 0 16 871 +872 872 873 871 0 0 16 872 +873 873 874 872 0 0 16 873 +874 874 875 873 0 0 16 874 +875 875 876 874 0 0 16 875 +876 876 877 875 0 0 16 876 +877 877 878 876 0 0 16 877 +878 878 879 877 0 0 16 878 +879 879 880 878 0 0 16 879 +880 880 881 879 0 0 16 880 +881 881 882 880 0 0 16 881 +882 882 883 881 0 0 16 882 +883 883 884 882 0 0 16 883 +884 884 885 883 0 0 16 884 +885 885 886 884 0 0 16 885 +886 886 887 885 0 0 16 886 +887 887 888 886 0 0 16 887 +888 888 889 887 0 0 16 888 +889 889 890 888 0 0 16 889 +890 890 891 889 0 0 16 890 +891 891 892 890 0 0 16 891 +892 892 893 891 0 0 16 892 +893 893 894 892 0 0 16 893 +894 894 895 893 0 0 16 894 +895 895 896 894 0 0 16 895 +896 896 897 895 0 0 16 896 +897 897 898 896 0 0 16 897 +898 898 899 897 0 0 16 898 +899 899 900 898 0 0 16 899 +900 900 901 899 0 0 16 900 +901 901 902 900 0 0 16 901 +902 902 903 901 0 0 16 902 +903 903 904 902 0 0 16 903 +904 904 905 903 0 0 16 904 +905 905 906 904 0 0 16 905 +906 906 907 905 0 0 16 906 +907 907 908 906 0 0 16 907 +908 908 909 907 0 0 16 908 +909 909 910 908 0 0 16 909 +910 910 911 909 0 0 16 910 +911 911 912 910 0 0 16 911 +912 912 913 911 0 0 16 912 +913 913 914 912 0 0 16 913 +914 914 915 913 0 0 16 914 +915 915 916 914 0 0 16 915 +916 916 917 915 0 0 16 916 +917 917 918 916 0 0 16 917 +918 918 919 917 0 0 16 918 +919 919 920 918 0 0 16 919 +920 920 921 919 0 0 16 920 +921 921 922 920 0 0 16 921 +922 922 923 921 0 0 16 922 +923 923 924 922 0 0 16 923 +924 924 925 923 0 0 16 924 +925 925 926 924 0 0 16 925 +926 926 927 925 0 0 16 926 +927 927 928 926 0 0 16 927 +928 928 929 927 0 0 16 928 +929 929 930 928 0 0 16 929 +930 930 931 929 0 0 16 930 +931 931 932 930 0 0 16 931 +932 932 933 931 0 0 16 932 +933 933 934 932 0 0 16 933 +934 934 935 933 0 0 16 934 +935 935 936 934 0 0 16 935 +936 936 937 935 0 0 16 936 +937 937 938 936 0 0 16 937 +938 938 939 937 0 0 16 938 +939 939 940 938 0 0 16 939 +940 940 941 939 0 0 16 940 +941 941 942 940 0 0 16 941 +942 942 943 941 0 0 16 942 +943 943 944 942 0 0 16 943 +944 944 945 943 0 0 16 944 +945 945 946 944 0 0 16 945 +946 946 947 945 0 0 16 946 +947 947 948 946 0 0 16 947 +948 948 949 947 0 0 16 948 +949 949 950 948 0 0 16 949 +950 950 951 949 0 0 16 950 +951 951 952 950 0 0 16 951 +952 952 953 951 0 0 16 952 +953 953 954 952 0 0 16 953 +954 954 955 953 0 0 16 954 +955 955 956 954 0 0 16 955 +956 956 957 955 0 0 16 956 +957 957 958 956 0 0 16 957 +958 958 959 957 0 0 16 958 +959 959 960 958 0 0 16 959 +960 960 961 959 0 0 16 960 +961 961 962 960 0 0 16 961 +962 962 963 961 0 0 16 962 +963 963 964 962 0 0 16 963 +964 964 965 963 0 0 16 964 +965 965 966 964 0 0 16 965 +966 966 967 965 0 0 16 966 +967 967 968 966 0 0 16 967 +968 968 969 967 0 0 16 968 +969 969 970 968 0 0 16 969 +970 970 971 969 0 0 16 970 +971 971 972 970 0 0 16 971 +972 972 973 971 0 0 16 972 +973 973 974 972 0 0 16 973 +974 974 975 973 0 0 16 974 +975 975 976 974 0 0 16 975 +976 976 977 975 0 0 16 976 +977 977 978 976 0 0 16 977 +978 978 979 977 0 0 16 978 +979 979 980 978 0 0 16 979 +980 980 981 979 0 0 16 980 +981 981 982 980 0 0 16 981 +982 982 983 981 0 0 16 982 +983 983 984 982 0 0 16 983 +984 984 985 983 0 0 16 984 +985 985 986 984 0 0 16 985 +986 986 987 985 0 0 16 986 +987 987 988 986 0 0 16 987 +988 988 989 987 0 0 16 988 +989 989 990 988 0 0 16 989 +990 990 991 989 0 0 16 990 +991 991 992 990 0 0 16 991 +992 992 993 991 0 0 16 992 +993 993 994 992 0 0 16 993 +994 994 995 993 0 0 16 994 +995 995 996 994 0 0 16 995 +996 996 997 995 0 0 16 996 +997 997 998 996 0 0 16 997 +998 998 999 997 0 0 16 998 +999 999 1000 998 0 0 16 999 +1000 1000 1001 999 0 0 16 1000 +1001 1001 1002 1000 0 0 16 1001 +1002 1002 1003 1001 0 0 16 1002 +1003 1003 1004 1002 0 0 16 1003 +1004 1004 1005 1003 0 0 16 1004 +1005 1005 1006 1004 0 0 16 1005 +1006 1006 1007 1005 0 0 16 1006 +1007 1007 1008 1006 0 0 16 1007 +1008 1008 1009 1007 0 0 16 1008 +1009 1009 1010 1008 0 0 16 1009 +1010 1010 1011 1009 0 0 16 1010 +1011 1011 1012 1010 0 0 16 1011 +1012 1012 1013 1011 0 0 16 1012 +1013 1013 1014 1012 0 0 16 1013 +1014 1014 1015 1013 0 0 16 1014 +1015 1015 1016 1014 0 0 16 1015 +1016 1016 1017 1015 0 0 16 1016 +1017 1017 1018 1016 0 0 16 1017 +1018 1018 1019 1017 0 0 16 1018 +1019 1019 1020 1018 0 0 16 1019 +1020 1020 1021 1019 0 0 16 1020 +1021 1021 1022 1020 0 0 16 1021 +1022 1022 0 1021 0 0 16 1022 +1023 1023 -1 0 0 0 16 1023 +====================================================== +=== [Queue after-failing-full] Next: 0 First: 1 Last: 1023 +# seq next prev timeout retrans type cbp +0 0 1023 1022 0 0 16 0 +1 1 2 -1 0 0 16 1 +2 2 3 1 0 0 16 2 +3 3 4 2 0 0 16 3 +4 4 5 3 0 0 16 4 +5 5 6 4 0 0 16 5 +6 6 7 5 0 0 16 6 +7 7 8 6 0 0 16 7 +8 8 9 7 0 0 16 8 +9 9 10 8 0 0 16 9 +10 10 11 9 0 0 16 10 +11 11 12 10 0 0 16 11 +12 12 13 11 0 0 16 12 +13 13 14 12 0 0 16 13 +14 14 15 13 0 0 16 14 +15 15 16 14 0 0 16 15 +16 16 17 15 0 0 16 16 +17 17 18 16 0 0 16 17 +18 18 19 17 0 0 16 18 +19 19 20 18 0 0 16 19 +20 20 21 19 0 0 16 20 +21 21 22 20 0 0 16 21 +22 22 23 21 0 0 16 22 +23 23 24 22 0 0 16 23 +24 24 25 23 0 0 16 24 +25 25 26 24 0 0 16 25 +26 26 27 25 0 0 16 26 +27 27 28 26 0 0 16 27 +28 28 29 27 0 0 16 28 +29 29 30 28 0 0 16 29 +30 30 31 29 0 0 16 30 +31 31 32 30 0 0 16 31 +32 32 33 31 0 0 16 32 +33 33 34 32 0 0 16 33 +34 34 35 33 0 0 16 34 +35 35 36 34 0 0 16 35 +36 36 37 35 0 0 16 36 +37 37 38 36 0 0 16 37 +38 38 39 37 0 0 16 38 +39 39 40 38 0 0 16 39 +40 40 41 39 0 0 16 40 +41 41 42 40 0 0 16 41 +42 42 43 41 0 0 16 42 +43 43 44 42 0 0 16 43 +44 44 45 43 0 0 16 44 +45 45 46 44 0 0 16 45 +46 46 47 45 0 0 16 46 +47 47 48 46 0 0 16 47 +48 48 49 47 0 0 16 48 +49 49 50 48 0 0 16 49 +50 50 51 49 0 0 16 50 +51 51 52 50 0 0 16 51 +52 52 53 51 0 0 16 52 +53 53 54 52 0 0 16 53 +54 54 55 53 0 0 16 54 +55 55 56 54 0 0 16 55 +56 56 57 55 0 0 16 56 +57 57 58 56 0 0 16 57 +58 58 59 57 0 0 16 58 +59 59 60 58 0 0 16 59 +60 60 61 59 0 0 16 60 +61 61 62 60 0 0 16 61 +62 62 63 61 0 0 16 62 +63 63 64 62 0 0 16 63 +64 64 65 63 0 0 16 64 +65 65 66 64 0 0 16 65 +66 66 67 65 0 0 16 66 +67 67 68 66 0 0 16 67 +68 68 69 67 0 0 16 68 +69 69 70 68 0 0 16 69 +70 70 71 69 0 0 16 70 +71 71 72 70 0 0 16 71 +72 72 73 71 0 0 16 72 +73 73 74 72 0 0 16 73 +74 74 75 73 0 0 16 74 +75 75 76 74 0 0 16 75 +76 76 77 75 0 0 16 76 +77 77 78 76 0 0 16 77 +78 78 79 77 0 0 16 78 +79 79 80 78 0 0 16 79 +80 80 81 79 0 0 16 80 +81 81 82 80 0 0 16 81 +82 82 83 81 0 0 16 82 +83 83 84 82 0 0 16 83 +84 84 85 83 0 0 16 84 +85 85 86 84 0 0 16 85 +86 86 87 85 0 0 16 86 +87 87 88 86 0 0 16 87 +88 88 89 87 0 0 16 88 +89 89 90 88 0 0 16 89 +90 90 91 89 0 0 16 90 +91 91 92 90 0 0 16 91 +92 92 93 91 0 0 16 92 +93 93 94 92 0 0 16 93 +94 94 95 93 0 0 16 94 +95 95 96 94 0 0 16 95 +96 96 97 95 0 0 16 96 +97 97 98 96 0 0 16 97 +98 98 99 97 0 0 16 98 +99 99 100 98 0 0 16 99 +100 100 101 99 0 0 16 100 +101 101 102 100 0 0 16 101 +102 102 103 101 0 0 16 102 +103 103 104 102 0 0 16 103 +104 104 105 103 0 0 16 104 +105 105 106 104 0 0 16 105 +106 106 107 105 0 0 16 106 +107 107 108 106 0 0 16 107 +108 108 109 107 0 0 16 108 +109 109 110 108 0 0 16 109 +110 110 111 109 0 0 16 110 +111 111 112 110 0 0 16 111 +112 112 113 111 0 0 16 112 +113 113 114 112 0 0 16 113 +114 114 115 113 0 0 16 114 +115 115 116 114 0 0 16 115 +116 116 117 115 0 0 16 116 +117 117 118 116 0 0 16 117 +118 118 119 117 0 0 16 118 +119 119 120 118 0 0 16 119 +120 120 121 119 0 0 16 120 +121 121 122 120 0 0 16 121 +122 122 123 121 0 0 16 122 +123 123 124 122 0 0 16 123 +124 124 125 123 0 0 16 124 +125 125 126 124 0 0 16 125 +126 126 127 125 0 0 16 126 +127 127 128 126 0 0 16 127 +128 128 129 127 0 0 16 128 +129 129 130 128 0 0 16 129 +130 130 131 129 0 0 16 130 +131 131 132 130 0 0 16 131 +132 132 133 131 0 0 16 132 +133 133 134 132 0 0 16 133 +134 134 135 133 0 0 16 134 +135 135 136 134 0 0 16 135 +136 136 137 135 0 0 16 136 +137 137 138 136 0 0 16 137 +138 138 139 137 0 0 16 138 +139 139 140 138 0 0 16 139 +140 140 141 139 0 0 16 140 +141 141 142 140 0 0 16 141 +142 142 143 141 0 0 16 142 +143 143 144 142 0 0 16 143 +144 144 145 143 0 0 16 144 +145 145 146 144 0 0 16 145 +146 146 147 145 0 0 16 146 +147 147 148 146 0 0 16 147 +148 148 149 147 0 0 16 148 +149 149 150 148 0 0 16 149 +150 150 151 149 0 0 16 150 +151 151 152 150 0 0 16 151 +152 152 153 151 0 0 16 152 +153 153 154 152 0 0 16 153 +154 154 155 153 0 0 16 154 +155 155 156 154 0 0 16 155 +156 156 157 155 0 0 16 156 +157 157 158 156 0 0 16 157 +158 158 159 157 0 0 16 158 +159 159 160 158 0 0 16 159 +160 160 161 159 0 0 16 160 +161 161 162 160 0 0 16 161 +162 162 163 161 0 0 16 162 +163 163 164 162 0 0 16 163 +164 164 165 163 0 0 16 164 +165 165 166 164 0 0 16 165 +166 166 167 165 0 0 16 166 +167 167 168 166 0 0 16 167 +168 168 169 167 0 0 16 168 +169 169 170 168 0 0 16 169 +170 170 171 169 0 0 16 170 +171 171 172 170 0 0 16 171 +172 172 173 171 0 0 16 172 +173 173 174 172 0 0 16 173 +174 174 175 173 0 0 16 174 +175 175 176 174 0 0 16 175 +176 176 177 175 0 0 16 176 +177 177 178 176 0 0 16 177 +178 178 179 177 0 0 16 178 +179 179 180 178 0 0 16 179 +180 180 181 179 0 0 16 180 +181 181 182 180 0 0 16 181 +182 182 183 181 0 0 16 182 +183 183 184 182 0 0 16 183 +184 184 185 183 0 0 16 184 +185 185 186 184 0 0 16 185 +186 186 187 185 0 0 16 186 +187 187 188 186 0 0 16 187 +188 188 189 187 0 0 16 188 +189 189 190 188 0 0 16 189 +190 190 191 189 0 0 16 190 +191 191 192 190 0 0 16 191 +192 192 193 191 0 0 16 192 +193 193 194 192 0 0 16 193 +194 194 195 193 0 0 16 194 +195 195 196 194 0 0 16 195 +196 196 197 195 0 0 16 196 +197 197 198 196 0 0 16 197 +198 198 199 197 0 0 16 198 +199 199 200 198 0 0 16 199 +200 200 201 199 0 0 16 200 +201 201 202 200 0 0 16 201 +202 202 203 201 0 0 16 202 +203 203 204 202 0 0 16 203 +204 204 205 203 0 0 16 204 +205 205 206 204 0 0 16 205 +206 206 207 205 0 0 16 206 +207 207 208 206 0 0 16 207 +208 208 209 207 0 0 16 208 +209 209 210 208 0 0 16 209 +210 210 211 209 0 0 16 210 +211 211 212 210 0 0 16 211 +212 212 213 211 0 0 16 212 +213 213 214 212 0 0 16 213 +214 214 215 213 0 0 16 214 +215 215 216 214 0 0 16 215 +216 216 217 215 0 0 16 216 +217 217 218 216 0 0 16 217 +218 218 219 217 0 0 16 218 +219 219 220 218 0 0 16 219 +220 220 221 219 0 0 16 220 +221 221 222 220 0 0 16 221 +222 222 223 221 0 0 16 222 +223 223 224 222 0 0 16 223 +224 224 225 223 0 0 16 224 +225 225 226 224 0 0 16 225 +226 226 227 225 0 0 16 226 +227 227 228 226 0 0 16 227 +228 228 229 227 0 0 16 228 +229 229 230 228 0 0 16 229 +230 230 231 229 0 0 16 230 +231 231 232 230 0 0 16 231 +232 232 233 231 0 0 16 232 +233 233 234 232 0 0 16 233 +234 234 235 233 0 0 16 234 +235 235 236 234 0 0 16 235 +236 236 237 235 0 0 16 236 +237 237 238 236 0 0 16 237 +238 238 239 237 0 0 16 238 +239 239 240 238 0 0 16 239 +240 240 241 239 0 0 16 240 +241 241 242 240 0 0 16 241 +242 242 243 241 0 0 16 242 +243 243 244 242 0 0 16 243 +244 244 245 243 0 0 16 244 +245 245 246 244 0 0 16 245 +246 246 247 245 0 0 16 246 +247 247 248 246 0 0 16 247 +248 248 249 247 0 0 16 248 +249 249 250 248 0 0 16 249 +250 250 251 249 0 0 16 250 +251 251 252 250 0 0 16 251 +252 252 253 251 0 0 16 252 +253 253 254 252 0 0 16 253 +254 254 255 253 0 0 16 254 +255 255 256 254 0 0 16 255 +256 256 257 255 0 0 16 256 +257 257 258 256 0 0 16 257 +258 258 259 257 0 0 16 258 +259 259 260 258 0 0 16 259 +260 260 261 259 0 0 16 260 +261 261 262 260 0 0 16 261 +262 262 263 261 0 0 16 262 +263 263 264 262 0 0 16 263 +264 264 265 263 0 0 16 264 +265 265 266 264 0 0 16 265 +266 266 267 265 0 0 16 266 +267 267 268 266 0 0 16 267 +268 268 269 267 0 0 16 268 +269 269 270 268 0 0 16 269 +270 270 271 269 0 0 16 270 +271 271 272 270 0 0 16 271 +272 272 273 271 0 0 16 272 +273 273 274 272 0 0 16 273 +274 274 275 273 0 0 16 274 +275 275 276 274 0 0 16 275 +276 276 277 275 0 0 16 276 +277 277 278 276 0 0 16 277 +278 278 279 277 0 0 16 278 +279 279 280 278 0 0 16 279 +280 280 281 279 0 0 16 280 +281 281 282 280 0 0 16 281 +282 282 283 281 0 0 16 282 +283 283 284 282 0 0 16 283 +284 284 285 283 0 0 16 284 +285 285 286 284 0 0 16 285 +286 286 287 285 0 0 16 286 +287 287 288 286 0 0 16 287 +288 288 289 287 0 0 16 288 +289 289 290 288 0 0 16 289 +290 290 291 289 0 0 16 290 +291 291 292 290 0 0 16 291 +292 292 293 291 0 0 16 292 +293 293 294 292 0 0 16 293 +294 294 295 293 0 0 16 294 +295 295 296 294 0 0 16 295 +296 296 297 295 0 0 16 296 +297 297 298 296 0 0 16 297 +298 298 299 297 0 0 16 298 +299 299 300 298 0 0 16 299 +300 300 301 299 0 0 16 300 +301 301 302 300 0 0 16 301 +302 302 303 301 0 0 16 302 +303 303 304 302 0 0 16 303 +304 304 305 303 0 0 16 304 +305 305 306 304 0 0 16 305 +306 306 307 305 0 0 16 306 +307 307 308 306 0 0 16 307 +308 308 309 307 0 0 16 308 +309 309 310 308 0 0 16 309 +310 310 311 309 0 0 16 310 +311 311 312 310 0 0 16 311 +312 312 313 311 0 0 16 312 +313 313 314 312 0 0 16 313 +314 314 315 313 0 0 16 314 +315 315 316 314 0 0 16 315 +316 316 317 315 0 0 16 316 +317 317 318 316 0 0 16 317 +318 318 319 317 0 0 16 318 +319 319 320 318 0 0 16 319 +320 320 321 319 0 0 16 320 +321 321 322 320 0 0 16 321 +322 322 323 321 0 0 16 322 +323 323 324 322 0 0 16 323 +324 324 325 323 0 0 16 324 +325 325 326 324 0 0 16 325 +326 326 327 325 0 0 16 326 +327 327 328 326 0 0 16 327 +328 328 329 327 0 0 16 328 +329 329 330 328 0 0 16 329 +330 330 331 329 0 0 16 330 +331 331 332 330 0 0 16 331 +332 332 333 331 0 0 16 332 +333 333 334 332 0 0 16 333 +334 334 335 333 0 0 16 334 +335 335 336 334 0 0 16 335 +336 336 337 335 0 0 16 336 +337 337 338 336 0 0 16 337 +338 338 339 337 0 0 16 338 +339 339 340 338 0 0 16 339 +340 340 341 339 0 0 16 340 +341 341 342 340 0 0 16 341 +342 342 343 341 0 0 16 342 +343 343 344 342 0 0 16 343 +344 344 345 343 0 0 16 344 +345 345 346 344 0 0 16 345 +346 346 347 345 0 0 16 346 +347 347 348 346 0 0 16 347 +348 348 349 347 0 0 16 348 +349 349 350 348 0 0 16 349 +350 350 351 349 0 0 16 350 +351 351 352 350 0 0 16 351 +352 352 353 351 0 0 16 352 +353 353 354 352 0 0 16 353 +354 354 355 353 0 0 16 354 +355 355 356 354 0 0 16 355 +356 356 357 355 0 0 16 356 +357 357 358 356 0 0 16 357 +358 358 359 357 0 0 16 358 +359 359 360 358 0 0 16 359 +360 360 361 359 0 0 16 360 +361 361 362 360 0 0 16 361 +362 362 363 361 0 0 16 362 +363 363 364 362 0 0 16 363 +364 364 365 363 0 0 16 364 +365 365 366 364 0 0 16 365 +366 366 367 365 0 0 16 366 +367 367 368 366 0 0 16 367 +368 368 369 367 0 0 16 368 +369 369 370 368 0 0 16 369 +370 370 371 369 0 0 16 370 +371 371 372 370 0 0 16 371 +372 372 373 371 0 0 16 372 +373 373 374 372 0 0 16 373 +374 374 375 373 0 0 16 374 +375 375 376 374 0 0 16 375 +376 376 377 375 0 0 16 376 +377 377 378 376 0 0 16 377 +378 378 379 377 0 0 16 378 +379 379 380 378 0 0 16 379 +380 380 381 379 0 0 16 380 +381 381 382 380 0 0 16 381 +382 382 383 381 0 0 16 382 +383 383 384 382 0 0 16 383 +384 384 385 383 0 0 16 384 +385 385 386 384 0 0 16 385 +386 386 387 385 0 0 16 386 +387 387 388 386 0 0 16 387 +388 388 389 387 0 0 16 388 +389 389 390 388 0 0 16 389 +390 390 391 389 0 0 16 390 +391 391 392 390 0 0 16 391 +392 392 393 391 0 0 16 392 +393 393 394 392 0 0 16 393 +394 394 395 393 0 0 16 394 +395 395 396 394 0 0 16 395 +396 396 397 395 0 0 16 396 +397 397 398 396 0 0 16 397 +398 398 399 397 0 0 16 398 +399 399 400 398 0 0 16 399 +400 400 401 399 0 0 16 400 +401 401 402 400 0 0 16 401 +402 402 403 401 0 0 16 402 +403 403 404 402 0 0 16 403 +404 404 405 403 0 0 16 404 +405 405 406 404 0 0 16 405 +406 406 407 405 0 0 16 406 +407 407 408 406 0 0 16 407 +408 408 409 407 0 0 16 408 +409 409 410 408 0 0 16 409 +410 410 411 409 0 0 16 410 +411 411 412 410 0 0 16 411 +412 412 413 411 0 0 16 412 +413 413 414 412 0 0 16 413 +414 414 415 413 0 0 16 414 +415 415 416 414 0 0 16 415 +416 416 417 415 0 0 16 416 +417 417 418 416 0 0 16 417 +418 418 419 417 0 0 16 418 +419 419 420 418 0 0 16 419 +420 420 421 419 0 0 16 420 +421 421 422 420 0 0 16 421 +422 422 423 421 0 0 16 422 +423 423 424 422 0 0 16 423 +424 424 425 423 0 0 16 424 +425 425 426 424 0 0 16 425 +426 426 427 425 0 0 16 426 +427 427 428 426 0 0 16 427 +428 428 429 427 0 0 16 428 +429 429 430 428 0 0 16 429 +430 430 431 429 0 0 16 430 +431 431 432 430 0 0 16 431 +432 432 433 431 0 0 16 432 +433 433 434 432 0 0 16 433 +434 434 435 433 0 0 16 434 +435 435 436 434 0 0 16 435 +436 436 437 435 0 0 16 436 +437 437 438 436 0 0 16 437 +438 438 439 437 0 0 16 438 +439 439 440 438 0 0 16 439 +440 440 441 439 0 0 16 440 +441 441 442 440 0 0 16 441 +442 442 443 441 0 0 16 442 +443 443 444 442 0 0 16 443 +444 444 445 443 0 0 16 444 +445 445 446 444 0 0 16 445 +446 446 447 445 0 0 16 446 +447 447 448 446 0 0 16 447 +448 448 449 447 0 0 16 448 +449 449 450 448 0 0 16 449 +450 450 451 449 0 0 16 450 +451 451 452 450 0 0 16 451 +452 452 453 451 0 0 16 452 +453 453 454 452 0 0 16 453 +454 454 455 453 0 0 16 454 +455 455 456 454 0 0 16 455 +456 456 457 455 0 0 16 456 +457 457 458 456 0 0 16 457 +458 458 459 457 0 0 16 458 +459 459 460 458 0 0 16 459 +460 460 461 459 0 0 16 460 +461 461 462 460 0 0 16 461 +462 462 463 461 0 0 16 462 +463 463 464 462 0 0 16 463 +464 464 465 463 0 0 16 464 +465 465 466 464 0 0 16 465 +466 466 467 465 0 0 16 466 +467 467 468 466 0 0 16 467 +468 468 469 467 0 0 16 468 +469 469 470 468 0 0 16 469 +470 470 471 469 0 0 16 470 +471 471 472 470 0 0 16 471 +472 472 473 471 0 0 16 472 +473 473 474 472 0 0 16 473 +474 474 475 473 0 0 16 474 +475 475 476 474 0 0 16 475 +476 476 477 475 0 0 16 476 +477 477 478 476 0 0 16 477 +478 478 479 477 0 0 16 478 +479 479 480 478 0 0 16 479 +480 480 481 479 0 0 16 480 +481 481 482 480 0 0 16 481 +482 482 483 481 0 0 16 482 +483 483 484 482 0 0 16 483 +484 484 485 483 0 0 16 484 +485 485 486 484 0 0 16 485 +486 486 487 485 0 0 16 486 +487 487 488 486 0 0 16 487 +488 488 489 487 0 0 16 488 +489 489 490 488 0 0 16 489 +490 490 491 489 0 0 16 490 +491 491 492 490 0 0 16 491 +492 492 493 491 0 0 16 492 +493 493 494 492 0 0 16 493 +494 494 495 493 0 0 16 494 +495 495 496 494 0 0 16 495 +496 496 497 495 0 0 16 496 +497 497 498 496 0 0 16 497 +498 498 499 497 0 0 16 498 +499 499 500 498 0 0 16 499 +500 500 501 499 0 0 16 500 +501 501 502 500 0 0 16 501 +502 502 503 501 0 0 16 502 +503 503 504 502 0 0 16 503 +504 504 505 503 0 0 16 504 +505 505 506 504 0 0 16 505 +506 506 507 505 0 0 16 506 +507 507 508 506 0 0 16 507 +508 508 509 507 0 0 16 508 +509 509 510 508 0 0 16 509 +510 510 511 509 0 0 16 510 +511 511 512 510 0 0 16 511 +512 512 513 511 0 0 16 512 +513 513 514 512 0 0 16 513 +514 514 515 513 0 0 16 514 +515 515 516 514 0 0 16 515 +516 516 517 515 0 0 16 516 +517 517 518 516 0 0 16 517 +518 518 519 517 0 0 16 518 +519 519 520 518 0 0 16 519 +520 520 521 519 0 0 16 520 +521 521 522 520 0 0 16 521 +522 522 523 521 0 0 16 522 +523 523 524 522 0 0 16 523 +524 524 525 523 0 0 16 524 +525 525 526 524 0 0 16 525 +526 526 527 525 0 0 16 526 +527 527 528 526 0 0 16 527 +528 528 529 527 0 0 16 528 +529 529 530 528 0 0 16 529 +530 530 531 529 0 0 16 530 +531 531 532 530 0 0 16 531 +532 532 533 531 0 0 16 532 +533 533 534 532 0 0 16 533 +534 534 535 533 0 0 16 534 +535 535 536 534 0 0 16 535 +536 536 537 535 0 0 16 536 +537 537 538 536 0 0 16 537 +538 538 539 537 0 0 16 538 +539 539 540 538 0 0 16 539 +540 540 541 539 0 0 16 540 +541 541 542 540 0 0 16 541 +542 542 543 541 0 0 16 542 +543 543 544 542 0 0 16 543 +544 544 545 543 0 0 16 544 +545 545 546 544 0 0 16 545 +546 546 547 545 0 0 16 546 +547 547 548 546 0 0 16 547 +548 548 549 547 0 0 16 548 +549 549 550 548 0 0 16 549 +550 550 551 549 0 0 16 550 +551 551 552 550 0 0 16 551 +552 552 553 551 0 0 16 552 +553 553 554 552 0 0 16 553 +554 554 555 553 0 0 16 554 +555 555 556 554 0 0 16 555 +556 556 557 555 0 0 16 556 +557 557 558 556 0 0 16 557 +558 558 559 557 0 0 16 558 +559 559 560 558 0 0 16 559 +560 560 561 559 0 0 16 560 +561 561 562 560 0 0 16 561 +562 562 563 561 0 0 16 562 +563 563 564 562 0 0 16 563 +564 564 565 563 0 0 16 564 +565 565 566 564 0 0 16 565 +566 566 567 565 0 0 16 566 +567 567 568 566 0 0 16 567 +568 568 569 567 0 0 16 568 +569 569 570 568 0 0 16 569 +570 570 571 569 0 0 16 570 +571 571 572 570 0 0 16 571 +572 572 573 571 0 0 16 572 +573 573 574 572 0 0 16 573 +574 574 575 573 0 0 16 574 +575 575 576 574 0 0 16 575 +576 576 577 575 0 0 16 576 +577 577 578 576 0 0 16 577 +578 578 579 577 0 0 16 578 +579 579 580 578 0 0 16 579 +580 580 581 579 0 0 16 580 +581 581 582 580 0 0 16 581 +582 582 583 581 0 0 16 582 +583 583 584 582 0 0 16 583 +584 584 585 583 0 0 16 584 +585 585 586 584 0 0 16 585 +586 586 587 585 0 0 16 586 +587 587 588 586 0 0 16 587 +588 588 589 587 0 0 16 588 +589 589 590 588 0 0 16 589 +590 590 591 589 0 0 16 590 +591 591 592 590 0 0 16 591 +592 592 593 591 0 0 16 592 +593 593 594 592 0 0 16 593 +594 594 595 593 0 0 16 594 +595 595 596 594 0 0 16 595 +596 596 597 595 0 0 16 596 +597 597 598 596 0 0 16 597 +598 598 599 597 0 0 16 598 +599 599 600 598 0 0 16 599 +600 600 601 599 0 0 16 600 +601 601 602 600 0 0 16 601 +602 602 603 601 0 0 16 602 +603 603 604 602 0 0 16 603 +604 604 605 603 0 0 16 604 +605 605 606 604 0 0 16 605 +606 606 607 605 0 0 16 606 +607 607 608 606 0 0 16 607 +608 608 609 607 0 0 16 608 +609 609 610 608 0 0 16 609 +610 610 611 609 0 0 16 610 +611 611 612 610 0 0 16 611 +612 612 613 611 0 0 16 612 +613 613 614 612 0 0 16 613 +614 614 615 613 0 0 16 614 +615 615 616 614 0 0 16 615 +616 616 617 615 0 0 16 616 +617 617 618 616 0 0 16 617 +618 618 619 617 0 0 16 618 +619 619 620 618 0 0 16 619 +620 620 621 619 0 0 16 620 +621 621 622 620 0 0 16 621 +622 622 623 621 0 0 16 622 +623 623 624 622 0 0 16 623 +624 624 625 623 0 0 16 624 +625 625 626 624 0 0 16 625 +626 626 627 625 0 0 16 626 +627 627 628 626 0 0 16 627 +628 628 629 627 0 0 16 628 +629 629 630 628 0 0 16 629 +630 630 631 629 0 0 16 630 +631 631 632 630 0 0 16 631 +632 632 633 631 0 0 16 632 +633 633 634 632 0 0 16 633 +634 634 635 633 0 0 16 634 +635 635 636 634 0 0 16 635 +636 636 637 635 0 0 16 636 +637 637 638 636 0 0 16 637 +638 638 639 637 0 0 16 638 +639 639 640 638 0 0 16 639 +640 640 641 639 0 0 16 640 +641 641 642 640 0 0 16 641 +642 642 643 641 0 0 16 642 +643 643 644 642 0 0 16 643 +644 644 645 643 0 0 16 644 +645 645 646 644 0 0 16 645 +646 646 647 645 0 0 16 646 +647 647 648 646 0 0 16 647 +648 648 649 647 0 0 16 648 +649 649 650 648 0 0 16 649 +650 650 651 649 0 0 16 650 +651 651 652 650 0 0 16 651 +652 652 653 651 0 0 16 652 +653 653 654 652 0 0 16 653 +654 654 655 653 0 0 16 654 +655 655 656 654 0 0 16 655 +656 656 657 655 0 0 16 656 +657 657 658 656 0 0 16 657 +658 658 659 657 0 0 16 658 +659 659 660 658 0 0 16 659 +660 660 661 659 0 0 16 660 +661 661 662 660 0 0 16 661 +662 662 663 661 0 0 16 662 +663 663 664 662 0 0 16 663 +664 664 665 663 0 0 16 664 +665 665 666 664 0 0 16 665 +666 666 667 665 0 0 16 666 +667 667 668 666 0 0 16 667 +668 668 669 667 0 0 16 668 +669 669 670 668 0 0 16 669 +670 670 671 669 0 0 16 670 +671 671 672 670 0 0 16 671 +672 672 673 671 0 0 16 672 +673 673 674 672 0 0 16 673 +674 674 675 673 0 0 16 674 +675 675 676 674 0 0 16 675 +676 676 677 675 0 0 16 676 +677 677 678 676 0 0 16 677 +678 678 679 677 0 0 16 678 +679 679 680 678 0 0 16 679 +680 680 681 679 0 0 16 680 +681 681 682 680 0 0 16 681 +682 682 683 681 0 0 16 682 +683 683 684 682 0 0 16 683 +684 684 685 683 0 0 16 684 +685 685 686 684 0 0 16 685 +686 686 687 685 0 0 16 686 +687 687 688 686 0 0 16 687 +688 688 689 687 0 0 16 688 +689 689 690 688 0 0 16 689 +690 690 691 689 0 0 16 690 +691 691 692 690 0 0 16 691 +692 692 693 691 0 0 16 692 +693 693 694 692 0 0 16 693 +694 694 695 693 0 0 16 694 +695 695 696 694 0 0 16 695 +696 696 697 695 0 0 16 696 +697 697 698 696 0 0 16 697 +698 698 699 697 0 0 16 698 +699 699 700 698 0 0 16 699 +700 700 701 699 0 0 16 700 +701 701 702 700 0 0 16 701 +702 702 703 701 0 0 16 702 +703 703 704 702 0 0 16 703 +704 704 705 703 0 0 16 704 +705 705 706 704 0 0 16 705 +706 706 707 705 0 0 16 706 +707 707 708 706 0 0 16 707 +708 708 709 707 0 0 16 708 +709 709 710 708 0 0 16 709 +710 710 711 709 0 0 16 710 +711 711 712 710 0 0 16 711 +712 712 713 711 0 0 16 712 +713 713 714 712 0 0 16 713 +714 714 715 713 0 0 16 714 +715 715 716 714 0 0 16 715 +716 716 717 715 0 0 16 716 +717 717 718 716 0 0 16 717 +718 718 719 717 0 0 16 718 +719 719 720 718 0 0 16 719 +720 720 721 719 0 0 16 720 +721 721 722 720 0 0 16 721 +722 722 723 721 0 0 16 722 +723 723 724 722 0 0 16 723 +724 724 725 723 0 0 16 724 +725 725 726 724 0 0 16 725 +726 726 727 725 0 0 16 726 +727 727 728 726 0 0 16 727 +728 728 729 727 0 0 16 728 +729 729 730 728 0 0 16 729 +730 730 731 729 0 0 16 730 +731 731 732 730 0 0 16 731 +732 732 733 731 0 0 16 732 +733 733 734 732 0 0 16 733 +734 734 735 733 0 0 16 734 +735 735 736 734 0 0 16 735 +736 736 737 735 0 0 16 736 +737 737 738 736 0 0 16 737 +738 738 739 737 0 0 16 738 +739 739 740 738 0 0 16 739 +740 740 741 739 0 0 16 740 +741 741 742 740 0 0 16 741 +742 742 743 741 0 0 16 742 +743 743 744 742 0 0 16 743 +744 744 745 743 0 0 16 744 +745 745 746 744 0 0 16 745 +746 746 747 745 0 0 16 746 +747 747 748 746 0 0 16 747 +748 748 749 747 0 0 16 748 +749 749 750 748 0 0 16 749 +750 750 751 749 0 0 16 750 +751 751 752 750 0 0 16 751 +752 752 753 751 0 0 16 752 +753 753 754 752 0 0 16 753 +754 754 755 753 0 0 16 754 +755 755 756 754 0 0 16 755 +756 756 757 755 0 0 16 756 +757 757 758 756 0 0 16 757 +758 758 759 757 0 0 16 758 +759 759 760 758 0 0 16 759 +760 760 761 759 0 0 16 760 +761 761 762 760 0 0 16 761 +762 762 763 761 0 0 16 762 +763 763 764 762 0 0 16 763 +764 764 765 763 0 0 16 764 +765 765 766 764 0 0 16 765 +766 766 767 765 0 0 16 766 +767 767 768 766 0 0 16 767 +768 768 769 767 0 0 16 768 +769 769 770 768 0 0 16 769 +770 770 771 769 0 0 16 770 +771 771 772 770 0 0 16 771 +772 772 773 771 0 0 16 772 +773 773 774 772 0 0 16 773 +774 774 775 773 0 0 16 774 +775 775 776 774 0 0 16 775 +776 776 777 775 0 0 16 776 +777 777 778 776 0 0 16 777 +778 778 779 777 0 0 16 778 +779 779 780 778 0 0 16 779 +780 780 781 779 0 0 16 780 +781 781 782 780 0 0 16 781 +782 782 783 781 0 0 16 782 +783 783 784 782 0 0 16 783 +784 784 785 783 0 0 16 784 +785 785 786 784 0 0 16 785 +786 786 787 785 0 0 16 786 +787 787 788 786 0 0 16 787 +788 788 789 787 0 0 16 788 +789 789 790 788 0 0 16 789 +790 790 791 789 0 0 16 790 +791 791 792 790 0 0 16 791 +792 792 793 791 0 0 16 792 +793 793 794 792 0 0 16 793 +794 794 795 793 0 0 16 794 +795 795 796 794 0 0 16 795 +796 796 797 795 0 0 16 796 +797 797 798 796 0 0 16 797 +798 798 799 797 0 0 16 798 +799 799 800 798 0 0 16 799 +800 800 801 799 0 0 16 800 +801 801 802 800 0 0 16 801 +802 802 803 801 0 0 16 802 +803 803 804 802 0 0 16 803 +804 804 805 803 0 0 16 804 +805 805 806 804 0 0 16 805 +806 806 807 805 0 0 16 806 +807 807 808 806 0 0 16 807 +808 808 809 807 0 0 16 808 +809 809 810 808 0 0 16 809 +810 810 811 809 0 0 16 810 +811 811 812 810 0 0 16 811 +812 812 813 811 0 0 16 812 +813 813 814 812 0 0 16 813 +814 814 815 813 0 0 16 814 +815 815 816 814 0 0 16 815 +816 816 817 815 0 0 16 816 +817 817 818 816 0 0 16 817 +818 818 819 817 0 0 16 818 +819 819 820 818 0 0 16 819 +820 820 821 819 0 0 16 820 +821 821 822 820 0 0 16 821 +822 822 823 821 0 0 16 822 +823 823 824 822 0 0 16 823 +824 824 825 823 0 0 16 824 +825 825 826 824 0 0 16 825 +826 826 827 825 0 0 16 826 +827 827 828 826 0 0 16 827 +828 828 829 827 0 0 16 828 +829 829 830 828 0 0 16 829 +830 830 831 829 0 0 16 830 +831 831 832 830 0 0 16 831 +832 832 833 831 0 0 16 832 +833 833 834 832 0 0 16 833 +834 834 835 833 0 0 16 834 +835 835 836 834 0 0 16 835 +836 836 837 835 0 0 16 836 +837 837 838 836 0 0 16 837 +838 838 839 837 0 0 16 838 +839 839 840 838 0 0 16 839 +840 840 841 839 0 0 16 840 +841 841 842 840 0 0 16 841 +842 842 843 841 0 0 16 842 +843 843 844 842 0 0 16 843 +844 844 845 843 0 0 16 844 +845 845 846 844 0 0 16 845 +846 846 847 845 0 0 16 846 +847 847 848 846 0 0 16 847 +848 848 849 847 0 0 16 848 +849 849 850 848 0 0 16 849 +850 850 851 849 0 0 16 850 +851 851 852 850 0 0 16 851 +852 852 853 851 0 0 16 852 +853 853 854 852 0 0 16 853 +854 854 855 853 0 0 16 854 +855 855 856 854 0 0 16 855 +856 856 857 855 0 0 16 856 +857 857 858 856 0 0 16 857 +858 858 859 857 0 0 16 858 +859 859 860 858 0 0 16 859 +860 860 861 859 0 0 16 860 +861 861 862 860 0 0 16 861 +862 862 863 861 0 0 16 862 +863 863 864 862 0 0 16 863 +864 864 865 863 0 0 16 864 +865 865 866 864 0 0 16 865 +866 866 867 865 0 0 16 866 +867 867 868 866 0 0 16 867 +868 868 869 867 0 0 16 868 +869 869 870 868 0 0 16 869 +870 870 871 869 0 0 16 870 +871 871 872 870 0 0 16 871 +872 872 873 871 0 0 16 872 +873 873 874 872 0 0 16 873 +874 874 875 873 0 0 16 874 +875 875 876 874 0 0 16 875 +876 876 877 875 0 0 16 876 +877 877 878 876 0 0 16 877 +878 878 879 877 0 0 16 878 +879 879 880 878 0 0 16 879 +880 880 881 879 0 0 16 880 +881 881 882 880 0 0 16 881 +882 882 883 881 0 0 16 882 +883 883 884 882 0 0 16 883 +884 884 885 883 0 0 16 884 +885 885 886 884 0 0 16 885 +886 886 887 885 0 0 16 886 +887 887 888 886 0 0 16 887 +888 888 889 887 0 0 16 888 +889 889 890 888 0 0 16 889 +890 890 891 889 0 0 16 890 +891 891 892 890 0 0 16 891 +892 892 893 891 0 0 16 892 +893 893 894 892 0 0 16 893 +894 894 895 893 0 0 16 894 +895 895 896 894 0 0 16 895 +896 896 897 895 0 0 16 896 +897 897 898 896 0 0 16 897 +898 898 899 897 0 0 16 898 +899 899 900 898 0 0 16 899 +900 900 901 899 0 0 16 900 +901 901 902 900 0 0 16 901 +902 902 903 901 0 0 16 902 +903 903 904 902 0 0 16 903 +904 904 905 903 0 0 16 904 +905 905 906 904 0 0 16 905 +906 906 907 905 0 0 16 906 +907 907 908 906 0 0 16 907 +908 908 909 907 0 0 16 908 +909 909 910 908 0 0 16 909 +910 910 911 909 0 0 16 910 +911 911 912 910 0 0 16 911 +912 912 913 911 0 0 16 912 +913 913 914 912 0 0 16 913 +914 914 915 913 0 0 16 914 +915 915 916 914 0 0 16 915 +916 916 917 915 0 0 16 916 +917 917 918 916 0 0 16 917 +918 918 919 917 0 0 16 918 +919 919 920 918 0 0 16 919 +920 920 921 919 0 0 16 920 +921 921 922 920 0 0 16 921 +922 922 923 921 0 0 16 922 +923 923 924 922 0 0 16 923 +924 924 925 923 0 0 16 924 +925 925 926 924 0 0 16 925 +926 926 927 925 0 0 16 926 +927 927 928 926 0 0 16 927 +928 928 929 927 0 0 16 928 +929 929 930 928 0 0 16 929 +930 930 931 929 0 0 16 930 +931 931 932 930 0 0 16 931 +932 932 933 931 0 0 16 932 +933 933 934 932 0 0 16 933 +934 934 935 933 0 0 16 934 +935 935 936 934 0 0 16 935 +936 936 937 935 0 0 16 936 +937 937 938 936 0 0 16 937 +938 938 939 937 0 0 16 938 +939 939 940 938 0 0 16 939 +940 940 941 939 0 0 16 940 +941 941 942 940 0 0 16 941 +942 942 943 941 0 0 16 942 +943 943 944 942 0 0 16 943 +944 944 945 943 0 0 16 944 +945 945 946 944 0 0 16 945 +946 946 947 945 0 0 16 946 +947 947 948 946 0 0 16 947 +948 948 949 947 0 0 16 948 +949 949 950 948 0 0 16 949 +950 950 951 949 0 0 16 950 +951 951 952 950 0 0 16 951 +952 952 953 951 0 0 16 952 +953 953 954 952 0 0 16 953 +954 954 955 953 0 0 16 954 +955 955 956 954 0 0 16 955 +956 956 957 955 0 0 16 956 +957 957 958 956 0 0 16 957 +958 958 959 957 0 0 16 958 +959 959 960 958 0 0 16 959 +960 960 961 959 0 0 16 960 +961 961 962 960 0 0 16 961 +962 962 963 961 0 0 16 962 +963 963 964 962 0 0 16 963 +964 964 965 963 0 0 16 964 +965 965 966 964 0 0 16 965 +966 966 967 965 0 0 16 966 +967 967 968 966 0 0 16 967 +968 968 969 967 0 0 16 968 +969 969 970 968 0 0 16 969 +970 970 971 969 0 0 16 970 +971 971 972 970 0 0 16 971 +972 972 973 971 0 0 16 972 +973 973 974 972 0 0 16 973 +974 974 975 973 0 0 16 974 +975 975 976 974 0 0 16 975 +976 976 977 975 0 0 16 976 +977 977 978 976 0 0 16 977 +978 978 979 977 0 0 16 978 +979 979 980 978 0 0 16 979 +980 980 981 979 0 0 16 980 +981 981 982 980 0 0 16 981 +982 982 983 981 0 0 16 982 +983 983 984 982 0 0 16 983 +984 984 985 983 0 0 16 984 +985 985 986 984 0 0 16 985 +986 986 987 985 0 0 16 986 +987 987 988 986 0 0 16 987 +988 988 989 987 0 0 16 988 +989 989 990 988 0 0 16 989 +990 990 991 989 0 0 16 990 +991 991 992 990 0 0 16 991 +992 992 993 991 0 0 16 992 +993 993 994 992 0 0 16 993 +994 994 995 993 0 0 16 994 +995 995 996 994 0 0 16 995 +996 996 997 995 0 0 16 996 +997 997 998 996 0 0 16 997 +998 998 999 997 0 0 16 998 +999 999 1000 998 0 0 16 999 +1000 1000 1001 999 0 0 16 1000 +1001 1001 1002 1000 0 0 16 1001 +1002 1002 1003 1001 0 0 16 1002 +1003 1003 1004 1002 0 0 16 1003 +1004 1004 1005 1003 0 0 16 1004 +1005 1005 1006 1004 0 0 16 1005 +1006 1006 1007 1005 0 0 16 1006 +1007 1007 1008 1006 0 0 16 1007 +1008 1008 1009 1007 0 0 16 1008 +1009 1009 1010 1008 0 0 16 1009 +1010 1010 1011 1009 0 0 16 1010 +1011 1011 1012 1010 0 0 16 1011 +1012 1012 1013 1011 0 0 16 1012 +1013 1013 1014 1012 0 0 16 1013 +1014 1014 1015 1013 0 0 16 1014 +1015 1015 1016 1014 0 0 16 1015 +1016 1016 1017 1015 0 0 16 1016 +1017 1017 1018 1016 0 0 16 1017 +1018 1018 1019 1017 0 0 16 1018 +1019 1019 1020 1018 0 0 16 1019 +1020 1020 1021 1019 0 0 16 1020 +1021 1021 1022 1020 0 0 16 1021 +1022 1022 0 1021 0 0 16 1022 +1023 1023 -1 0 0 0 16 1023 +====================================================== +=== [Queue after-freeing-0] Next: 0 First: 1 Last: 1023 +# seq next prev timeout retrans type cbp +1 1 2 -1 0 0 16 1 +2 2 3 1 0 0 16 2 +3 3 4 2 0 0 16 3 +4 4 5 3 0 0 16 4 +5 5 6 4 0 0 16 5 +6 6 7 5 0 0 16 6 +7 7 8 6 0 0 16 7 +8 8 9 7 0 0 16 8 +9 9 10 8 0 0 16 9 +10 10 11 9 0 0 16 10 +11 11 12 10 0 0 16 11 +12 12 13 11 0 0 16 12 +13 13 14 12 0 0 16 13 +14 14 15 13 0 0 16 14 +15 15 16 14 0 0 16 15 +16 16 17 15 0 0 16 16 +17 17 18 16 0 0 16 17 +18 18 19 17 0 0 16 18 +19 19 20 18 0 0 16 19 +20 20 21 19 0 0 16 20 +21 21 22 20 0 0 16 21 +22 22 23 21 0 0 16 22 +23 23 24 22 0 0 16 23 +24 24 25 23 0 0 16 24 +25 25 26 24 0 0 16 25 +26 26 27 25 0 0 16 26 +27 27 28 26 0 0 16 27 +28 28 29 27 0 0 16 28 +29 29 30 28 0 0 16 29 +30 30 31 29 0 0 16 30 +31 31 32 30 0 0 16 31 +32 32 33 31 0 0 16 32 +33 33 34 32 0 0 16 33 +34 34 35 33 0 0 16 34 +35 35 36 34 0 0 16 35 +36 36 37 35 0 0 16 36 +37 37 38 36 0 0 16 37 +38 38 39 37 0 0 16 38 +39 39 40 38 0 0 16 39 +40 40 41 39 0 0 16 40 +41 41 42 40 0 0 16 41 +42 42 43 41 0 0 16 42 +43 43 44 42 0 0 16 43 +44 44 45 43 0 0 16 44 +45 45 46 44 0 0 16 45 +46 46 47 45 0 0 16 46 +47 47 48 46 0 0 16 47 +48 48 49 47 0 0 16 48 +49 49 50 48 0 0 16 49 +50 50 51 49 0 0 16 50 +51 51 52 50 0 0 16 51 +52 52 53 51 0 0 16 52 +53 53 54 52 0 0 16 53 +54 54 55 53 0 0 16 54 +55 55 56 54 0 0 16 55 +56 56 57 55 0 0 16 56 +57 57 58 56 0 0 16 57 +58 58 59 57 0 0 16 58 +59 59 60 58 0 0 16 59 +60 60 61 59 0 0 16 60 +61 61 62 60 0 0 16 61 +62 62 63 61 0 0 16 62 +63 63 64 62 0 0 16 63 +64 64 65 63 0 0 16 64 +65 65 66 64 0 0 16 65 +66 66 67 65 0 0 16 66 +67 67 68 66 0 0 16 67 +68 68 69 67 0 0 16 68 +69 69 70 68 0 0 16 69 +70 70 71 69 0 0 16 70 +71 71 72 70 0 0 16 71 +72 72 73 71 0 0 16 72 +73 73 74 72 0 0 16 73 +74 74 75 73 0 0 16 74 +75 75 76 74 0 0 16 75 +76 76 77 75 0 0 16 76 +77 77 78 76 0 0 16 77 +78 78 79 77 0 0 16 78 +79 79 80 78 0 0 16 79 +80 80 81 79 0 0 16 80 +81 81 82 80 0 0 16 81 +82 82 83 81 0 0 16 82 +83 83 84 82 0 0 16 83 +84 84 85 83 0 0 16 84 +85 85 86 84 0 0 16 85 +86 86 87 85 0 0 16 86 +87 87 88 86 0 0 16 87 +88 88 89 87 0 0 16 88 +89 89 90 88 0 0 16 89 +90 90 91 89 0 0 16 90 +91 91 92 90 0 0 16 91 +92 92 93 91 0 0 16 92 +93 93 94 92 0 0 16 93 +94 94 95 93 0 0 16 94 +95 95 96 94 0 0 16 95 +96 96 97 95 0 0 16 96 +97 97 98 96 0 0 16 97 +98 98 99 97 0 0 16 98 +99 99 100 98 0 0 16 99 +100 100 101 99 0 0 16 100 +101 101 102 100 0 0 16 101 +102 102 103 101 0 0 16 102 +103 103 104 102 0 0 16 103 +104 104 105 103 0 0 16 104 +105 105 106 104 0 0 16 105 +106 106 107 105 0 0 16 106 +107 107 108 106 0 0 16 107 +108 108 109 107 0 0 16 108 +109 109 110 108 0 0 16 109 +110 110 111 109 0 0 16 110 +111 111 112 110 0 0 16 111 +112 112 113 111 0 0 16 112 +113 113 114 112 0 0 16 113 +114 114 115 113 0 0 16 114 +115 115 116 114 0 0 16 115 +116 116 117 115 0 0 16 116 +117 117 118 116 0 0 16 117 +118 118 119 117 0 0 16 118 +119 119 120 118 0 0 16 119 +120 120 121 119 0 0 16 120 +121 121 122 120 0 0 16 121 +122 122 123 121 0 0 16 122 +123 123 124 122 0 0 16 123 +124 124 125 123 0 0 16 124 +125 125 126 124 0 0 16 125 +126 126 127 125 0 0 16 126 +127 127 128 126 0 0 16 127 +128 128 129 127 0 0 16 128 +129 129 130 128 0 0 16 129 +130 130 131 129 0 0 16 130 +131 131 132 130 0 0 16 131 +132 132 133 131 0 0 16 132 +133 133 134 132 0 0 16 133 +134 134 135 133 0 0 16 134 +135 135 136 134 0 0 16 135 +136 136 137 135 0 0 16 136 +137 137 138 136 0 0 16 137 +138 138 139 137 0 0 16 138 +139 139 140 138 0 0 16 139 +140 140 141 139 0 0 16 140 +141 141 142 140 0 0 16 141 +142 142 143 141 0 0 16 142 +143 143 144 142 0 0 16 143 +144 144 145 143 0 0 16 144 +145 145 146 144 0 0 16 145 +146 146 147 145 0 0 16 146 +147 147 148 146 0 0 16 147 +148 148 149 147 0 0 16 148 +149 149 150 148 0 0 16 149 +150 150 151 149 0 0 16 150 +151 151 152 150 0 0 16 151 +152 152 153 151 0 0 16 152 +153 153 154 152 0 0 16 153 +154 154 155 153 0 0 16 154 +155 155 156 154 0 0 16 155 +156 156 157 155 0 0 16 156 +157 157 158 156 0 0 16 157 +158 158 159 157 0 0 16 158 +159 159 160 158 0 0 16 159 +160 160 161 159 0 0 16 160 +161 161 162 160 0 0 16 161 +162 162 163 161 0 0 16 162 +163 163 164 162 0 0 16 163 +164 164 165 163 0 0 16 164 +165 165 166 164 0 0 16 165 +166 166 167 165 0 0 16 166 +167 167 168 166 0 0 16 167 +168 168 169 167 0 0 16 168 +169 169 170 168 0 0 16 169 +170 170 171 169 0 0 16 170 +171 171 172 170 0 0 16 171 +172 172 173 171 0 0 16 172 +173 173 174 172 0 0 16 173 +174 174 175 173 0 0 16 174 +175 175 176 174 0 0 16 175 +176 176 177 175 0 0 16 176 +177 177 178 176 0 0 16 177 +178 178 179 177 0 0 16 178 +179 179 180 178 0 0 16 179 +180 180 181 179 0 0 16 180 +181 181 182 180 0 0 16 181 +182 182 183 181 0 0 16 182 +183 183 184 182 0 0 16 183 +184 184 185 183 0 0 16 184 +185 185 186 184 0 0 16 185 +186 186 187 185 0 0 16 186 +187 187 188 186 0 0 16 187 +188 188 189 187 0 0 16 188 +189 189 190 188 0 0 16 189 +190 190 191 189 0 0 16 190 +191 191 192 190 0 0 16 191 +192 192 193 191 0 0 16 192 +193 193 194 192 0 0 16 193 +194 194 195 193 0 0 16 194 +195 195 196 194 0 0 16 195 +196 196 197 195 0 0 16 196 +197 197 198 196 0 0 16 197 +198 198 199 197 0 0 16 198 +199 199 200 198 0 0 16 199 +200 200 201 199 0 0 16 200 +201 201 202 200 0 0 16 201 +202 202 203 201 0 0 16 202 +203 203 204 202 0 0 16 203 +204 204 205 203 0 0 16 204 +205 205 206 204 0 0 16 205 +206 206 207 205 0 0 16 206 +207 207 208 206 0 0 16 207 +208 208 209 207 0 0 16 208 +209 209 210 208 0 0 16 209 +210 210 211 209 0 0 16 210 +211 211 212 210 0 0 16 211 +212 212 213 211 0 0 16 212 +213 213 214 212 0 0 16 213 +214 214 215 213 0 0 16 214 +215 215 216 214 0 0 16 215 +216 216 217 215 0 0 16 216 +217 217 218 216 0 0 16 217 +218 218 219 217 0 0 16 218 +219 219 220 218 0 0 16 219 +220 220 221 219 0 0 16 220 +221 221 222 220 0 0 16 221 +222 222 223 221 0 0 16 222 +223 223 224 222 0 0 16 223 +224 224 225 223 0 0 16 224 +225 225 226 224 0 0 16 225 +226 226 227 225 0 0 16 226 +227 227 228 226 0 0 16 227 +228 228 229 227 0 0 16 228 +229 229 230 228 0 0 16 229 +230 230 231 229 0 0 16 230 +231 231 232 230 0 0 16 231 +232 232 233 231 0 0 16 232 +233 233 234 232 0 0 16 233 +234 234 235 233 0 0 16 234 +235 235 236 234 0 0 16 235 +236 236 237 235 0 0 16 236 +237 237 238 236 0 0 16 237 +238 238 239 237 0 0 16 238 +239 239 240 238 0 0 16 239 +240 240 241 239 0 0 16 240 +241 241 242 240 0 0 16 241 +242 242 243 241 0 0 16 242 +243 243 244 242 0 0 16 243 +244 244 245 243 0 0 16 244 +245 245 246 244 0 0 16 245 +246 246 247 245 0 0 16 246 +247 247 248 246 0 0 16 247 +248 248 249 247 0 0 16 248 +249 249 250 248 0 0 16 249 +250 250 251 249 0 0 16 250 +251 251 252 250 0 0 16 251 +252 252 253 251 0 0 16 252 +253 253 254 252 0 0 16 253 +254 254 255 253 0 0 16 254 +255 255 256 254 0 0 16 255 +256 256 257 255 0 0 16 256 +257 257 258 256 0 0 16 257 +258 258 259 257 0 0 16 258 +259 259 260 258 0 0 16 259 +260 260 261 259 0 0 16 260 +261 261 262 260 0 0 16 261 +262 262 263 261 0 0 16 262 +263 263 264 262 0 0 16 263 +264 264 265 263 0 0 16 264 +265 265 266 264 0 0 16 265 +266 266 267 265 0 0 16 266 +267 267 268 266 0 0 16 267 +268 268 269 267 0 0 16 268 +269 269 270 268 0 0 16 269 +270 270 271 269 0 0 16 270 +271 271 272 270 0 0 16 271 +272 272 273 271 0 0 16 272 +273 273 274 272 0 0 16 273 +274 274 275 273 0 0 16 274 +275 275 276 274 0 0 16 275 +276 276 277 275 0 0 16 276 +277 277 278 276 0 0 16 277 +278 278 279 277 0 0 16 278 +279 279 280 278 0 0 16 279 +280 280 281 279 0 0 16 280 +281 281 282 280 0 0 16 281 +282 282 283 281 0 0 16 282 +283 283 284 282 0 0 16 283 +284 284 285 283 0 0 16 284 +285 285 286 284 0 0 16 285 +286 286 287 285 0 0 16 286 +287 287 288 286 0 0 16 287 +288 288 289 287 0 0 16 288 +289 289 290 288 0 0 16 289 +290 290 291 289 0 0 16 290 +291 291 292 290 0 0 16 291 +292 292 293 291 0 0 16 292 +293 293 294 292 0 0 16 293 +294 294 295 293 0 0 16 294 +295 295 296 294 0 0 16 295 +296 296 297 295 0 0 16 296 +297 297 298 296 0 0 16 297 +298 298 299 297 0 0 16 298 +299 299 300 298 0 0 16 299 +300 300 301 299 0 0 16 300 +301 301 302 300 0 0 16 301 +302 302 303 301 0 0 16 302 +303 303 304 302 0 0 16 303 +304 304 305 303 0 0 16 304 +305 305 306 304 0 0 16 305 +306 306 307 305 0 0 16 306 +307 307 308 306 0 0 16 307 +308 308 309 307 0 0 16 308 +309 309 310 308 0 0 16 309 +310 310 311 309 0 0 16 310 +311 311 312 310 0 0 16 311 +312 312 313 311 0 0 16 312 +313 313 314 312 0 0 16 313 +314 314 315 313 0 0 16 314 +315 315 316 314 0 0 16 315 +316 316 317 315 0 0 16 316 +317 317 318 316 0 0 16 317 +318 318 319 317 0 0 16 318 +319 319 320 318 0 0 16 319 +320 320 321 319 0 0 16 320 +321 321 322 320 0 0 16 321 +322 322 323 321 0 0 16 322 +323 323 324 322 0 0 16 323 +324 324 325 323 0 0 16 324 +325 325 326 324 0 0 16 325 +326 326 327 325 0 0 16 326 +327 327 328 326 0 0 16 327 +328 328 329 327 0 0 16 328 +329 329 330 328 0 0 16 329 +330 330 331 329 0 0 16 330 +331 331 332 330 0 0 16 331 +332 332 333 331 0 0 16 332 +333 333 334 332 0 0 16 333 +334 334 335 333 0 0 16 334 +335 335 336 334 0 0 16 335 +336 336 337 335 0 0 16 336 +337 337 338 336 0 0 16 337 +338 338 339 337 0 0 16 338 +339 339 340 338 0 0 16 339 +340 340 341 339 0 0 16 340 +341 341 342 340 0 0 16 341 +342 342 343 341 0 0 16 342 +343 343 344 342 0 0 16 343 +344 344 345 343 0 0 16 344 +345 345 346 344 0 0 16 345 +346 346 347 345 0 0 16 346 +347 347 348 346 0 0 16 347 +348 348 349 347 0 0 16 348 +349 349 350 348 0 0 16 349 +350 350 351 349 0 0 16 350 +351 351 352 350 0 0 16 351 +352 352 353 351 0 0 16 352 +353 353 354 352 0 0 16 353 +354 354 355 353 0 0 16 354 +355 355 356 354 0 0 16 355 +356 356 357 355 0 0 16 356 +357 357 358 356 0 0 16 357 +358 358 359 357 0 0 16 358 +359 359 360 358 0 0 16 359 +360 360 361 359 0 0 16 360 +361 361 362 360 0 0 16 361 +362 362 363 361 0 0 16 362 +363 363 364 362 0 0 16 363 +364 364 365 363 0 0 16 364 +365 365 366 364 0 0 16 365 +366 366 367 365 0 0 16 366 +367 367 368 366 0 0 16 367 +368 368 369 367 0 0 16 368 +369 369 370 368 0 0 16 369 +370 370 371 369 0 0 16 370 +371 371 372 370 0 0 16 371 +372 372 373 371 0 0 16 372 +373 373 374 372 0 0 16 373 +374 374 375 373 0 0 16 374 +375 375 376 374 0 0 16 375 +376 376 377 375 0 0 16 376 +377 377 378 376 0 0 16 377 +378 378 379 377 0 0 16 378 +379 379 380 378 0 0 16 379 +380 380 381 379 0 0 16 380 +381 381 382 380 0 0 16 381 +382 382 383 381 0 0 16 382 +383 383 384 382 0 0 16 383 +384 384 385 383 0 0 16 384 +385 385 386 384 0 0 16 385 +386 386 387 385 0 0 16 386 +387 387 388 386 0 0 16 387 +388 388 389 387 0 0 16 388 +389 389 390 388 0 0 16 389 +390 390 391 389 0 0 16 390 +391 391 392 390 0 0 16 391 +392 392 393 391 0 0 16 392 +393 393 394 392 0 0 16 393 +394 394 395 393 0 0 16 394 +395 395 396 394 0 0 16 395 +396 396 397 395 0 0 16 396 +397 397 398 396 0 0 16 397 +398 398 399 397 0 0 16 398 +399 399 400 398 0 0 16 399 +400 400 401 399 0 0 16 400 +401 401 402 400 0 0 16 401 +402 402 403 401 0 0 16 402 +403 403 404 402 0 0 16 403 +404 404 405 403 0 0 16 404 +405 405 406 404 0 0 16 405 +406 406 407 405 0 0 16 406 +407 407 408 406 0 0 16 407 +408 408 409 407 0 0 16 408 +409 409 410 408 0 0 16 409 +410 410 411 409 0 0 16 410 +411 411 412 410 0 0 16 411 +412 412 413 411 0 0 16 412 +413 413 414 412 0 0 16 413 +414 414 415 413 0 0 16 414 +415 415 416 414 0 0 16 415 +416 416 417 415 0 0 16 416 +417 417 418 416 0 0 16 417 +418 418 419 417 0 0 16 418 +419 419 420 418 0 0 16 419 +420 420 421 419 0 0 16 420 +421 421 422 420 0 0 16 421 +422 422 423 421 0 0 16 422 +423 423 424 422 0 0 16 423 +424 424 425 423 0 0 16 424 +425 425 426 424 0 0 16 425 +426 426 427 425 0 0 16 426 +427 427 428 426 0 0 16 427 +428 428 429 427 0 0 16 428 +429 429 430 428 0 0 16 429 +430 430 431 429 0 0 16 430 +431 431 432 430 0 0 16 431 +432 432 433 431 0 0 16 432 +433 433 434 432 0 0 16 433 +434 434 435 433 0 0 16 434 +435 435 436 434 0 0 16 435 +436 436 437 435 0 0 16 436 +437 437 438 436 0 0 16 437 +438 438 439 437 0 0 16 438 +439 439 440 438 0 0 16 439 +440 440 441 439 0 0 16 440 +441 441 442 440 0 0 16 441 +442 442 443 441 0 0 16 442 +443 443 444 442 0 0 16 443 +444 444 445 443 0 0 16 444 +445 445 446 444 0 0 16 445 +446 446 447 445 0 0 16 446 +447 447 448 446 0 0 16 447 +448 448 449 447 0 0 16 448 +449 449 450 448 0 0 16 449 +450 450 451 449 0 0 16 450 +451 451 452 450 0 0 16 451 +452 452 453 451 0 0 16 452 +453 453 454 452 0 0 16 453 +454 454 455 453 0 0 16 454 +455 455 456 454 0 0 16 455 +456 456 457 455 0 0 16 456 +457 457 458 456 0 0 16 457 +458 458 459 457 0 0 16 458 +459 459 460 458 0 0 16 459 +460 460 461 459 0 0 16 460 +461 461 462 460 0 0 16 461 +462 462 463 461 0 0 16 462 +463 463 464 462 0 0 16 463 +464 464 465 463 0 0 16 464 +465 465 466 464 0 0 16 465 +466 466 467 465 0 0 16 466 +467 467 468 466 0 0 16 467 +468 468 469 467 0 0 16 468 +469 469 470 468 0 0 16 469 +470 470 471 469 0 0 16 470 +471 471 472 470 0 0 16 471 +472 472 473 471 0 0 16 472 +473 473 474 472 0 0 16 473 +474 474 475 473 0 0 16 474 +475 475 476 474 0 0 16 475 +476 476 477 475 0 0 16 476 +477 477 478 476 0 0 16 477 +478 478 479 477 0 0 16 478 +479 479 480 478 0 0 16 479 +480 480 481 479 0 0 16 480 +481 481 482 480 0 0 16 481 +482 482 483 481 0 0 16 482 +483 483 484 482 0 0 16 483 +484 484 485 483 0 0 16 484 +485 485 486 484 0 0 16 485 +486 486 487 485 0 0 16 486 +487 487 488 486 0 0 16 487 +488 488 489 487 0 0 16 488 +489 489 490 488 0 0 16 489 +490 490 491 489 0 0 16 490 +491 491 492 490 0 0 16 491 +492 492 493 491 0 0 16 492 +493 493 494 492 0 0 16 493 +494 494 495 493 0 0 16 494 +495 495 496 494 0 0 16 495 +496 496 497 495 0 0 16 496 +497 497 498 496 0 0 16 497 +498 498 499 497 0 0 16 498 +499 499 500 498 0 0 16 499 +500 500 501 499 0 0 16 500 +501 501 502 500 0 0 16 501 +502 502 503 501 0 0 16 502 +503 503 504 502 0 0 16 503 +504 504 505 503 0 0 16 504 +505 505 506 504 0 0 16 505 +506 506 507 505 0 0 16 506 +507 507 508 506 0 0 16 507 +508 508 509 507 0 0 16 508 +509 509 510 508 0 0 16 509 +510 510 511 509 0 0 16 510 +511 511 512 510 0 0 16 511 +512 512 513 511 0 0 16 512 +513 513 514 512 0 0 16 513 +514 514 515 513 0 0 16 514 +515 515 516 514 0 0 16 515 +516 516 517 515 0 0 16 516 +517 517 518 516 0 0 16 517 +518 518 519 517 0 0 16 518 +519 519 520 518 0 0 16 519 +520 520 521 519 0 0 16 520 +521 521 522 520 0 0 16 521 +522 522 523 521 0 0 16 522 +523 523 524 522 0 0 16 523 +524 524 525 523 0 0 16 524 +525 525 526 524 0 0 16 525 +526 526 527 525 0 0 16 526 +527 527 528 526 0 0 16 527 +528 528 529 527 0 0 16 528 +529 529 530 528 0 0 16 529 +530 530 531 529 0 0 16 530 +531 531 532 530 0 0 16 531 +532 532 533 531 0 0 16 532 +533 533 534 532 0 0 16 533 +534 534 535 533 0 0 16 534 +535 535 536 534 0 0 16 535 +536 536 537 535 0 0 16 536 +537 537 538 536 0 0 16 537 +538 538 539 537 0 0 16 538 +539 539 540 538 0 0 16 539 +540 540 541 539 0 0 16 540 +541 541 542 540 0 0 16 541 +542 542 543 541 0 0 16 542 +543 543 544 542 0 0 16 543 +544 544 545 543 0 0 16 544 +545 545 546 544 0 0 16 545 +546 546 547 545 0 0 16 546 +547 547 548 546 0 0 16 547 +548 548 549 547 0 0 16 548 +549 549 550 548 0 0 16 549 +550 550 551 549 0 0 16 550 +551 551 552 550 0 0 16 551 +552 552 553 551 0 0 16 552 +553 553 554 552 0 0 16 553 +554 554 555 553 0 0 16 554 +555 555 556 554 0 0 16 555 +556 556 557 555 0 0 16 556 +557 557 558 556 0 0 16 557 +558 558 559 557 0 0 16 558 +559 559 560 558 0 0 16 559 +560 560 561 559 0 0 16 560 +561 561 562 560 0 0 16 561 +562 562 563 561 0 0 16 562 +563 563 564 562 0 0 16 563 +564 564 565 563 0 0 16 564 +565 565 566 564 0 0 16 565 +566 566 567 565 0 0 16 566 +567 567 568 566 0 0 16 567 +568 568 569 567 0 0 16 568 +569 569 570 568 0 0 16 569 +570 570 571 569 0 0 16 570 +571 571 572 570 0 0 16 571 +572 572 573 571 0 0 16 572 +573 573 574 572 0 0 16 573 +574 574 575 573 0 0 16 574 +575 575 576 574 0 0 16 575 +576 576 577 575 0 0 16 576 +577 577 578 576 0 0 16 577 +578 578 579 577 0 0 16 578 +579 579 580 578 0 0 16 579 +580 580 581 579 0 0 16 580 +581 581 582 580 0 0 16 581 +582 582 583 581 0 0 16 582 +583 583 584 582 0 0 16 583 +584 584 585 583 0 0 16 584 +585 585 586 584 0 0 16 585 +586 586 587 585 0 0 16 586 +587 587 588 586 0 0 16 587 +588 588 589 587 0 0 16 588 +589 589 590 588 0 0 16 589 +590 590 591 589 0 0 16 590 +591 591 592 590 0 0 16 591 +592 592 593 591 0 0 16 592 +593 593 594 592 0 0 16 593 +594 594 595 593 0 0 16 594 +595 595 596 594 0 0 16 595 +596 596 597 595 0 0 16 596 +597 597 598 596 0 0 16 597 +598 598 599 597 0 0 16 598 +599 599 600 598 0 0 16 599 +600 600 601 599 0 0 16 600 +601 601 602 600 0 0 16 601 +602 602 603 601 0 0 16 602 +603 603 604 602 0 0 16 603 +604 604 605 603 0 0 16 604 +605 605 606 604 0 0 16 605 +606 606 607 605 0 0 16 606 +607 607 608 606 0 0 16 607 +608 608 609 607 0 0 16 608 +609 609 610 608 0 0 16 609 +610 610 611 609 0 0 16 610 +611 611 612 610 0 0 16 611 +612 612 613 611 0 0 16 612 +613 613 614 612 0 0 16 613 +614 614 615 613 0 0 16 614 +615 615 616 614 0 0 16 615 +616 616 617 615 0 0 16 616 +617 617 618 616 0 0 16 617 +618 618 619 617 0 0 16 618 +619 619 620 618 0 0 16 619 +620 620 621 619 0 0 16 620 +621 621 622 620 0 0 16 621 +622 622 623 621 0 0 16 622 +623 623 624 622 0 0 16 623 +624 624 625 623 0 0 16 624 +625 625 626 624 0 0 16 625 +626 626 627 625 0 0 16 626 +627 627 628 626 0 0 16 627 +628 628 629 627 0 0 16 628 +629 629 630 628 0 0 16 629 +630 630 631 629 0 0 16 630 +631 631 632 630 0 0 16 631 +632 632 633 631 0 0 16 632 +633 633 634 632 0 0 16 633 +634 634 635 633 0 0 16 634 +635 635 636 634 0 0 16 635 +636 636 637 635 0 0 16 636 +637 637 638 636 0 0 16 637 +638 638 639 637 0 0 16 638 +639 639 640 638 0 0 16 639 +640 640 641 639 0 0 16 640 +641 641 642 640 0 0 16 641 +642 642 643 641 0 0 16 642 +643 643 644 642 0 0 16 643 +644 644 645 643 0 0 16 644 +645 645 646 644 0 0 16 645 +646 646 647 645 0 0 16 646 +647 647 648 646 0 0 16 647 +648 648 649 647 0 0 16 648 +649 649 650 648 0 0 16 649 +650 650 651 649 0 0 16 650 +651 651 652 650 0 0 16 651 +652 652 653 651 0 0 16 652 +653 653 654 652 0 0 16 653 +654 654 655 653 0 0 16 654 +655 655 656 654 0 0 16 655 +656 656 657 655 0 0 16 656 +657 657 658 656 0 0 16 657 +658 658 659 657 0 0 16 658 +659 659 660 658 0 0 16 659 +660 660 661 659 0 0 16 660 +661 661 662 660 0 0 16 661 +662 662 663 661 0 0 16 662 +663 663 664 662 0 0 16 663 +664 664 665 663 0 0 16 664 +665 665 666 664 0 0 16 665 +666 666 667 665 0 0 16 666 +667 667 668 666 0 0 16 667 +668 668 669 667 0 0 16 668 +669 669 670 668 0 0 16 669 +670 670 671 669 0 0 16 670 +671 671 672 670 0 0 16 671 +672 672 673 671 0 0 16 672 +673 673 674 672 0 0 16 673 +674 674 675 673 0 0 16 674 +675 675 676 674 0 0 16 675 +676 676 677 675 0 0 16 676 +677 677 678 676 0 0 16 677 +678 678 679 677 0 0 16 678 +679 679 680 678 0 0 16 679 +680 680 681 679 0 0 16 680 +681 681 682 680 0 0 16 681 +682 682 683 681 0 0 16 682 +683 683 684 682 0 0 16 683 +684 684 685 683 0 0 16 684 +685 685 686 684 0 0 16 685 +686 686 687 685 0 0 16 686 +687 687 688 686 0 0 16 687 +688 688 689 687 0 0 16 688 +689 689 690 688 0 0 16 689 +690 690 691 689 0 0 16 690 +691 691 692 690 0 0 16 691 +692 692 693 691 0 0 16 692 +693 693 694 692 0 0 16 693 +694 694 695 693 0 0 16 694 +695 695 696 694 0 0 16 695 +696 696 697 695 0 0 16 696 +697 697 698 696 0 0 16 697 +698 698 699 697 0 0 16 698 +699 699 700 698 0 0 16 699 +700 700 701 699 0 0 16 700 +701 701 702 700 0 0 16 701 +702 702 703 701 0 0 16 702 +703 703 704 702 0 0 16 703 +704 704 705 703 0 0 16 704 +705 705 706 704 0 0 16 705 +706 706 707 705 0 0 16 706 +707 707 708 706 0 0 16 707 +708 708 709 707 0 0 16 708 +709 709 710 708 0 0 16 709 +710 710 711 709 0 0 16 710 +711 711 712 710 0 0 16 711 +712 712 713 711 0 0 16 712 +713 713 714 712 0 0 16 713 +714 714 715 713 0 0 16 714 +715 715 716 714 0 0 16 715 +716 716 717 715 0 0 16 716 +717 717 718 716 0 0 16 717 +718 718 719 717 0 0 16 718 +719 719 720 718 0 0 16 719 +720 720 721 719 0 0 16 720 +721 721 722 720 0 0 16 721 +722 722 723 721 0 0 16 722 +723 723 724 722 0 0 16 723 +724 724 725 723 0 0 16 724 +725 725 726 724 0 0 16 725 +726 726 727 725 0 0 16 726 +727 727 728 726 0 0 16 727 +728 728 729 727 0 0 16 728 +729 729 730 728 0 0 16 729 +730 730 731 729 0 0 16 730 +731 731 732 730 0 0 16 731 +732 732 733 731 0 0 16 732 +733 733 734 732 0 0 16 733 +734 734 735 733 0 0 16 734 +735 735 736 734 0 0 16 735 +736 736 737 735 0 0 16 736 +737 737 738 736 0 0 16 737 +738 738 739 737 0 0 16 738 +739 739 740 738 0 0 16 739 +740 740 741 739 0 0 16 740 +741 741 742 740 0 0 16 741 +742 742 743 741 0 0 16 742 +743 743 744 742 0 0 16 743 +744 744 745 743 0 0 16 744 +745 745 746 744 0 0 16 745 +746 746 747 745 0 0 16 746 +747 747 748 746 0 0 16 747 +748 748 749 747 0 0 16 748 +749 749 750 748 0 0 16 749 +750 750 751 749 0 0 16 750 +751 751 752 750 0 0 16 751 +752 752 753 751 0 0 16 752 +753 753 754 752 0 0 16 753 +754 754 755 753 0 0 16 754 +755 755 756 754 0 0 16 755 +756 756 757 755 0 0 16 756 +757 757 758 756 0 0 16 757 +758 758 759 757 0 0 16 758 +759 759 760 758 0 0 16 759 +760 760 761 759 0 0 16 760 +761 761 762 760 0 0 16 761 +762 762 763 761 0 0 16 762 +763 763 764 762 0 0 16 763 +764 764 765 763 0 0 16 764 +765 765 766 764 0 0 16 765 +766 766 767 765 0 0 16 766 +767 767 768 766 0 0 16 767 +768 768 769 767 0 0 16 768 +769 769 770 768 0 0 16 769 +770 770 771 769 0 0 16 770 +771 771 772 770 0 0 16 771 +772 772 773 771 0 0 16 772 +773 773 774 772 0 0 16 773 +774 774 775 773 0 0 16 774 +775 775 776 774 0 0 16 775 +776 776 777 775 0 0 16 776 +777 777 778 776 0 0 16 777 +778 778 779 777 0 0 16 778 +779 779 780 778 0 0 16 779 +780 780 781 779 0 0 16 780 +781 781 782 780 0 0 16 781 +782 782 783 781 0 0 16 782 +783 783 784 782 0 0 16 783 +784 784 785 783 0 0 16 784 +785 785 786 784 0 0 16 785 +786 786 787 785 0 0 16 786 +787 787 788 786 0 0 16 787 +788 788 789 787 0 0 16 788 +789 789 790 788 0 0 16 789 +790 790 791 789 0 0 16 790 +791 791 792 790 0 0 16 791 +792 792 793 791 0 0 16 792 +793 793 794 792 0 0 16 793 +794 794 795 793 0 0 16 794 +795 795 796 794 0 0 16 795 +796 796 797 795 0 0 16 796 +797 797 798 796 0 0 16 797 +798 798 799 797 0 0 16 798 +799 799 800 798 0 0 16 799 +800 800 801 799 0 0 16 800 +801 801 802 800 0 0 16 801 +802 802 803 801 0 0 16 802 +803 803 804 802 0 0 16 803 +804 804 805 803 0 0 16 804 +805 805 806 804 0 0 16 805 +806 806 807 805 0 0 16 806 +807 807 808 806 0 0 16 807 +808 808 809 807 0 0 16 808 +809 809 810 808 0 0 16 809 +810 810 811 809 0 0 16 810 +811 811 812 810 0 0 16 811 +812 812 813 811 0 0 16 812 +813 813 814 812 0 0 16 813 +814 814 815 813 0 0 16 814 +815 815 816 814 0 0 16 815 +816 816 817 815 0 0 16 816 +817 817 818 816 0 0 16 817 +818 818 819 817 0 0 16 818 +819 819 820 818 0 0 16 819 +820 820 821 819 0 0 16 820 +821 821 822 820 0 0 16 821 +822 822 823 821 0 0 16 822 +823 823 824 822 0 0 16 823 +824 824 825 823 0 0 16 824 +825 825 826 824 0 0 16 825 +826 826 827 825 0 0 16 826 +827 827 828 826 0 0 16 827 +828 828 829 827 0 0 16 828 +829 829 830 828 0 0 16 829 +830 830 831 829 0 0 16 830 +831 831 832 830 0 0 16 831 +832 832 833 831 0 0 16 832 +833 833 834 832 0 0 16 833 +834 834 835 833 0 0 16 834 +835 835 836 834 0 0 16 835 +836 836 837 835 0 0 16 836 +837 837 838 836 0 0 16 837 +838 838 839 837 0 0 16 838 +839 839 840 838 0 0 16 839 +840 840 841 839 0 0 16 840 +841 841 842 840 0 0 16 841 +842 842 843 841 0 0 16 842 +843 843 844 842 0 0 16 843 +844 844 845 843 0 0 16 844 +845 845 846 844 0 0 16 845 +846 846 847 845 0 0 16 846 +847 847 848 846 0 0 16 847 +848 848 849 847 0 0 16 848 +849 849 850 848 0 0 16 849 +850 850 851 849 0 0 16 850 +851 851 852 850 0 0 16 851 +852 852 853 851 0 0 16 852 +853 853 854 852 0 0 16 853 +854 854 855 853 0 0 16 854 +855 855 856 854 0 0 16 855 +856 856 857 855 0 0 16 856 +857 857 858 856 0 0 16 857 +858 858 859 857 0 0 16 858 +859 859 860 858 0 0 16 859 +860 860 861 859 0 0 16 860 +861 861 862 860 0 0 16 861 +862 862 863 861 0 0 16 862 +863 863 864 862 0 0 16 863 +864 864 865 863 0 0 16 864 +865 865 866 864 0 0 16 865 +866 866 867 865 0 0 16 866 +867 867 868 866 0 0 16 867 +868 868 869 867 0 0 16 868 +869 869 870 868 0 0 16 869 +870 870 871 869 0 0 16 870 +871 871 872 870 0 0 16 871 +872 872 873 871 0 0 16 872 +873 873 874 872 0 0 16 873 +874 874 875 873 0 0 16 874 +875 875 876 874 0 0 16 875 +876 876 877 875 0 0 16 876 +877 877 878 876 0 0 16 877 +878 878 879 877 0 0 16 878 +879 879 880 878 0 0 16 879 +880 880 881 879 0 0 16 880 +881 881 882 880 0 0 16 881 +882 882 883 881 0 0 16 882 +883 883 884 882 0 0 16 883 +884 884 885 883 0 0 16 884 +885 885 886 884 0 0 16 885 +886 886 887 885 0 0 16 886 +887 887 888 886 0 0 16 887 +888 888 889 887 0 0 16 888 +889 889 890 888 0 0 16 889 +890 890 891 889 0 0 16 890 +891 891 892 890 0 0 16 891 +892 892 893 891 0 0 16 892 +893 893 894 892 0 0 16 893 +894 894 895 893 0 0 16 894 +895 895 896 894 0 0 16 895 +896 896 897 895 0 0 16 896 +897 897 898 896 0 0 16 897 +898 898 899 897 0 0 16 898 +899 899 900 898 0 0 16 899 +900 900 901 899 0 0 16 900 +901 901 902 900 0 0 16 901 +902 902 903 901 0 0 16 902 +903 903 904 902 0 0 16 903 +904 904 905 903 0 0 16 904 +905 905 906 904 0 0 16 905 +906 906 907 905 0 0 16 906 +907 907 908 906 0 0 16 907 +908 908 909 907 0 0 16 908 +909 909 910 908 0 0 16 909 +910 910 911 909 0 0 16 910 +911 911 912 910 0 0 16 911 +912 912 913 911 0 0 16 912 +913 913 914 912 0 0 16 913 +914 914 915 913 0 0 16 914 +915 915 916 914 0 0 16 915 +916 916 917 915 0 0 16 916 +917 917 918 916 0 0 16 917 +918 918 919 917 0 0 16 918 +919 919 920 918 0 0 16 919 +920 920 921 919 0 0 16 920 +921 921 922 920 0 0 16 921 +922 922 923 921 0 0 16 922 +923 923 924 922 0 0 16 923 +924 924 925 923 0 0 16 924 +925 925 926 924 0 0 16 925 +926 926 927 925 0 0 16 926 +927 927 928 926 0 0 16 927 +928 928 929 927 0 0 16 928 +929 929 930 928 0 0 16 929 +930 930 931 929 0 0 16 930 +931 931 932 930 0 0 16 931 +932 932 933 931 0 0 16 932 +933 933 934 932 0 0 16 933 +934 934 935 933 0 0 16 934 +935 935 936 934 0 0 16 935 +936 936 937 935 0 0 16 936 +937 937 938 936 0 0 16 937 +938 938 939 937 0 0 16 938 +939 939 940 938 0 0 16 939 +940 940 941 939 0 0 16 940 +941 941 942 940 0 0 16 941 +942 942 943 941 0 0 16 942 +943 943 944 942 0 0 16 943 +944 944 945 943 0 0 16 944 +945 945 946 944 0 0 16 945 +946 946 947 945 0 0 16 946 +947 947 948 946 0 0 16 947 +948 948 949 947 0 0 16 948 +949 949 950 948 0 0 16 949 +950 950 951 949 0 0 16 950 +951 951 952 950 0 0 16 951 +952 952 953 951 0 0 16 952 +953 953 954 952 0 0 16 953 +954 954 955 953 0 0 16 954 +955 955 956 954 0 0 16 955 +956 956 957 955 0 0 16 956 +957 957 958 956 0 0 16 957 +958 958 959 957 0 0 16 958 +959 959 960 958 0 0 16 959 +960 960 961 959 0 0 16 960 +961 961 962 960 0 0 16 961 +962 962 963 961 0 0 16 962 +963 963 964 962 0 0 16 963 +964 964 965 963 0 0 16 964 +965 965 966 964 0 0 16 965 +966 966 967 965 0 0 16 966 +967 967 968 966 0 0 16 967 +968 968 969 967 0 0 16 968 +969 969 970 968 0 0 16 969 +970 970 971 969 0 0 16 970 +971 971 972 970 0 0 16 971 +972 972 973 971 0 0 16 972 +973 973 974 972 0 0 16 973 +974 974 975 973 0 0 16 974 +975 975 976 974 0 0 16 975 +976 976 977 975 0 0 16 976 +977 977 978 976 0 0 16 977 +978 978 979 977 0 0 16 978 +979 979 980 978 0 0 16 979 +980 980 981 979 0 0 16 980 +981 981 982 980 0 0 16 981 +982 982 983 981 0 0 16 982 +983 983 984 982 0 0 16 983 +984 984 985 983 0 0 16 984 +985 985 986 984 0 0 16 985 +986 986 987 985 0 0 16 986 +987 987 988 986 0 0 16 987 +988 988 989 987 0 0 16 988 +989 989 990 988 0 0 16 989 +990 990 991 989 0 0 16 990 +991 991 992 990 0 0 16 991 +992 992 993 991 0 0 16 992 +993 993 994 992 0 0 16 993 +994 994 995 993 0 0 16 994 +995 995 996 994 0 0 16 995 +996 996 997 995 0 0 16 996 +997 997 998 996 0 0 16 997 +998 998 999 997 0 0 16 998 +999 999 1000 998 0 0 16 999 +1000 1000 1001 999 0 0 16 1000 +1001 1001 1002 1000 0 0 16 1001 +1002 1002 1003 1001 0 0 16 1002 +1003 1003 1004 1002 0 0 16 1003 +1004 1004 1005 1003 0 0 16 1004 +1005 1005 1006 1004 0 0 16 1005 +1006 1006 1007 1005 0 0 16 1006 +1007 1007 1008 1006 0 0 16 1007 +1008 1008 1009 1007 0 0 16 1008 +1009 1009 1010 1008 0 0 16 1009 +1010 1010 1011 1009 0 0 16 1010 +1011 1011 1012 1010 0 0 16 1011 +1012 1012 1013 1011 0 0 16 1012 +1013 1013 1014 1012 0 0 16 1013 +1014 1014 1015 1013 0 0 16 1014 +1015 1015 1016 1014 0 0 16 1015 +1016 1016 1017 1015 0 0 16 1016 +1017 1017 1018 1016 0 0 16 1017 +1018 1018 1019 1017 0 0 16 1018 +1019 1019 1020 1018 0 0 16 1019 +1020 1020 1021 1019 0 0 16 1020 +1021 1021 1022 1020 0 0 16 1021 +1022 1022 1023 1021 0 0 16 1022 +1023 1023 -1 1022 0 0 16 1023 +====================================================== +=== [Queue after-refilling-0] Next: 1 First: 1 Last: 0 +# seq next prev timeout retrans type cbp +0 0 -1 1023 0 0 16 0 +1 1 2 -1 0 0 16 1 +2 2 3 1 0 0 16 2 +3 3 4 2 0 0 16 3 +4 4 5 3 0 0 16 4 +5 5 6 4 0 0 16 5 +6 6 7 5 0 0 16 6 +7 7 8 6 0 0 16 7 +8 8 9 7 0 0 16 8 +9 9 10 8 0 0 16 9 +10 10 11 9 0 0 16 10 +11 11 12 10 0 0 16 11 +12 12 13 11 0 0 16 12 +13 13 14 12 0 0 16 13 +14 14 15 13 0 0 16 14 +15 15 16 14 0 0 16 15 +16 16 17 15 0 0 16 16 +17 17 18 16 0 0 16 17 +18 18 19 17 0 0 16 18 +19 19 20 18 0 0 16 19 +20 20 21 19 0 0 16 20 +21 21 22 20 0 0 16 21 +22 22 23 21 0 0 16 22 +23 23 24 22 0 0 16 23 +24 24 25 23 0 0 16 24 +25 25 26 24 0 0 16 25 +26 26 27 25 0 0 16 26 +27 27 28 26 0 0 16 27 +28 28 29 27 0 0 16 28 +29 29 30 28 0 0 16 29 +30 30 31 29 0 0 16 30 +31 31 32 30 0 0 16 31 +32 32 33 31 0 0 16 32 +33 33 34 32 0 0 16 33 +34 34 35 33 0 0 16 34 +35 35 36 34 0 0 16 35 +36 36 37 35 0 0 16 36 +37 37 38 36 0 0 16 37 +38 38 39 37 0 0 16 38 +39 39 40 38 0 0 16 39 +40 40 41 39 0 0 16 40 +41 41 42 40 0 0 16 41 +42 42 43 41 0 0 16 42 +43 43 44 42 0 0 16 43 +44 44 45 43 0 0 16 44 +45 45 46 44 0 0 16 45 +46 46 47 45 0 0 16 46 +47 47 48 46 0 0 16 47 +48 48 49 47 0 0 16 48 +49 49 50 48 0 0 16 49 +50 50 51 49 0 0 16 50 +51 51 52 50 0 0 16 51 +52 52 53 51 0 0 16 52 +53 53 54 52 0 0 16 53 +54 54 55 53 0 0 16 54 +55 55 56 54 0 0 16 55 +56 56 57 55 0 0 16 56 +57 57 58 56 0 0 16 57 +58 58 59 57 0 0 16 58 +59 59 60 58 0 0 16 59 +60 60 61 59 0 0 16 60 +61 61 62 60 0 0 16 61 +62 62 63 61 0 0 16 62 +63 63 64 62 0 0 16 63 +64 64 65 63 0 0 16 64 +65 65 66 64 0 0 16 65 +66 66 67 65 0 0 16 66 +67 67 68 66 0 0 16 67 +68 68 69 67 0 0 16 68 +69 69 70 68 0 0 16 69 +70 70 71 69 0 0 16 70 +71 71 72 70 0 0 16 71 +72 72 73 71 0 0 16 72 +73 73 74 72 0 0 16 73 +74 74 75 73 0 0 16 74 +75 75 76 74 0 0 16 75 +76 76 77 75 0 0 16 76 +77 77 78 76 0 0 16 77 +78 78 79 77 0 0 16 78 +79 79 80 78 0 0 16 79 +80 80 81 79 0 0 16 80 +81 81 82 80 0 0 16 81 +82 82 83 81 0 0 16 82 +83 83 84 82 0 0 16 83 +84 84 85 83 0 0 16 84 +85 85 86 84 0 0 16 85 +86 86 87 85 0 0 16 86 +87 87 88 86 0 0 16 87 +88 88 89 87 0 0 16 88 +89 89 90 88 0 0 16 89 +90 90 91 89 0 0 16 90 +91 91 92 90 0 0 16 91 +92 92 93 91 0 0 16 92 +93 93 94 92 0 0 16 93 +94 94 95 93 0 0 16 94 +95 95 96 94 0 0 16 95 +96 96 97 95 0 0 16 96 +97 97 98 96 0 0 16 97 +98 98 99 97 0 0 16 98 +99 99 100 98 0 0 16 99 +100 100 101 99 0 0 16 100 +101 101 102 100 0 0 16 101 +102 102 103 101 0 0 16 102 +103 103 104 102 0 0 16 103 +104 104 105 103 0 0 16 104 +105 105 106 104 0 0 16 105 +106 106 107 105 0 0 16 106 +107 107 108 106 0 0 16 107 +108 108 109 107 0 0 16 108 +109 109 110 108 0 0 16 109 +110 110 111 109 0 0 16 110 +111 111 112 110 0 0 16 111 +112 112 113 111 0 0 16 112 +113 113 114 112 0 0 16 113 +114 114 115 113 0 0 16 114 +115 115 116 114 0 0 16 115 +116 116 117 115 0 0 16 116 +117 117 118 116 0 0 16 117 +118 118 119 117 0 0 16 118 +119 119 120 118 0 0 16 119 +120 120 121 119 0 0 16 120 +121 121 122 120 0 0 16 121 +122 122 123 121 0 0 16 122 +123 123 124 122 0 0 16 123 +124 124 125 123 0 0 16 124 +125 125 126 124 0 0 16 125 +126 126 127 125 0 0 16 126 +127 127 128 126 0 0 16 127 +128 128 129 127 0 0 16 128 +129 129 130 128 0 0 16 129 +130 130 131 129 0 0 16 130 +131 131 132 130 0 0 16 131 +132 132 133 131 0 0 16 132 +133 133 134 132 0 0 16 133 +134 134 135 133 0 0 16 134 +135 135 136 134 0 0 16 135 +136 136 137 135 0 0 16 136 +137 137 138 136 0 0 16 137 +138 138 139 137 0 0 16 138 +139 139 140 138 0 0 16 139 +140 140 141 139 0 0 16 140 +141 141 142 140 0 0 16 141 +142 142 143 141 0 0 16 142 +143 143 144 142 0 0 16 143 +144 144 145 143 0 0 16 144 +145 145 146 144 0 0 16 145 +146 146 147 145 0 0 16 146 +147 147 148 146 0 0 16 147 +148 148 149 147 0 0 16 148 +149 149 150 148 0 0 16 149 +150 150 151 149 0 0 16 150 +151 151 152 150 0 0 16 151 +152 152 153 151 0 0 16 152 +153 153 154 152 0 0 16 153 +154 154 155 153 0 0 16 154 +155 155 156 154 0 0 16 155 +156 156 157 155 0 0 16 156 +157 157 158 156 0 0 16 157 +158 158 159 157 0 0 16 158 +159 159 160 158 0 0 16 159 +160 160 161 159 0 0 16 160 +161 161 162 160 0 0 16 161 +162 162 163 161 0 0 16 162 +163 163 164 162 0 0 16 163 +164 164 165 163 0 0 16 164 +165 165 166 164 0 0 16 165 +166 166 167 165 0 0 16 166 +167 167 168 166 0 0 16 167 +168 168 169 167 0 0 16 168 +169 169 170 168 0 0 16 169 +170 170 171 169 0 0 16 170 +171 171 172 170 0 0 16 171 +172 172 173 171 0 0 16 172 +173 173 174 172 0 0 16 173 +174 174 175 173 0 0 16 174 +175 175 176 174 0 0 16 175 +176 176 177 175 0 0 16 176 +177 177 178 176 0 0 16 177 +178 178 179 177 0 0 16 178 +179 179 180 178 0 0 16 179 +180 180 181 179 0 0 16 180 +181 181 182 180 0 0 16 181 +182 182 183 181 0 0 16 182 +183 183 184 182 0 0 16 183 +184 184 185 183 0 0 16 184 +185 185 186 184 0 0 16 185 +186 186 187 185 0 0 16 186 +187 187 188 186 0 0 16 187 +188 188 189 187 0 0 16 188 +189 189 190 188 0 0 16 189 +190 190 191 189 0 0 16 190 +191 191 192 190 0 0 16 191 +192 192 193 191 0 0 16 192 +193 193 194 192 0 0 16 193 +194 194 195 193 0 0 16 194 +195 195 196 194 0 0 16 195 +196 196 197 195 0 0 16 196 +197 197 198 196 0 0 16 197 +198 198 199 197 0 0 16 198 +199 199 200 198 0 0 16 199 +200 200 201 199 0 0 16 200 +201 201 202 200 0 0 16 201 +202 202 203 201 0 0 16 202 +203 203 204 202 0 0 16 203 +204 204 205 203 0 0 16 204 +205 205 206 204 0 0 16 205 +206 206 207 205 0 0 16 206 +207 207 208 206 0 0 16 207 +208 208 209 207 0 0 16 208 +209 209 210 208 0 0 16 209 +210 210 211 209 0 0 16 210 +211 211 212 210 0 0 16 211 +212 212 213 211 0 0 16 212 +213 213 214 212 0 0 16 213 +214 214 215 213 0 0 16 214 +215 215 216 214 0 0 16 215 +216 216 217 215 0 0 16 216 +217 217 218 216 0 0 16 217 +218 218 219 217 0 0 16 218 +219 219 220 218 0 0 16 219 +220 220 221 219 0 0 16 220 +221 221 222 220 0 0 16 221 +222 222 223 221 0 0 16 222 +223 223 224 222 0 0 16 223 +224 224 225 223 0 0 16 224 +225 225 226 224 0 0 16 225 +226 226 227 225 0 0 16 226 +227 227 228 226 0 0 16 227 +228 228 229 227 0 0 16 228 +229 229 230 228 0 0 16 229 +230 230 231 229 0 0 16 230 +231 231 232 230 0 0 16 231 +232 232 233 231 0 0 16 232 +233 233 234 232 0 0 16 233 +234 234 235 233 0 0 16 234 +235 235 236 234 0 0 16 235 +236 236 237 235 0 0 16 236 +237 237 238 236 0 0 16 237 +238 238 239 237 0 0 16 238 +239 239 240 238 0 0 16 239 +240 240 241 239 0 0 16 240 +241 241 242 240 0 0 16 241 +242 242 243 241 0 0 16 242 +243 243 244 242 0 0 16 243 +244 244 245 243 0 0 16 244 +245 245 246 244 0 0 16 245 +246 246 247 245 0 0 16 246 +247 247 248 246 0 0 16 247 +248 248 249 247 0 0 16 248 +249 249 250 248 0 0 16 249 +250 250 251 249 0 0 16 250 +251 251 252 250 0 0 16 251 +252 252 253 251 0 0 16 252 +253 253 254 252 0 0 16 253 +254 254 255 253 0 0 16 254 +255 255 256 254 0 0 16 255 +256 256 257 255 0 0 16 256 +257 257 258 256 0 0 16 257 +258 258 259 257 0 0 16 258 +259 259 260 258 0 0 16 259 +260 260 261 259 0 0 16 260 +261 261 262 260 0 0 16 261 +262 262 263 261 0 0 16 262 +263 263 264 262 0 0 16 263 +264 264 265 263 0 0 16 264 +265 265 266 264 0 0 16 265 +266 266 267 265 0 0 16 266 +267 267 268 266 0 0 16 267 +268 268 269 267 0 0 16 268 +269 269 270 268 0 0 16 269 +270 270 271 269 0 0 16 270 +271 271 272 270 0 0 16 271 +272 272 273 271 0 0 16 272 +273 273 274 272 0 0 16 273 +274 274 275 273 0 0 16 274 +275 275 276 274 0 0 16 275 +276 276 277 275 0 0 16 276 +277 277 278 276 0 0 16 277 +278 278 279 277 0 0 16 278 +279 279 280 278 0 0 16 279 +280 280 281 279 0 0 16 280 +281 281 282 280 0 0 16 281 +282 282 283 281 0 0 16 282 +283 283 284 282 0 0 16 283 +284 284 285 283 0 0 16 284 +285 285 286 284 0 0 16 285 +286 286 287 285 0 0 16 286 +287 287 288 286 0 0 16 287 +288 288 289 287 0 0 16 288 +289 289 290 288 0 0 16 289 +290 290 291 289 0 0 16 290 +291 291 292 290 0 0 16 291 +292 292 293 291 0 0 16 292 +293 293 294 292 0 0 16 293 +294 294 295 293 0 0 16 294 +295 295 296 294 0 0 16 295 +296 296 297 295 0 0 16 296 +297 297 298 296 0 0 16 297 +298 298 299 297 0 0 16 298 +299 299 300 298 0 0 16 299 +300 300 301 299 0 0 16 300 +301 301 302 300 0 0 16 301 +302 302 303 301 0 0 16 302 +303 303 304 302 0 0 16 303 +304 304 305 303 0 0 16 304 +305 305 306 304 0 0 16 305 +306 306 307 305 0 0 16 306 +307 307 308 306 0 0 16 307 +308 308 309 307 0 0 16 308 +309 309 310 308 0 0 16 309 +310 310 311 309 0 0 16 310 +311 311 312 310 0 0 16 311 +312 312 313 311 0 0 16 312 +313 313 314 312 0 0 16 313 +314 314 315 313 0 0 16 314 +315 315 316 314 0 0 16 315 +316 316 317 315 0 0 16 316 +317 317 318 316 0 0 16 317 +318 318 319 317 0 0 16 318 +319 319 320 318 0 0 16 319 +320 320 321 319 0 0 16 320 +321 321 322 320 0 0 16 321 +322 322 323 321 0 0 16 322 +323 323 324 322 0 0 16 323 +324 324 325 323 0 0 16 324 +325 325 326 324 0 0 16 325 +326 326 327 325 0 0 16 326 +327 327 328 326 0 0 16 327 +328 328 329 327 0 0 16 328 +329 329 330 328 0 0 16 329 +330 330 331 329 0 0 16 330 +331 331 332 330 0 0 16 331 +332 332 333 331 0 0 16 332 +333 333 334 332 0 0 16 333 +334 334 335 333 0 0 16 334 +335 335 336 334 0 0 16 335 +336 336 337 335 0 0 16 336 +337 337 338 336 0 0 16 337 +338 338 339 337 0 0 16 338 +339 339 340 338 0 0 16 339 +340 340 341 339 0 0 16 340 +341 341 342 340 0 0 16 341 +342 342 343 341 0 0 16 342 +343 343 344 342 0 0 16 343 +344 344 345 343 0 0 16 344 +345 345 346 344 0 0 16 345 +346 346 347 345 0 0 16 346 +347 347 348 346 0 0 16 347 +348 348 349 347 0 0 16 348 +349 349 350 348 0 0 16 349 +350 350 351 349 0 0 16 350 +351 351 352 350 0 0 16 351 +352 352 353 351 0 0 16 352 +353 353 354 352 0 0 16 353 +354 354 355 353 0 0 16 354 +355 355 356 354 0 0 16 355 +356 356 357 355 0 0 16 356 +357 357 358 356 0 0 16 357 +358 358 359 357 0 0 16 358 +359 359 360 358 0 0 16 359 +360 360 361 359 0 0 16 360 +361 361 362 360 0 0 16 361 +362 362 363 361 0 0 16 362 +363 363 364 362 0 0 16 363 +364 364 365 363 0 0 16 364 +365 365 366 364 0 0 16 365 +366 366 367 365 0 0 16 366 +367 367 368 366 0 0 16 367 +368 368 369 367 0 0 16 368 +369 369 370 368 0 0 16 369 +370 370 371 369 0 0 16 370 +371 371 372 370 0 0 16 371 +372 372 373 371 0 0 16 372 +373 373 374 372 0 0 16 373 +374 374 375 373 0 0 16 374 +375 375 376 374 0 0 16 375 +376 376 377 375 0 0 16 376 +377 377 378 376 0 0 16 377 +378 378 379 377 0 0 16 378 +379 379 380 378 0 0 16 379 +380 380 381 379 0 0 16 380 +381 381 382 380 0 0 16 381 +382 382 383 381 0 0 16 382 +383 383 384 382 0 0 16 383 +384 384 385 383 0 0 16 384 +385 385 386 384 0 0 16 385 +386 386 387 385 0 0 16 386 +387 387 388 386 0 0 16 387 +388 388 389 387 0 0 16 388 +389 389 390 388 0 0 16 389 +390 390 391 389 0 0 16 390 +391 391 392 390 0 0 16 391 +392 392 393 391 0 0 16 392 +393 393 394 392 0 0 16 393 +394 394 395 393 0 0 16 394 +395 395 396 394 0 0 16 395 +396 396 397 395 0 0 16 396 +397 397 398 396 0 0 16 397 +398 398 399 397 0 0 16 398 +399 399 400 398 0 0 16 399 +400 400 401 399 0 0 16 400 +401 401 402 400 0 0 16 401 +402 402 403 401 0 0 16 402 +403 403 404 402 0 0 16 403 +404 404 405 403 0 0 16 404 +405 405 406 404 0 0 16 405 +406 406 407 405 0 0 16 406 +407 407 408 406 0 0 16 407 +408 408 409 407 0 0 16 408 +409 409 410 408 0 0 16 409 +410 410 411 409 0 0 16 410 +411 411 412 410 0 0 16 411 +412 412 413 411 0 0 16 412 +413 413 414 412 0 0 16 413 +414 414 415 413 0 0 16 414 +415 415 416 414 0 0 16 415 +416 416 417 415 0 0 16 416 +417 417 418 416 0 0 16 417 +418 418 419 417 0 0 16 418 +419 419 420 418 0 0 16 419 +420 420 421 419 0 0 16 420 +421 421 422 420 0 0 16 421 +422 422 423 421 0 0 16 422 +423 423 424 422 0 0 16 423 +424 424 425 423 0 0 16 424 +425 425 426 424 0 0 16 425 +426 426 427 425 0 0 16 426 +427 427 428 426 0 0 16 427 +428 428 429 427 0 0 16 428 +429 429 430 428 0 0 16 429 +430 430 431 429 0 0 16 430 +431 431 432 430 0 0 16 431 +432 432 433 431 0 0 16 432 +433 433 434 432 0 0 16 433 +434 434 435 433 0 0 16 434 +435 435 436 434 0 0 16 435 +436 436 437 435 0 0 16 436 +437 437 438 436 0 0 16 437 +438 438 439 437 0 0 16 438 +439 439 440 438 0 0 16 439 +440 440 441 439 0 0 16 440 +441 441 442 440 0 0 16 441 +442 442 443 441 0 0 16 442 +443 443 444 442 0 0 16 443 +444 444 445 443 0 0 16 444 +445 445 446 444 0 0 16 445 +446 446 447 445 0 0 16 446 +447 447 448 446 0 0 16 447 +448 448 449 447 0 0 16 448 +449 449 450 448 0 0 16 449 +450 450 451 449 0 0 16 450 +451 451 452 450 0 0 16 451 +452 452 453 451 0 0 16 452 +453 453 454 452 0 0 16 453 +454 454 455 453 0 0 16 454 +455 455 456 454 0 0 16 455 +456 456 457 455 0 0 16 456 +457 457 458 456 0 0 16 457 +458 458 459 457 0 0 16 458 +459 459 460 458 0 0 16 459 +460 460 461 459 0 0 16 460 +461 461 462 460 0 0 16 461 +462 462 463 461 0 0 16 462 +463 463 464 462 0 0 16 463 +464 464 465 463 0 0 16 464 +465 465 466 464 0 0 16 465 +466 466 467 465 0 0 16 466 +467 467 468 466 0 0 16 467 +468 468 469 467 0 0 16 468 +469 469 470 468 0 0 16 469 +470 470 471 469 0 0 16 470 +471 471 472 470 0 0 16 471 +472 472 473 471 0 0 16 472 +473 473 474 472 0 0 16 473 +474 474 475 473 0 0 16 474 +475 475 476 474 0 0 16 475 +476 476 477 475 0 0 16 476 +477 477 478 476 0 0 16 477 +478 478 479 477 0 0 16 478 +479 479 480 478 0 0 16 479 +480 480 481 479 0 0 16 480 +481 481 482 480 0 0 16 481 +482 482 483 481 0 0 16 482 +483 483 484 482 0 0 16 483 +484 484 485 483 0 0 16 484 +485 485 486 484 0 0 16 485 +486 486 487 485 0 0 16 486 +487 487 488 486 0 0 16 487 +488 488 489 487 0 0 16 488 +489 489 490 488 0 0 16 489 +490 490 491 489 0 0 16 490 +491 491 492 490 0 0 16 491 +492 492 493 491 0 0 16 492 +493 493 494 492 0 0 16 493 +494 494 495 493 0 0 16 494 +495 495 496 494 0 0 16 495 +496 496 497 495 0 0 16 496 +497 497 498 496 0 0 16 497 +498 498 499 497 0 0 16 498 +499 499 500 498 0 0 16 499 +500 500 501 499 0 0 16 500 +501 501 502 500 0 0 16 501 +502 502 503 501 0 0 16 502 +503 503 504 502 0 0 16 503 +504 504 505 503 0 0 16 504 +505 505 506 504 0 0 16 505 +506 506 507 505 0 0 16 506 +507 507 508 506 0 0 16 507 +508 508 509 507 0 0 16 508 +509 509 510 508 0 0 16 509 +510 510 511 509 0 0 16 510 +511 511 512 510 0 0 16 511 +512 512 513 511 0 0 16 512 +513 513 514 512 0 0 16 513 +514 514 515 513 0 0 16 514 +515 515 516 514 0 0 16 515 +516 516 517 515 0 0 16 516 +517 517 518 516 0 0 16 517 +518 518 519 517 0 0 16 518 +519 519 520 518 0 0 16 519 +520 520 521 519 0 0 16 520 +521 521 522 520 0 0 16 521 +522 522 523 521 0 0 16 522 +523 523 524 522 0 0 16 523 +524 524 525 523 0 0 16 524 +525 525 526 524 0 0 16 525 +526 526 527 525 0 0 16 526 +527 527 528 526 0 0 16 527 +528 528 529 527 0 0 16 528 +529 529 530 528 0 0 16 529 +530 530 531 529 0 0 16 530 +531 531 532 530 0 0 16 531 +532 532 533 531 0 0 16 532 +533 533 534 532 0 0 16 533 +534 534 535 533 0 0 16 534 +535 535 536 534 0 0 16 535 +536 536 537 535 0 0 16 536 +537 537 538 536 0 0 16 537 +538 538 539 537 0 0 16 538 +539 539 540 538 0 0 16 539 +540 540 541 539 0 0 16 540 +541 541 542 540 0 0 16 541 +542 542 543 541 0 0 16 542 +543 543 544 542 0 0 16 543 +544 544 545 543 0 0 16 544 +545 545 546 544 0 0 16 545 +546 546 547 545 0 0 16 546 +547 547 548 546 0 0 16 547 +548 548 549 547 0 0 16 548 +549 549 550 548 0 0 16 549 +550 550 551 549 0 0 16 550 +551 551 552 550 0 0 16 551 +552 552 553 551 0 0 16 552 +553 553 554 552 0 0 16 553 +554 554 555 553 0 0 16 554 +555 555 556 554 0 0 16 555 +556 556 557 555 0 0 16 556 +557 557 558 556 0 0 16 557 +558 558 559 557 0 0 16 558 +559 559 560 558 0 0 16 559 +560 560 561 559 0 0 16 560 +561 561 562 560 0 0 16 561 +562 562 563 561 0 0 16 562 +563 563 564 562 0 0 16 563 +564 564 565 563 0 0 16 564 +565 565 566 564 0 0 16 565 +566 566 567 565 0 0 16 566 +567 567 568 566 0 0 16 567 +568 568 569 567 0 0 16 568 +569 569 570 568 0 0 16 569 +570 570 571 569 0 0 16 570 +571 571 572 570 0 0 16 571 +572 572 573 571 0 0 16 572 +573 573 574 572 0 0 16 573 +574 574 575 573 0 0 16 574 +575 575 576 574 0 0 16 575 +576 576 577 575 0 0 16 576 +577 577 578 576 0 0 16 577 +578 578 579 577 0 0 16 578 +579 579 580 578 0 0 16 579 +580 580 581 579 0 0 16 580 +581 581 582 580 0 0 16 581 +582 582 583 581 0 0 16 582 +583 583 584 582 0 0 16 583 +584 584 585 583 0 0 16 584 +585 585 586 584 0 0 16 585 +586 586 587 585 0 0 16 586 +587 587 588 586 0 0 16 587 +588 588 589 587 0 0 16 588 +589 589 590 588 0 0 16 589 +590 590 591 589 0 0 16 590 +591 591 592 590 0 0 16 591 +592 592 593 591 0 0 16 592 +593 593 594 592 0 0 16 593 +594 594 595 593 0 0 16 594 +595 595 596 594 0 0 16 595 +596 596 597 595 0 0 16 596 +597 597 598 596 0 0 16 597 +598 598 599 597 0 0 16 598 +599 599 600 598 0 0 16 599 +600 600 601 599 0 0 16 600 +601 601 602 600 0 0 16 601 +602 602 603 601 0 0 16 602 +603 603 604 602 0 0 16 603 +604 604 605 603 0 0 16 604 +605 605 606 604 0 0 16 605 +606 606 607 605 0 0 16 606 +607 607 608 606 0 0 16 607 +608 608 609 607 0 0 16 608 +609 609 610 608 0 0 16 609 +610 610 611 609 0 0 16 610 +611 611 612 610 0 0 16 611 +612 612 613 611 0 0 16 612 +613 613 614 612 0 0 16 613 +614 614 615 613 0 0 16 614 +615 615 616 614 0 0 16 615 +616 616 617 615 0 0 16 616 +617 617 618 616 0 0 16 617 +618 618 619 617 0 0 16 618 +619 619 620 618 0 0 16 619 +620 620 621 619 0 0 16 620 +621 621 622 620 0 0 16 621 +622 622 623 621 0 0 16 622 +623 623 624 622 0 0 16 623 +624 624 625 623 0 0 16 624 +625 625 626 624 0 0 16 625 +626 626 627 625 0 0 16 626 +627 627 628 626 0 0 16 627 +628 628 629 627 0 0 16 628 +629 629 630 628 0 0 16 629 +630 630 631 629 0 0 16 630 +631 631 632 630 0 0 16 631 +632 632 633 631 0 0 16 632 +633 633 634 632 0 0 16 633 +634 634 635 633 0 0 16 634 +635 635 636 634 0 0 16 635 +636 636 637 635 0 0 16 636 +637 637 638 636 0 0 16 637 +638 638 639 637 0 0 16 638 +639 639 640 638 0 0 16 639 +640 640 641 639 0 0 16 640 +641 641 642 640 0 0 16 641 +642 642 643 641 0 0 16 642 +643 643 644 642 0 0 16 643 +644 644 645 643 0 0 16 644 +645 645 646 644 0 0 16 645 +646 646 647 645 0 0 16 646 +647 647 648 646 0 0 16 647 +648 648 649 647 0 0 16 648 +649 649 650 648 0 0 16 649 +650 650 651 649 0 0 16 650 +651 651 652 650 0 0 16 651 +652 652 653 651 0 0 16 652 +653 653 654 652 0 0 16 653 +654 654 655 653 0 0 16 654 +655 655 656 654 0 0 16 655 +656 656 657 655 0 0 16 656 +657 657 658 656 0 0 16 657 +658 658 659 657 0 0 16 658 +659 659 660 658 0 0 16 659 +660 660 661 659 0 0 16 660 +661 661 662 660 0 0 16 661 +662 662 663 661 0 0 16 662 +663 663 664 662 0 0 16 663 +664 664 665 663 0 0 16 664 +665 665 666 664 0 0 16 665 +666 666 667 665 0 0 16 666 +667 667 668 666 0 0 16 667 +668 668 669 667 0 0 16 668 +669 669 670 668 0 0 16 669 +670 670 671 669 0 0 16 670 +671 671 672 670 0 0 16 671 +672 672 673 671 0 0 16 672 +673 673 674 672 0 0 16 673 +674 674 675 673 0 0 16 674 +675 675 676 674 0 0 16 675 +676 676 677 675 0 0 16 676 +677 677 678 676 0 0 16 677 +678 678 679 677 0 0 16 678 +679 679 680 678 0 0 16 679 +680 680 681 679 0 0 16 680 +681 681 682 680 0 0 16 681 +682 682 683 681 0 0 16 682 +683 683 684 682 0 0 16 683 +684 684 685 683 0 0 16 684 +685 685 686 684 0 0 16 685 +686 686 687 685 0 0 16 686 +687 687 688 686 0 0 16 687 +688 688 689 687 0 0 16 688 +689 689 690 688 0 0 16 689 +690 690 691 689 0 0 16 690 +691 691 692 690 0 0 16 691 +692 692 693 691 0 0 16 692 +693 693 694 692 0 0 16 693 +694 694 695 693 0 0 16 694 +695 695 696 694 0 0 16 695 +696 696 697 695 0 0 16 696 +697 697 698 696 0 0 16 697 +698 698 699 697 0 0 16 698 +699 699 700 698 0 0 16 699 +700 700 701 699 0 0 16 700 +701 701 702 700 0 0 16 701 +702 702 703 701 0 0 16 702 +703 703 704 702 0 0 16 703 +704 704 705 703 0 0 16 704 +705 705 706 704 0 0 16 705 +706 706 707 705 0 0 16 706 +707 707 708 706 0 0 16 707 +708 708 709 707 0 0 16 708 +709 709 710 708 0 0 16 709 +710 710 711 709 0 0 16 710 +711 711 712 710 0 0 16 711 +712 712 713 711 0 0 16 712 +713 713 714 712 0 0 16 713 +714 714 715 713 0 0 16 714 +715 715 716 714 0 0 16 715 +716 716 717 715 0 0 16 716 +717 717 718 716 0 0 16 717 +718 718 719 717 0 0 16 718 +719 719 720 718 0 0 16 719 +720 720 721 719 0 0 16 720 +721 721 722 720 0 0 16 721 +722 722 723 721 0 0 16 722 +723 723 724 722 0 0 16 723 +724 724 725 723 0 0 16 724 +725 725 726 724 0 0 16 725 +726 726 727 725 0 0 16 726 +727 727 728 726 0 0 16 727 +728 728 729 727 0 0 16 728 +729 729 730 728 0 0 16 729 +730 730 731 729 0 0 16 730 +731 731 732 730 0 0 16 731 +732 732 733 731 0 0 16 732 +733 733 734 732 0 0 16 733 +734 734 735 733 0 0 16 734 +735 735 736 734 0 0 16 735 +736 736 737 735 0 0 16 736 +737 737 738 736 0 0 16 737 +738 738 739 737 0 0 16 738 +739 739 740 738 0 0 16 739 +740 740 741 739 0 0 16 740 +741 741 742 740 0 0 16 741 +742 742 743 741 0 0 16 742 +743 743 744 742 0 0 16 743 +744 744 745 743 0 0 16 744 +745 745 746 744 0 0 16 745 +746 746 747 745 0 0 16 746 +747 747 748 746 0 0 16 747 +748 748 749 747 0 0 16 748 +749 749 750 748 0 0 16 749 +750 750 751 749 0 0 16 750 +751 751 752 750 0 0 16 751 +752 752 753 751 0 0 16 752 +753 753 754 752 0 0 16 753 +754 754 755 753 0 0 16 754 +755 755 756 754 0 0 16 755 +756 756 757 755 0 0 16 756 +757 757 758 756 0 0 16 757 +758 758 759 757 0 0 16 758 +759 759 760 758 0 0 16 759 +760 760 761 759 0 0 16 760 +761 761 762 760 0 0 16 761 +762 762 763 761 0 0 16 762 +763 763 764 762 0 0 16 763 +764 764 765 763 0 0 16 764 +765 765 766 764 0 0 16 765 +766 766 767 765 0 0 16 766 +767 767 768 766 0 0 16 767 +768 768 769 767 0 0 16 768 +769 769 770 768 0 0 16 769 +770 770 771 769 0 0 16 770 +771 771 772 770 0 0 16 771 +772 772 773 771 0 0 16 772 +773 773 774 772 0 0 16 773 +774 774 775 773 0 0 16 774 +775 775 776 774 0 0 16 775 +776 776 777 775 0 0 16 776 +777 777 778 776 0 0 16 777 +778 778 779 777 0 0 16 778 +779 779 780 778 0 0 16 779 +780 780 781 779 0 0 16 780 +781 781 782 780 0 0 16 781 +782 782 783 781 0 0 16 782 +783 783 784 782 0 0 16 783 +784 784 785 783 0 0 16 784 +785 785 786 784 0 0 16 785 +786 786 787 785 0 0 16 786 +787 787 788 786 0 0 16 787 +788 788 789 787 0 0 16 788 +789 789 790 788 0 0 16 789 +790 790 791 789 0 0 16 790 +791 791 792 790 0 0 16 791 +792 792 793 791 0 0 16 792 +793 793 794 792 0 0 16 793 +794 794 795 793 0 0 16 794 +795 795 796 794 0 0 16 795 +796 796 797 795 0 0 16 796 +797 797 798 796 0 0 16 797 +798 798 799 797 0 0 16 798 +799 799 800 798 0 0 16 799 +800 800 801 799 0 0 16 800 +801 801 802 800 0 0 16 801 +802 802 803 801 0 0 16 802 +803 803 804 802 0 0 16 803 +804 804 805 803 0 0 16 804 +805 805 806 804 0 0 16 805 +806 806 807 805 0 0 16 806 +807 807 808 806 0 0 16 807 +808 808 809 807 0 0 16 808 +809 809 810 808 0 0 16 809 +810 810 811 809 0 0 16 810 +811 811 812 810 0 0 16 811 +812 812 813 811 0 0 16 812 +813 813 814 812 0 0 16 813 +814 814 815 813 0 0 16 814 +815 815 816 814 0 0 16 815 +816 816 817 815 0 0 16 816 +817 817 818 816 0 0 16 817 +818 818 819 817 0 0 16 818 +819 819 820 818 0 0 16 819 +820 820 821 819 0 0 16 820 +821 821 822 820 0 0 16 821 +822 822 823 821 0 0 16 822 +823 823 824 822 0 0 16 823 +824 824 825 823 0 0 16 824 +825 825 826 824 0 0 16 825 +826 826 827 825 0 0 16 826 +827 827 828 826 0 0 16 827 +828 828 829 827 0 0 16 828 +829 829 830 828 0 0 16 829 +830 830 831 829 0 0 16 830 +831 831 832 830 0 0 16 831 +832 832 833 831 0 0 16 832 +833 833 834 832 0 0 16 833 +834 834 835 833 0 0 16 834 +835 835 836 834 0 0 16 835 +836 836 837 835 0 0 16 836 +837 837 838 836 0 0 16 837 +838 838 839 837 0 0 16 838 +839 839 840 838 0 0 16 839 +840 840 841 839 0 0 16 840 +841 841 842 840 0 0 16 841 +842 842 843 841 0 0 16 842 +843 843 844 842 0 0 16 843 +844 844 845 843 0 0 16 844 +845 845 846 844 0 0 16 845 +846 846 847 845 0 0 16 846 +847 847 848 846 0 0 16 847 +848 848 849 847 0 0 16 848 +849 849 850 848 0 0 16 849 +850 850 851 849 0 0 16 850 +851 851 852 850 0 0 16 851 +852 852 853 851 0 0 16 852 +853 853 854 852 0 0 16 853 +854 854 855 853 0 0 16 854 +855 855 856 854 0 0 16 855 +856 856 857 855 0 0 16 856 +857 857 858 856 0 0 16 857 +858 858 859 857 0 0 16 858 +859 859 860 858 0 0 16 859 +860 860 861 859 0 0 16 860 +861 861 862 860 0 0 16 861 +862 862 863 861 0 0 16 862 +863 863 864 862 0 0 16 863 +864 864 865 863 0 0 16 864 +865 865 866 864 0 0 16 865 +866 866 867 865 0 0 16 866 +867 867 868 866 0 0 16 867 +868 868 869 867 0 0 16 868 +869 869 870 868 0 0 16 869 +870 870 871 869 0 0 16 870 +871 871 872 870 0 0 16 871 +872 872 873 871 0 0 16 872 +873 873 874 872 0 0 16 873 +874 874 875 873 0 0 16 874 +875 875 876 874 0 0 16 875 +876 876 877 875 0 0 16 876 +877 877 878 876 0 0 16 877 +878 878 879 877 0 0 16 878 +879 879 880 878 0 0 16 879 +880 880 881 879 0 0 16 880 +881 881 882 880 0 0 16 881 +882 882 883 881 0 0 16 882 +883 883 884 882 0 0 16 883 +884 884 885 883 0 0 16 884 +885 885 886 884 0 0 16 885 +886 886 887 885 0 0 16 886 +887 887 888 886 0 0 16 887 +888 888 889 887 0 0 16 888 +889 889 890 888 0 0 16 889 +890 890 891 889 0 0 16 890 +891 891 892 890 0 0 16 891 +892 892 893 891 0 0 16 892 +893 893 894 892 0 0 16 893 +894 894 895 893 0 0 16 894 +895 895 896 894 0 0 16 895 +896 896 897 895 0 0 16 896 +897 897 898 896 0 0 16 897 +898 898 899 897 0 0 16 898 +899 899 900 898 0 0 16 899 +900 900 901 899 0 0 16 900 +901 901 902 900 0 0 16 901 +902 902 903 901 0 0 16 902 +903 903 904 902 0 0 16 903 +904 904 905 903 0 0 16 904 +905 905 906 904 0 0 16 905 +906 906 907 905 0 0 16 906 +907 907 908 906 0 0 16 907 +908 908 909 907 0 0 16 908 +909 909 910 908 0 0 16 909 +910 910 911 909 0 0 16 910 +911 911 912 910 0 0 16 911 +912 912 913 911 0 0 16 912 +913 913 914 912 0 0 16 913 +914 914 915 913 0 0 16 914 +915 915 916 914 0 0 16 915 +916 916 917 915 0 0 16 916 +917 917 918 916 0 0 16 917 +918 918 919 917 0 0 16 918 +919 919 920 918 0 0 16 919 +920 920 921 919 0 0 16 920 +921 921 922 920 0 0 16 921 +922 922 923 921 0 0 16 922 +923 923 924 922 0 0 16 923 +924 924 925 923 0 0 16 924 +925 925 926 924 0 0 16 925 +926 926 927 925 0 0 16 926 +927 927 928 926 0 0 16 927 +928 928 929 927 0 0 16 928 +929 929 930 928 0 0 16 929 +930 930 931 929 0 0 16 930 +931 931 932 930 0 0 16 931 +932 932 933 931 0 0 16 932 +933 933 934 932 0 0 16 933 +934 934 935 933 0 0 16 934 +935 935 936 934 0 0 16 935 +936 936 937 935 0 0 16 936 +937 937 938 936 0 0 16 937 +938 938 939 937 0 0 16 938 +939 939 940 938 0 0 16 939 +940 940 941 939 0 0 16 940 +941 941 942 940 0 0 16 941 +942 942 943 941 0 0 16 942 +943 943 944 942 0 0 16 943 +944 944 945 943 0 0 16 944 +945 945 946 944 0 0 16 945 +946 946 947 945 0 0 16 946 +947 947 948 946 0 0 16 947 +948 948 949 947 0 0 16 948 +949 949 950 948 0 0 16 949 +950 950 951 949 0 0 16 950 +951 951 952 950 0 0 16 951 +952 952 953 951 0 0 16 952 +953 953 954 952 0 0 16 953 +954 954 955 953 0 0 16 954 +955 955 956 954 0 0 16 955 +956 956 957 955 0 0 16 956 +957 957 958 956 0 0 16 957 +958 958 959 957 0 0 16 958 +959 959 960 958 0 0 16 959 +960 960 961 959 0 0 16 960 +961 961 962 960 0 0 16 961 +962 962 963 961 0 0 16 962 +963 963 964 962 0 0 16 963 +964 964 965 963 0 0 16 964 +965 965 966 964 0 0 16 965 +966 966 967 965 0 0 16 966 +967 967 968 966 0 0 16 967 +968 968 969 967 0 0 16 968 +969 969 970 968 0 0 16 969 +970 970 971 969 0 0 16 970 +971 971 972 970 0 0 16 971 +972 972 973 971 0 0 16 972 +973 973 974 972 0 0 16 973 +974 974 975 973 0 0 16 974 +975 975 976 974 0 0 16 975 +976 976 977 975 0 0 16 976 +977 977 978 976 0 0 16 977 +978 978 979 977 0 0 16 978 +979 979 980 978 0 0 16 979 +980 980 981 979 0 0 16 980 +981 981 982 980 0 0 16 981 +982 982 983 981 0 0 16 982 +983 983 984 982 0 0 16 983 +984 984 985 983 0 0 16 984 +985 985 986 984 0 0 16 985 +986 986 987 985 0 0 16 986 +987 987 988 986 0 0 16 987 +988 988 989 987 0 0 16 988 +989 989 990 988 0 0 16 989 +990 990 991 989 0 0 16 990 +991 991 992 990 0 0 16 991 +992 992 993 991 0 0 16 992 +993 993 994 992 0 0 16 993 +994 994 995 993 0 0 16 994 +995 995 996 994 0 0 16 995 +996 996 997 995 0 0 16 996 +997 997 998 996 0 0 16 997 +998 998 999 997 0 0 16 998 +999 999 1000 998 0 0 16 999 +1000 1000 1001 999 0 0 16 1000 +1001 1001 1002 1000 0 0 16 1001 +1002 1002 1003 1001 0 0 16 1002 +1003 1003 1004 1002 0 0 16 1003 +1004 1004 1005 1003 0 0 16 1004 +1005 1005 1006 1004 0 0 16 1005 +1006 1006 1007 1005 0 0 16 1006 +1007 1007 1008 1006 0 0 16 1007 +1008 1008 1009 1007 0 0 16 1008 +1009 1009 1010 1008 0 0 16 1009 +1010 1010 1011 1009 0 0 16 1010 +1011 1011 1012 1010 0 0 16 1011 +1012 1012 1013 1011 0 0 16 1012 +1013 1013 1014 1012 0 0 16 1013 +1014 1014 1015 1013 0 0 16 1014 +1015 1015 1016 1014 0 0 16 1015 +1016 1016 1017 1015 0 0 16 1016 +1017 1017 1018 1016 0 0 16 1017 +1018 1018 1019 1017 0 0 16 1018 +1019 1019 1020 1018 0 0 16 1019 +1020 1020 1021 1019 0 0 16 1020 +1021 1021 1022 1020 0 0 16 1021 +1022 1022 1023 1021 0 0 16 1022 +1023 1023 0 1022 0 0 16 1023 +====================================================== +=== [Queue after-first-half-free] Next: 1 First: 512 Last: 1023 +# seq next prev timeout retrans type cbp +512 512 513 -1 0 0 16 512 +513 513 514 512 0 0 16 513 +514 514 515 513 0 0 16 514 +515 515 516 514 0 0 16 515 +516 516 517 515 0 0 16 516 +517 517 518 516 0 0 16 517 +518 518 519 517 0 0 16 518 +519 519 520 518 0 0 16 519 +520 520 521 519 0 0 16 520 +521 521 522 520 0 0 16 521 +522 522 523 521 0 0 16 522 +523 523 524 522 0 0 16 523 +524 524 525 523 0 0 16 524 +525 525 526 524 0 0 16 525 +526 526 527 525 0 0 16 526 +527 527 528 526 0 0 16 527 +528 528 529 527 0 0 16 528 +529 529 530 528 0 0 16 529 +530 530 531 529 0 0 16 530 +531 531 532 530 0 0 16 531 +532 532 533 531 0 0 16 532 +533 533 534 532 0 0 16 533 +534 534 535 533 0 0 16 534 +535 535 536 534 0 0 16 535 +536 536 537 535 0 0 16 536 +537 537 538 536 0 0 16 537 +538 538 539 537 0 0 16 538 +539 539 540 538 0 0 16 539 +540 540 541 539 0 0 16 540 +541 541 542 540 0 0 16 541 +542 542 543 541 0 0 16 542 +543 543 544 542 0 0 16 543 +544 544 545 543 0 0 16 544 +545 545 546 544 0 0 16 545 +546 546 547 545 0 0 16 546 +547 547 548 546 0 0 16 547 +548 548 549 547 0 0 16 548 +549 549 550 548 0 0 16 549 +550 550 551 549 0 0 16 550 +551 551 552 550 0 0 16 551 +552 552 553 551 0 0 16 552 +553 553 554 552 0 0 16 553 +554 554 555 553 0 0 16 554 +555 555 556 554 0 0 16 555 +556 556 557 555 0 0 16 556 +557 557 558 556 0 0 16 557 +558 558 559 557 0 0 16 558 +559 559 560 558 0 0 16 559 +560 560 561 559 0 0 16 560 +561 561 562 560 0 0 16 561 +562 562 563 561 0 0 16 562 +563 563 564 562 0 0 16 563 +564 564 565 563 0 0 16 564 +565 565 566 564 0 0 16 565 +566 566 567 565 0 0 16 566 +567 567 568 566 0 0 16 567 +568 568 569 567 0 0 16 568 +569 569 570 568 0 0 16 569 +570 570 571 569 0 0 16 570 +571 571 572 570 0 0 16 571 +572 572 573 571 0 0 16 572 +573 573 574 572 0 0 16 573 +574 574 575 573 0 0 16 574 +575 575 576 574 0 0 16 575 +576 576 577 575 0 0 16 576 +577 577 578 576 0 0 16 577 +578 578 579 577 0 0 16 578 +579 579 580 578 0 0 16 579 +580 580 581 579 0 0 16 580 +581 581 582 580 0 0 16 581 +582 582 583 581 0 0 16 582 +583 583 584 582 0 0 16 583 +584 584 585 583 0 0 16 584 +585 585 586 584 0 0 16 585 +586 586 587 585 0 0 16 586 +587 587 588 586 0 0 16 587 +588 588 589 587 0 0 16 588 +589 589 590 588 0 0 16 589 +590 590 591 589 0 0 16 590 +591 591 592 590 0 0 16 591 +592 592 593 591 0 0 16 592 +593 593 594 592 0 0 16 593 +594 594 595 593 0 0 16 594 +595 595 596 594 0 0 16 595 +596 596 597 595 0 0 16 596 +597 597 598 596 0 0 16 597 +598 598 599 597 0 0 16 598 +599 599 600 598 0 0 16 599 +600 600 601 599 0 0 16 600 +601 601 602 600 0 0 16 601 +602 602 603 601 0 0 16 602 +603 603 604 602 0 0 16 603 +604 604 605 603 0 0 16 604 +605 605 606 604 0 0 16 605 +606 606 607 605 0 0 16 606 +607 607 608 606 0 0 16 607 +608 608 609 607 0 0 16 608 +609 609 610 608 0 0 16 609 +610 610 611 609 0 0 16 610 +611 611 612 610 0 0 16 611 +612 612 613 611 0 0 16 612 +613 613 614 612 0 0 16 613 +614 614 615 613 0 0 16 614 +615 615 616 614 0 0 16 615 +616 616 617 615 0 0 16 616 +617 617 618 616 0 0 16 617 +618 618 619 617 0 0 16 618 +619 619 620 618 0 0 16 619 +620 620 621 619 0 0 16 620 +621 621 622 620 0 0 16 621 +622 622 623 621 0 0 16 622 +623 623 624 622 0 0 16 623 +624 624 625 623 0 0 16 624 +625 625 626 624 0 0 16 625 +626 626 627 625 0 0 16 626 +627 627 628 626 0 0 16 627 +628 628 629 627 0 0 16 628 +629 629 630 628 0 0 16 629 +630 630 631 629 0 0 16 630 +631 631 632 630 0 0 16 631 +632 632 633 631 0 0 16 632 +633 633 634 632 0 0 16 633 +634 634 635 633 0 0 16 634 +635 635 636 634 0 0 16 635 +636 636 637 635 0 0 16 636 +637 637 638 636 0 0 16 637 +638 638 639 637 0 0 16 638 +639 639 640 638 0 0 16 639 +640 640 641 639 0 0 16 640 +641 641 642 640 0 0 16 641 +642 642 643 641 0 0 16 642 +643 643 644 642 0 0 16 643 +644 644 645 643 0 0 16 644 +645 645 646 644 0 0 16 645 +646 646 647 645 0 0 16 646 +647 647 648 646 0 0 16 647 +648 648 649 647 0 0 16 648 +649 649 650 648 0 0 16 649 +650 650 651 649 0 0 16 650 +651 651 652 650 0 0 16 651 +652 652 653 651 0 0 16 652 +653 653 654 652 0 0 16 653 +654 654 655 653 0 0 16 654 +655 655 656 654 0 0 16 655 +656 656 657 655 0 0 16 656 +657 657 658 656 0 0 16 657 +658 658 659 657 0 0 16 658 +659 659 660 658 0 0 16 659 +660 660 661 659 0 0 16 660 +661 661 662 660 0 0 16 661 +662 662 663 661 0 0 16 662 +663 663 664 662 0 0 16 663 +664 664 665 663 0 0 16 664 +665 665 666 664 0 0 16 665 +666 666 667 665 0 0 16 666 +667 667 668 666 0 0 16 667 +668 668 669 667 0 0 16 668 +669 669 670 668 0 0 16 669 +670 670 671 669 0 0 16 670 +671 671 672 670 0 0 16 671 +672 672 673 671 0 0 16 672 +673 673 674 672 0 0 16 673 +674 674 675 673 0 0 16 674 +675 675 676 674 0 0 16 675 +676 676 677 675 0 0 16 676 +677 677 678 676 0 0 16 677 +678 678 679 677 0 0 16 678 +679 679 680 678 0 0 16 679 +680 680 681 679 0 0 16 680 +681 681 682 680 0 0 16 681 +682 682 683 681 0 0 16 682 +683 683 684 682 0 0 16 683 +684 684 685 683 0 0 16 684 +685 685 686 684 0 0 16 685 +686 686 687 685 0 0 16 686 +687 687 688 686 0 0 16 687 +688 688 689 687 0 0 16 688 +689 689 690 688 0 0 16 689 +690 690 691 689 0 0 16 690 +691 691 692 690 0 0 16 691 +692 692 693 691 0 0 16 692 +693 693 694 692 0 0 16 693 +694 694 695 693 0 0 16 694 +695 695 696 694 0 0 16 695 +696 696 697 695 0 0 16 696 +697 697 698 696 0 0 16 697 +698 698 699 697 0 0 16 698 +699 699 700 698 0 0 16 699 +700 700 701 699 0 0 16 700 +701 701 702 700 0 0 16 701 +702 702 703 701 0 0 16 702 +703 703 704 702 0 0 16 703 +704 704 705 703 0 0 16 704 +705 705 706 704 0 0 16 705 +706 706 707 705 0 0 16 706 +707 707 708 706 0 0 16 707 +708 708 709 707 0 0 16 708 +709 709 710 708 0 0 16 709 +710 710 711 709 0 0 16 710 +711 711 712 710 0 0 16 711 +712 712 713 711 0 0 16 712 +713 713 714 712 0 0 16 713 +714 714 715 713 0 0 16 714 +715 715 716 714 0 0 16 715 +716 716 717 715 0 0 16 716 +717 717 718 716 0 0 16 717 +718 718 719 717 0 0 16 718 +719 719 720 718 0 0 16 719 +720 720 721 719 0 0 16 720 +721 721 722 720 0 0 16 721 +722 722 723 721 0 0 16 722 +723 723 724 722 0 0 16 723 +724 724 725 723 0 0 16 724 +725 725 726 724 0 0 16 725 +726 726 727 725 0 0 16 726 +727 727 728 726 0 0 16 727 +728 728 729 727 0 0 16 728 +729 729 730 728 0 0 16 729 +730 730 731 729 0 0 16 730 +731 731 732 730 0 0 16 731 +732 732 733 731 0 0 16 732 +733 733 734 732 0 0 16 733 +734 734 735 733 0 0 16 734 +735 735 736 734 0 0 16 735 +736 736 737 735 0 0 16 736 +737 737 738 736 0 0 16 737 +738 738 739 737 0 0 16 738 +739 739 740 738 0 0 16 739 +740 740 741 739 0 0 16 740 +741 741 742 740 0 0 16 741 +742 742 743 741 0 0 16 742 +743 743 744 742 0 0 16 743 +744 744 745 743 0 0 16 744 +745 745 746 744 0 0 16 745 +746 746 747 745 0 0 16 746 +747 747 748 746 0 0 16 747 +748 748 749 747 0 0 16 748 +749 749 750 748 0 0 16 749 +750 750 751 749 0 0 16 750 +751 751 752 750 0 0 16 751 +752 752 753 751 0 0 16 752 +753 753 754 752 0 0 16 753 +754 754 755 753 0 0 16 754 +755 755 756 754 0 0 16 755 +756 756 757 755 0 0 16 756 +757 757 758 756 0 0 16 757 +758 758 759 757 0 0 16 758 +759 759 760 758 0 0 16 759 +760 760 761 759 0 0 16 760 +761 761 762 760 0 0 16 761 +762 762 763 761 0 0 16 762 +763 763 764 762 0 0 16 763 +764 764 765 763 0 0 16 764 +765 765 766 764 0 0 16 765 +766 766 767 765 0 0 16 766 +767 767 768 766 0 0 16 767 +768 768 769 767 0 0 16 768 +769 769 770 768 0 0 16 769 +770 770 771 769 0 0 16 770 +771 771 772 770 0 0 16 771 +772 772 773 771 0 0 16 772 +773 773 774 772 0 0 16 773 +774 774 775 773 0 0 16 774 +775 775 776 774 0 0 16 775 +776 776 777 775 0 0 16 776 +777 777 778 776 0 0 16 777 +778 778 779 777 0 0 16 778 +779 779 780 778 0 0 16 779 +780 780 781 779 0 0 16 780 +781 781 782 780 0 0 16 781 +782 782 783 781 0 0 16 782 +783 783 784 782 0 0 16 783 +784 784 785 783 0 0 16 784 +785 785 786 784 0 0 16 785 +786 786 787 785 0 0 16 786 +787 787 788 786 0 0 16 787 +788 788 789 787 0 0 16 788 +789 789 790 788 0 0 16 789 +790 790 791 789 0 0 16 790 +791 791 792 790 0 0 16 791 +792 792 793 791 0 0 16 792 +793 793 794 792 0 0 16 793 +794 794 795 793 0 0 16 794 +795 795 796 794 0 0 16 795 +796 796 797 795 0 0 16 796 +797 797 798 796 0 0 16 797 +798 798 799 797 0 0 16 798 +799 799 800 798 0 0 16 799 +800 800 801 799 0 0 16 800 +801 801 802 800 0 0 16 801 +802 802 803 801 0 0 16 802 +803 803 804 802 0 0 16 803 +804 804 805 803 0 0 16 804 +805 805 806 804 0 0 16 805 +806 806 807 805 0 0 16 806 +807 807 808 806 0 0 16 807 +808 808 809 807 0 0 16 808 +809 809 810 808 0 0 16 809 +810 810 811 809 0 0 16 810 +811 811 812 810 0 0 16 811 +812 812 813 811 0 0 16 812 +813 813 814 812 0 0 16 813 +814 814 815 813 0 0 16 814 +815 815 816 814 0 0 16 815 +816 816 817 815 0 0 16 816 +817 817 818 816 0 0 16 817 +818 818 819 817 0 0 16 818 +819 819 820 818 0 0 16 819 +820 820 821 819 0 0 16 820 +821 821 822 820 0 0 16 821 +822 822 823 821 0 0 16 822 +823 823 824 822 0 0 16 823 +824 824 825 823 0 0 16 824 +825 825 826 824 0 0 16 825 +826 826 827 825 0 0 16 826 +827 827 828 826 0 0 16 827 +828 828 829 827 0 0 16 828 +829 829 830 828 0 0 16 829 +830 830 831 829 0 0 16 830 +831 831 832 830 0 0 16 831 +832 832 833 831 0 0 16 832 +833 833 834 832 0 0 16 833 +834 834 835 833 0 0 16 834 +835 835 836 834 0 0 16 835 +836 836 837 835 0 0 16 836 +837 837 838 836 0 0 16 837 +838 838 839 837 0 0 16 838 +839 839 840 838 0 0 16 839 +840 840 841 839 0 0 16 840 +841 841 842 840 0 0 16 841 +842 842 843 841 0 0 16 842 +843 843 844 842 0 0 16 843 +844 844 845 843 0 0 16 844 +845 845 846 844 0 0 16 845 +846 846 847 845 0 0 16 846 +847 847 848 846 0 0 16 847 +848 848 849 847 0 0 16 848 +849 849 850 848 0 0 16 849 +850 850 851 849 0 0 16 850 +851 851 852 850 0 0 16 851 +852 852 853 851 0 0 16 852 +853 853 854 852 0 0 16 853 +854 854 855 853 0 0 16 854 +855 855 856 854 0 0 16 855 +856 856 857 855 0 0 16 856 +857 857 858 856 0 0 16 857 +858 858 859 857 0 0 16 858 +859 859 860 858 0 0 16 859 +860 860 861 859 0 0 16 860 +861 861 862 860 0 0 16 861 +862 862 863 861 0 0 16 862 +863 863 864 862 0 0 16 863 +864 864 865 863 0 0 16 864 +865 865 866 864 0 0 16 865 +866 866 867 865 0 0 16 866 +867 867 868 866 0 0 16 867 +868 868 869 867 0 0 16 868 +869 869 870 868 0 0 16 869 +870 870 871 869 0 0 16 870 +871 871 872 870 0 0 16 871 +872 872 873 871 0 0 16 872 +873 873 874 872 0 0 16 873 +874 874 875 873 0 0 16 874 +875 875 876 874 0 0 16 875 +876 876 877 875 0 0 16 876 +877 877 878 876 0 0 16 877 +878 878 879 877 0 0 16 878 +879 879 880 878 0 0 16 879 +880 880 881 879 0 0 16 880 +881 881 882 880 0 0 16 881 +882 882 883 881 0 0 16 882 +883 883 884 882 0 0 16 883 +884 884 885 883 0 0 16 884 +885 885 886 884 0 0 16 885 +886 886 887 885 0 0 16 886 +887 887 888 886 0 0 16 887 +888 888 889 887 0 0 16 888 +889 889 890 888 0 0 16 889 +890 890 891 889 0 0 16 890 +891 891 892 890 0 0 16 891 +892 892 893 891 0 0 16 892 +893 893 894 892 0 0 16 893 +894 894 895 893 0 0 16 894 +895 895 896 894 0 0 16 895 +896 896 897 895 0 0 16 896 +897 897 898 896 0 0 16 897 +898 898 899 897 0 0 16 898 +899 899 900 898 0 0 16 899 +900 900 901 899 0 0 16 900 +901 901 902 900 0 0 16 901 +902 902 903 901 0 0 16 902 +903 903 904 902 0 0 16 903 +904 904 905 903 0 0 16 904 +905 905 906 904 0 0 16 905 +906 906 907 905 0 0 16 906 +907 907 908 906 0 0 16 907 +908 908 909 907 0 0 16 908 +909 909 910 908 0 0 16 909 +910 910 911 909 0 0 16 910 +911 911 912 910 0 0 16 911 +912 912 913 911 0 0 16 912 +913 913 914 912 0 0 16 913 +914 914 915 913 0 0 16 914 +915 915 916 914 0 0 16 915 +916 916 917 915 0 0 16 916 +917 917 918 916 0 0 16 917 +918 918 919 917 0 0 16 918 +919 919 920 918 0 0 16 919 +920 920 921 919 0 0 16 920 +921 921 922 920 0 0 16 921 +922 922 923 921 0 0 16 922 +923 923 924 922 0 0 16 923 +924 924 925 923 0 0 16 924 +925 925 926 924 0 0 16 925 +926 926 927 925 0 0 16 926 +927 927 928 926 0 0 16 927 +928 928 929 927 0 0 16 928 +929 929 930 928 0 0 16 929 +930 930 931 929 0 0 16 930 +931 931 932 930 0 0 16 931 +932 932 933 931 0 0 16 932 +933 933 934 932 0 0 16 933 +934 934 935 933 0 0 16 934 +935 935 936 934 0 0 16 935 +936 936 937 935 0 0 16 936 +937 937 938 936 0 0 16 937 +938 938 939 937 0 0 16 938 +939 939 940 938 0 0 16 939 +940 940 941 939 0 0 16 940 +941 941 942 940 0 0 16 941 +942 942 943 941 0 0 16 942 +943 943 944 942 0 0 16 943 +944 944 945 943 0 0 16 944 +945 945 946 944 0 0 16 945 +946 946 947 945 0 0 16 946 +947 947 948 946 0 0 16 947 +948 948 949 947 0 0 16 948 +949 949 950 948 0 0 16 949 +950 950 951 949 0 0 16 950 +951 951 952 950 0 0 16 951 +952 952 953 951 0 0 16 952 +953 953 954 952 0 0 16 953 +954 954 955 953 0 0 16 954 +955 955 956 954 0 0 16 955 +956 956 957 955 0 0 16 956 +957 957 958 956 0 0 16 957 +958 958 959 957 0 0 16 958 +959 959 960 958 0 0 16 959 +960 960 961 959 0 0 16 960 +961 961 962 960 0 0 16 961 +962 962 963 961 0 0 16 962 +963 963 964 962 0 0 16 963 +964 964 965 963 0 0 16 964 +965 965 966 964 0 0 16 965 +966 966 967 965 0 0 16 966 +967 967 968 966 0 0 16 967 +968 968 969 967 0 0 16 968 +969 969 970 968 0 0 16 969 +970 970 971 969 0 0 16 970 +971 971 972 970 0 0 16 971 +972 972 973 971 0 0 16 972 +973 973 974 972 0 0 16 973 +974 974 975 973 0 0 16 974 +975 975 976 974 0 0 16 975 +976 976 977 975 0 0 16 976 +977 977 978 976 0 0 16 977 +978 978 979 977 0 0 16 978 +979 979 980 978 0 0 16 979 +980 980 981 979 0 0 16 980 +981 981 982 980 0 0 16 981 +982 982 983 981 0 0 16 982 +983 983 984 982 0 0 16 983 +984 984 985 983 0 0 16 984 +985 985 986 984 0 0 16 985 +986 986 987 985 0 0 16 986 +987 987 988 986 0 0 16 987 +988 988 989 987 0 0 16 988 +989 989 990 988 0 0 16 989 +990 990 991 989 0 0 16 990 +991 991 992 990 0 0 16 991 +992 992 993 991 0 0 16 992 +993 993 994 992 0 0 16 993 +994 994 995 993 0 0 16 994 +995 995 996 994 0 0 16 995 +996 996 997 995 0 0 16 996 +997 997 998 996 0 0 16 997 +998 998 999 997 0 0 16 998 +999 999 1000 998 0 0 16 999 +1000 1000 1001 999 0 0 16 1000 +1001 1001 1002 1000 0 0 16 1001 +1002 1002 1003 1001 0 0 16 1002 +1003 1003 1004 1002 0 0 16 1003 +1004 1004 1005 1003 0 0 16 1004 +1005 1005 1006 1004 0 0 16 1005 +1006 1006 1007 1005 0 0 16 1006 +1007 1007 1008 1006 0 0 16 1007 +1008 1008 1009 1007 0 0 16 1008 +1009 1009 1010 1008 0 0 16 1009 +1010 1010 1011 1009 0 0 16 1010 +1011 1011 1012 1010 0 0 16 1011 +1012 1012 1013 1011 0 0 16 1012 +1013 1013 1014 1012 0 0 16 1013 +1014 1014 1015 1013 0 0 16 1014 +1015 1015 1016 1014 0 0 16 1015 +1016 1016 1017 1015 0 0 16 1016 +1017 1017 1018 1016 0 0 16 1017 +1018 1018 1019 1017 0 0 16 1018 +1019 1019 1020 1018 0 0 16 1019 +1020 1020 1021 1019 0 0 16 1020 +1021 1021 1022 1020 0 0 16 1021 +1022 1022 1023 1021 0 0 16 1022 +1023 1023 -1 1022 0 0 16 1023 +====================================================== +=== [Queue after-second-half-free] Next: 1 First: -1 Last: -1 +# seq next prev timeout retrans type cbp +====================================================== diff --git a/tests/testsuite.at b/tests/testsuite.at index fa94db3..2602a3a 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -32,3 +32,9 @@ cat $abs_srcdir/gtp/gtpie_test.ok > expout AT_CHECK([$abs_top_builddir/tests/gtp/gtpie_test], [], [expout], []) AT_CLEANUP + +AT_SETUP([queue]) +AT_KEYWORDS([queue]) +cat $abs_srcdir/gtp/queue_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/gtp/queue_test], [], [expout], []) +AT_CLEANUP -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Id09bc5e23aa7a4b864822bc92cc23a4b60db52c3 Gerrit-Change-Number: 14558 Gerrit-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 20 16:33:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:33:59 +0000 Subject: Change in ...simtrace2[master]: firmware: name binaries including their git version number Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/14559 Change subject: firmware: name binaries including their git version number ...................................................................... firmware: name binaries including their git version number Change-Id: I4309810368ce4e8e13ede974b67e69ca3f0a6f53 Closes: OS#3452 --- M firmware/Makefile 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/59/14559/1 diff --git a/firmware/Makefile b/firmware/Makefile index 0f70bf4..646d2f3 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -28,6 +28,7 @@ # Makefile for compiling the Getting Started with SAM3S Microcontrollers project +GIT_VERSION=$(shell $(TOP)/git-version-gen $(TOP)/.tarvers) #------------------------------------------------------------------------------- # User-modifiable options #------------------------------------------------------------------------------- @@ -44,7 +45,7 @@ APP ?= dfu # Output directories -OUTPUT = $(BOARD)-$(APP) +OUTPUT = $(BOARD)-$(APP)-$(GIT_VERSION) BIN = bin OBJ = obj/$(BOARD) @@ -73,7 +74,6 @@ NM = $(CROSS_COMPILE)nm TOP=.. -GIT_VERSION=$(shell $(TOP)/git-version-gen $(TOP)/.tarvers) #------------------------------------------------------------------------------- # Files -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/14559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I4309810368ce4e8e13ede974b67e69ca3f0a6f53 Gerrit-Change-Number: 14559 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 20 16:42:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:42:19 +0000 Subject: Change in ...osmo-asf4-dfu[master]: name binaries including their git version number Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/14560 Change subject: name binaries including their git version number ...................................................................... name binaries including their git version number Change-Id: I90fb8e6effd05c3e472492aced7c07a2ce837e5e Related: OS#3452 --- M gcc/Makefile A git-version-gen 2 files changed, 154 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-asf4-dfu refs/changes/60/14560/1 diff --git a/gcc/Makefile b/gcc/Makefile index 0817806..41779c3 100644 --- a/gcc/Makefile +++ b/gcc/Makefile @@ -7,6 +7,8 @@ # possible values: SAME54_XPLAINED_PRO, SYSMOOCTSIM BOARD ?= SAME54_XPLAINED_PRO +GIT_VERSION=$(shell ../git-version-gen $(TOP)/.tarvers) + ################################################################################ # Automatically-generated file. Do not edit! ################################################################################ @@ -167,7 +169,7 @@ "gcc/system_same54.d" \ "atmel_start.d" -OUTPUT_FILE_NAME := bootloader +OUTPUT_FILE_NAME := bootloader-$(GIT_VERSION) QUOTE := " OUTPUT_FILE_PATH +=$(OUTPUT_FILE_NAME).elf OUTPUT_FILE_PATH_AS_ARGS +=$(OUTPUT_FILE_NAME).elf diff --git a/git-version-gen b/git-version-gen new file mode 100755 index 0000000..42cf3d2 --- /dev/null +++ b/git-version-gen @@ -0,0 +1,151 @@ +#!/bin/sh +# Print a version string. +scriptversion=2010-01-28.01 + +# Copyright (C) 2007-2010 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/. +# It may be run two ways: +# - from a git repository in which the "git describe" command below +# produces useful output (thus requiring at least one signed tag) +# - from a non-git-repo directory containing a .tarball-version file, which +# presumes this script is invoked like "./git-version-gen .tarball-version". + +# In order to use intra-version strings in your project, you will need two +# separate generated version string files: +# +# .tarball-version - present only in a distribution tarball, and not in +# a checked-out repository. Created with contents that were learned at +# the last time autoconf was run, and used by git-version-gen. Must not +# be present in either $(srcdir) or $(builddir) for git-version-gen to +# give accurate answers during normal development with a checked out tree, +# but must be present in a tarball when there is no version control system. +# Therefore, it cannot be used in any dependencies. GNUmakefile has +# hooks to force a reconfigure at distribution time to get the value +# correct, without penalizing normal development with extra reconfigures. +# +# .version - present in a checked-out repository and in a distribution +# tarball. Usable in dependencies, particularly for files that don't +# want to depend on config.h but do want to track version changes. +# Delete this file prior to any autoconf run where you want to rebuild +# files to pick up a version string change; and leave it stale to +# minimize rebuild time after unrelated changes to configure sources. +# +# It is probably wise to add these two files to .gitignore, so that you +# don't accidentally commit either generated file. +# +# Use the following line in your configure.ac, so that $(VERSION) will +# automatically be up-to-date each time configure is run (and note that +# since configure.ac no longer includes a version string, Makefile rules +# should not depend on configure.ac for version updates). +# +# AC_INIT([GNU project], +# m4_esyscmd([build-aux/git-version-gen .tarball-version]), +# [bug-project at example]) +# +# Then use the following lines in your Makefile.am, so that .version +# will be present for dependencies, and so that .tarball-version will +# exist in distribution tarballs. +# +# BUILT_SOURCES = $(top_srcdir)/.version +# $(top_srcdir)/.version: +# echo $(VERSION) > $@-t && mv $@-t $@ +# dist-hook: +# echo $(VERSION) > $(distdir)/.tarball-version + +case $# in + 1) ;; + *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version"; exit 1;; +esac + +tarball_version_file=$1 +nl=' +' + +# First see if there is a tarball-only version file. +# then try "git describe", then default. +if test -f $tarball_version_file +then + v=`cat $tarball_version_file` || exit 1 + case $v in + *$nl*) v= ;; # reject multi-line output + [0-9]*) ;; + *) v= ;; + esac + test -z "$v" \ + && echo "$0: WARNING: $tarball_version_file seems to be damaged" 1>&2 +fi + +if test -n "$v" +then + : # use $v +elif + v=`git describe --abbrev=4 --match='v*' HEAD 2>/dev/null \ + || git describe --abbrev=4 HEAD 2>/dev/null` \ + && case $v in + [0-9]*) ;; + v[0-9]*) ;; + *) (exit 1) ;; + esac +then + # Is this a new git that lists number of commits since the last + # tag or the previous older version that did not? + # Newer: v6.10-77-g0f8faeb + # Older: v6.10-g0f8faeb + case $v in + *-*-*) : git describe is okay three part flavor ;; + *-*) + : git describe is older two part flavor + # Recreate the number of commits and rewrite such that the + # result is the same as if we were using the newer version + # of git describe. + vtag=`echo "$v" | sed 's/-.*//'` + numcommits=`git rev-list "$vtag"..HEAD | wc -l` + v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`; + ;; + esac + + # Change the first '-' to a '.', so version-comparing tools work properly. + # Remove the "g" in git describe's output string, to save a byte. + v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`; +else + v=UNKNOWN +fi + +v=`echo "$v" |sed 's/^v//'` + +# Don't declare a version "dirty" merely because a time stamp has changed. +git status > /dev/null 2>&1 + +dirty=`sh -c 'git diff-index --name-only HEAD' 2>/dev/null` || dirty= +case "$dirty" in + '') ;; + *) # Append the suffix only if there isn't one already. + case $v in + *-dirty) ;; + *) v="$v-dirty" ;; + esac ;; +esac + +# Omit the trailing newline, so that m4_esyscmd can use the result directly. +echo "$v" | tr -d '\012' + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: -- To view, visit https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/14560 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: I90fb8e6effd05c3e472492aced7c07a2ce837e5e Gerrit-Change-Number: 14560 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 20 16:44:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:44:40 +0000 Subject: Change in ...osmo-ccid-firmware[master]: name binaries including their git version number Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14561 Change subject: name binaries including their git version number ...................................................................... name binaries including their git version number Change-Id: I21a782de7e6a51351f8c8a4a24bb06107ebe0b14 Related: OS#3452 --- M sysmoOCTSIM/gcc/Makefile 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/61/14561/1 diff --git a/sysmoOCTSIM/gcc/Makefile b/sysmoOCTSIM/gcc/Makefile index d5c11e8..025e2dd 100644 --- a/sysmoOCTSIM/gcc/Makefile +++ b/sysmoOCTSIM/gcc/Makefile @@ -143,7 +143,7 @@ # List the subdirectories for creating object files SUB_DIRS := $(sort $(foreach obj,$(OBJS),$(dir $(obj)))) -OUTPUT_FILE_NAME := sysmoOCTSIM +OUTPUT_FILE_NAME := sysmoOCTSIM-$(GIT_VERSION) QUOTE := " OUTPUT_FILE_PATH +=$(OUTPUT_FILE_NAME).elf OUTPUT_FILE_PATH_AS_ARGS +=$(OUTPUT_FILE_NAME).elf -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14561 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: I21a782de7e6a51351f8c8a4a24bb06107ebe0b14 Gerrit-Change-Number: 14561 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 20 16:45:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:45:34 +0000 Subject: Change in ...osmo-ggsn[master]: cosmetic: gtp: queue: remove trailing whitespace In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14555 ) Change subject: cosmetic: gtp: queue: remove trailing whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I20c83cd607ae8e1025fdc1a810c0d27bad80b178 Gerrit-Change-Number: 14555 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Jun 2019 16:45: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 20 16:45:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:45:52 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Add missing headers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14556 ) Change subject: gtp: Add missing headers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14556 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I65e12a067d89ef71be3719636b64f4d93ea73cc4 Gerrit-Change-Number: 14556 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Jun 2019 16:45:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 20 16:46:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:46:46 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: queue.c: Document queue APIs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14557 ) Change subject: gtp: queue.c: Document queue APIs ...................................................................... Patch Set 1: (8 comments) I'll take care of the comments https://gerrit.osmocom.org/#/c/14557/1/gtp/queue.c File gtp/queue.c: https://gerrit.osmocom.org/#/c/14557/1/gtp/queue.c at 124 PS1, Line 124: /*! Allocates and initialises new queue structure . https://gerrit.osmocom.org/#/c/14557/1/gtp/queue.c at 144 PS1, Line 144: /*! Deallocates queue structure . https://gerrit.osmocom.org/#/c/14557/1/gtp/queue.c at 158 PS1, Line 158: /*! Add a new message to the queue . https://gerrit.osmocom.org/#/c/14557/1/gtp/queue.c at 192 PS1, Line 192: /*! Remove an element from the queue . https://gerrit.osmocom.org/#/c/14557/1/gtp/queue.c at 229 PS1, Line 229: /*! Move a given qmsg_t to the end of the queue . https://gerrit.osmocom.org/#/c/14557/1/gtp/queue.c at 259 PS1, Line 259: /*! Get the first element in the entire queue . https://gerrit.osmocom.org/#/c/14557/1/gtp/queue.c at 277 PS1, Line 277: /*! Get a queue entry for a given peer + seq ... https://gerrit.osmocom.org/#/c/14557/1/gtp/queue.c at 305 PS1, Line 305: /*! look-up a given seq/peer, return cbp + type and free entry . -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I8523a0d0508d7fb870a4a9119aa8eb4c3a4d6f17 Gerrit-Change-Number: 14557 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 20 Jun 2019 16:46:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 20 16:47:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:47:14 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: queue.c: Document queue APIs In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2) to the change originally created by pespin. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14557 ) Change subject: gtp: queue.c: Document queue APIs ...................................................................... gtp: queue.c: Document queue APIs Change-Id: I8523a0d0508d7fb870a4a9119aa8eb4c3a4d6f17 --- M gtp/queue.c 1 file changed, 46 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/57/14557/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I8523a0d0508d7fb870a4a9119aa8eb4c3a4d6f17 Gerrit-Change-Number: 14557 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 20 16:47:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:47:26 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: queue.c: Document queue APIs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14557 ) Change subject: gtp: queue.c: Document queue APIs ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I8523a0d0508d7fb870a4a9119aa8eb4c3a4d6f17 Gerrit-Change-Number: 14557 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 20 Jun 2019 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 Thu Jun 20 16:47:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:47:46 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: queue: Add unit test queue_test In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14558 ) Change subject: gtp: queue: Add unit test queue_test ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Id09bc5e23aa7a4b864822bc92cc23a4b60db52c3 Gerrit-Change-Number: 14558 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Jun 2019 16:47: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 20 16:47:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:47:59 +0000 Subject: Change in ...simtrace2[master]: firmware: name binaries including their git version number In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/14559 ) Change subject: firmware: name binaries including their git version number ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/14559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I4309810368ce4e8e13ede974b67e69ca3f0a6f53 Gerrit-Change-Number: 14559 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Jun 2019 16:47: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 20 16:48:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:48:04 +0000 Subject: Change in ...simtrace2[master]: qmod: Disable hub reset and EEPROM erase/write by default In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/simtrace2/+/14549 ) Change subject: qmod: Disable hub reset and EEPROM erase/write by default ...................................................................... qmod: Disable hub reset and EEPROM erase/write by default We recently introduced ALLOW_PEER_ERASE to control if the firmware should contain code for the SAM3 to reset each other on QMOD. Let's use the same define to also remove code for putting the USB hub into reset as well as code for erasing + writing the hub EEPROM. This is needed only during production, but it shouldn't be enabled during normal operation of the product at the end user. Change-Id: I1c8cca2f7f0f0070d7bf1ade676e035c45e4d5ab --- M firmware/libboard/qmod/source/board_qmod.c 1 file changed, 7 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified tsaitgaist: Looks good to me, approved diff --git a/firmware/libboard/qmod/source/board_qmod.c b/firmware/libboard/qmod/source/board_qmod.c index 4d75b98..0565c92 100644 --- a/firmware/libboard/qmod/source/board_qmod.c +++ b/firmware/libboard/qmod/source/board_qmod.c @@ -28,6 +28,7 @@ #include "card_pres.h" #include #include "usb_buf.h" +#include "i2c.h" static const Pin pin_hubpwr_override = PIN_PRTPWR_OVERRIDE; static const Pin pin_hub_rst = {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}; @@ -46,6 +47,7 @@ return 0; } +#if (ALLOW_PEER_ERASE > 0) const unsigned char __eeprom_bin[256] = { USB_VENDOR_OPENMOKO & 0xff, USB_VENDOR_OPENMOKO >> 8, @@ -69,7 +71,6 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x56, 0x23, 0x71, 0x04, 0x00, /* 0xf0 - 0xff */ }; -#include "i2c.h" static int write_hub_eeprom(void) { int i; @@ -126,7 +127,7 @@ return 0; } - +#endif /* ALLOW_PEER_ERASE */ static void board_exec_dbg_cmd_st12only(int ch) { @@ -137,12 +138,14 @@ return; switch (ch) { +#if (ALLOW_PEER_ERASE > 0) case 'E': write_hub_eeprom(); break; case 'e': erase_hub_eeprom(); break; +#endif /* ALLOW_PEER_ERASE */ case 'O': printf("Setting PRTPWR_OVERRIDE\n\r"); PIO_Set(&pin_hubpwr_override); @@ -151,6 +154,7 @@ printf("Clearing PRTPWR_OVERRIDE\n\r"); PIO_Clear(&pin_hubpwr_override); break; +#if (ALLOW_PEER_ERASE > 0) case 'H': printf("Clearing _HUB_RESET -> HUB_RESET high (inactive)\n\r"); PIO_Clear(&pin_hub_rst); @@ -170,6 +174,7 @@ printf("Writing value 0x%02lx to EEPROM offset 0x%02lx\n\r", val, addr); eeprom_write_byte(0x50, addr, val); break; +#endif /* ALLOW_PEER_ERASE */ case 'r': printf("Please enter EEPROM offset:\n\r"); UART_GetIntegerMinMax(&addr, 0, 255); -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/14549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I1c8cca2f7f0f0070d7bf1ade676e035c45e4d5ab Gerrit-Change-Number: 14549 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tsaitgaist Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 20 16:48:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:48:04 +0000 Subject: Change in ...simtrace2[master]: firmware: name binaries including their git version number In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/simtrace2/+/14559 ) Change subject: firmware: name binaries including their git version number ...................................................................... firmware: name binaries including their git version number Change-Id: I4309810368ce4e8e13ede974b67e69ca3f0a6f53 Closes: OS#3452 --- M firmware/Makefile 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/Makefile b/firmware/Makefile index 0f70bf4..646d2f3 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -28,6 +28,7 @@ # Makefile for compiling the Getting Started with SAM3S Microcontrollers project +GIT_VERSION=$(shell $(TOP)/git-version-gen $(TOP)/.tarvers) #------------------------------------------------------------------------------- # User-modifiable options #------------------------------------------------------------------------------- @@ -44,7 +45,7 @@ APP ?= dfu # Output directories -OUTPUT = $(BOARD)-$(APP) +OUTPUT = $(BOARD)-$(APP)-$(GIT_VERSION) BIN = bin OBJ = obj/$(BOARD) @@ -73,7 +74,6 @@ NM = $(CROSS_COMPILE)nm TOP=.. -GIT_VERSION=$(shell $(TOP)/git-version-gen $(TOP)/.tarvers) #------------------------------------------------------------------------------- # Files -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/14559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I4309810368ce4e8e13ede974b67e69ca3f0a6f53 Gerrit-Change-Number: 14559 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 20 16:48:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:48:13 +0000 Subject: Change in ...osmo-ggsn[master]: cosmetic: gtp: queue: remove trailing whitespace In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14555 ) Change subject: cosmetic: gtp: queue: remove trailing whitespace ...................................................................... cosmetic: gtp: queue: remove trailing whitespace Change-Id: I20c83cd607ae8e1025fdc1a810c0d27bad80b178 --- M gtp/queue.c M gtp/queue.h 2 files changed, 6 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/gtp/queue.c b/gtp/queue.c index ebeebe6..305a33c 100644 --- a/gtp/queue.c +++ b/gtp/queue.c @@ -1,14 +1,14 @@ -/* +/* * OsmoGGSN - Gateway GPRS Support Node * Copyright (C) 2002, 2003, 2004 Mondru AB. * Copyright (C) 2011 Harald Welte * Copyright (C) 2016 sysmocom - s.f.m.c. GmbH - * + * * The contents of this file may be used under the terms of the GNU * General Public License Version 2, provided that the above copyright * notice and this permission notice is included in all copies or * substantial portions of the software. - * + * */ /* diff --git a/gtp/queue.h b/gtp/queue.h index 2e253dd..ec5f3de 100644 --- a/gtp/queue.h +++ b/gtp/queue.h @@ -1,12 +1,12 @@ -/* +/* * OsmoGGSN - Gateway GPRS Support Node * Copyright (C) 2002 Mondru AB. - * + * * The contents of this file may be used under the terms of the GNU * General Public License Version 2, provided that the above copyright * notice and this permission notice is included in all copies or * substantial portions of the software. - * + * */ /* -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I20c83cd607ae8e1025fdc1a810c0d27bad80b178 Gerrit-Change-Number: 14555 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 Thu Jun 20 16:48:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:48:13 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: Add missing headers In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14556 ) Change subject: gtp: Add missing headers ...................................................................... gtp: Add missing headers Those headers are using types defined in other places (like sockaddr_in) and don't explicitly include them, which makes future queue_test fail. Change-Id: I65e12a067d89ef71be3719636b64f4d93ea73cc4 --- M gtp/pdp.h M gtp/queue.h 2 files changed, 3 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/gtp/pdp.h b/gtp/pdp.h index 9527464..d64d394 100644 --- a/gtp/pdp.h +++ b/gtp/pdp.h @@ -14,6 +14,7 @@ #define _PDP_H #include +#include #include diff --git a/gtp/queue.h b/gtp/queue.h index ec5f3de..76cb7be 100644 --- a/gtp/queue.h +++ b/gtp/queue.h @@ -17,6 +17,8 @@ #ifndef _QUEUE_H #define _QUEUE_H +#include "gtp.h" + #define QUEUE_DEBUG 0 /* Print debug information */ #define QUEUE_SIZE 1024 /* Size of retransmission queue */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14556 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I65e12a067d89ef71be3719636b64f4d93ea73cc4 Gerrit-Change-Number: 14556 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 Thu Jun 20 16:48:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:48:37 +0000 Subject: Change in ...osmo-asf4-dfu[master]: name binaries including their git version number In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/14560 ) Change subject: name binaries including their git version number ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/14560 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: I90fb8e6effd05c3e472492aced7c07a2ce837e5e Gerrit-Change-Number: 14560 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Jun 2019 16:48: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 20 16:48:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:48:38 +0000 Subject: Change in ...osmo-asf4-dfu[master]: name binaries including their git version number In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/14560 ) Change subject: name binaries including their git version number ...................................................................... name binaries including their git version number Change-Id: I90fb8e6effd05c3e472492aced7c07a2ce837e5e Related: OS#3452 --- M gcc/Makefile A git-version-gen 2 files changed, 154 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/gcc/Makefile b/gcc/Makefile index 0817806..41779c3 100644 --- a/gcc/Makefile +++ b/gcc/Makefile @@ -7,6 +7,8 @@ # possible values: SAME54_XPLAINED_PRO, SYSMOOCTSIM BOARD ?= SAME54_XPLAINED_PRO +GIT_VERSION=$(shell ../git-version-gen $(TOP)/.tarvers) + ################################################################################ # Automatically-generated file. Do not edit! ################################################################################ @@ -167,7 +169,7 @@ "gcc/system_same54.d" \ "atmel_start.d" -OUTPUT_FILE_NAME := bootloader +OUTPUT_FILE_NAME := bootloader-$(GIT_VERSION) QUOTE := " OUTPUT_FILE_PATH +=$(OUTPUT_FILE_NAME).elf OUTPUT_FILE_PATH_AS_ARGS +=$(OUTPUT_FILE_NAME).elf diff --git a/git-version-gen b/git-version-gen new file mode 100755 index 0000000..42cf3d2 --- /dev/null +++ b/git-version-gen @@ -0,0 +1,151 @@ +#!/bin/sh +# Print a version string. +scriptversion=2010-01-28.01 + +# Copyright (C) 2007-2010 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/. +# It may be run two ways: +# - from a git repository in which the "git describe" command below +# produces useful output (thus requiring at least one signed tag) +# - from a non-git-repo directory containing a .tarball-version file, which +# presumes this script is invoked like "./git-version-gen .tarball-version". + +# In order to use intra-version strings in your project, you will need two +# separate generated version string files: +# +# .tarball-version - present only in a distribution tarball, and not in +# a checked-out repository. Created with contents that were learned at +# the last time autoconf was run, and used by git-version-gen. Must not +# be present in either $(srcdir) or $(builddir) for git-version-gen to +# give accurate answers during normal development with a checked out tree, +# but must be present in a tarball when there is no version control system. +# Therefore, it cannot be used in any dependencies. GNUmakefile has +# hooks to force a reconfigure at distribution time to get the value +# correct, without penalizing normal development with extra reconfigures. +# +# .version - present in a checked-out repository and in a distribution +# tarball. Usable in dependencies, particularly for files that don't +# want to depend on config.h but do want to track version changes. +# Delete this file prior to any autoconf run where you want to rebuild +# files to pick up a version string change; and leave it stale to +# minimize rebuild time after unrelated changes to configure sources. +# +# It is probably wise to add these two files to .gitignore, so that you +# don't accidentally commit either generated file. +# +# Use the following line in your configure.ac, so that $(VERSION) will +# automatically be up-to-date each time configure is run (and note that +# since configure.ac no longer includes a version string, Makefile rules +# should not depend on configure.ac for version updates). +# +# AC_INIT([GNU project], +# m4_esyscmd([build-aux/git-version-gen .tarball-version]), +# [bug-project at example]) +# +# Then use the following lines in your Makefile.am, so that .version +# will be present for dependencies, and so that .tarball-version will +# exist in distribution tarballs. +# +# BUILT_SOURCES = $(top_srcdir)/.version +# $(top_srcdir)/.version: +# echo $(VERSION) > $@-t && mv $@-t $@ +# dist-hook: +# echo $(VERSION) > $(distdir)/.tarball-version + +case $# in + 1) ;; + *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version"; exit 1;; +esac + +tarball_version_file=$1 +nl=' +' + +# First see if there is a tarball-only version file. +# then try "git describe", then default. +if test -f $tarball_version_file +then + v=`cat $tarball_version_file` || exit 1 + case $v in + *$nl*) v= ;; # reject multi-line output + [0-9]*) ;; + *) v= ;; + esac + test -z "$v" \ + && echo "$0: WARNING: $tarball_version_file seems to be damaged" 1>&2 +fi + +if test -n "$v" +then + : # use $v +elif + v=`git describe --abbrev=4 --match='v*' HEAD 2>/dev/null \ + || git describe --abbrev=4 HEAD 2>/dev/null` \ + && case $v in + [0-9]*) ;; + v[0-9]*) ;; + *) (exit 1) ;; + esac +then + # Is this a new git that lists number of commits since the last + # tag or the previous older version that did not? + # Newer: v6.10-77-g0f8faeb + # Older: v6.10-g0f8faeb + case $v in + *-*-*) : git describe is okay three part flavor ;; + *-*) + : git describe is older two part flavor + # Recreate the number of commits and rewrite such that the + # result is the same as if we were using the newer version + # of git describe. + vtag=`echo "$v" | sed 's/-.*//'` + numcommits=`git rev-list "$vtag"..HEAD | wc -l` + v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`; + ;; + esac + + # Change the first '-' to a '.', so version-comparing tools work properly. + # Remove the "g" in git describe's output string, to save a byte. + v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`; +else + v=UNKNOWN +fi + +v=`echo "$v" |sed 's/^v//'` + +# Don't declare a version "dirty" merely because a time stamp has changed. +git status > /dev/null 2>&1 + +dirty=`sh -c 'git diff-index --name-only HEAD' 2>/dev/null` || dirty= +case "$dirty" in + '') ;; + *) # Append the suffix only if there isn't one already. + case $v in + *-dirty) ;; + *) v="$v-dirty" ;; + esac ;; +esac + +# Omit the trailing newline, so that m4_esyscmd can use the result directly. +echo "$v" | tr -d '\012' + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: -- To view, visit https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/14560 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: I90fb8e6effd05c3e472492aced7c07a2ce837e5e Gerrit-Change-Number: 14560 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 20 16:49:50 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:49:50 +0000 Subject: Change in ...osmo-ccid-firmware[master]: name binaries including their git version number In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14561 ) Change subject: name binaries including their git version number ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14561 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: I21a782de7e6a51351f8c8a4a24bb06107ebe0b14 Gerrit-Change-Number: 14561 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Jun 2019 16:49: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 20 16:49:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:49:51 +0000 Subject: Change in ...osmo-ccid-firmware[master]: name binaries including their git version number In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14561 ) Change subject: name binaries including their git version number ...................................................................... name binaries including their git version number Change-Id: I21a782de7e6a51351f8c8a4a24bb06107ebe0b14 Related: OS#3452 --- M sysmoOCTSIM/gcc/Makefile 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/sysmoOCTSIM/gcc/Makefile b/sysmoOCTSIM/gcc/Makefile index d5c11e8..025e2dd 100644 --- a/sysmoOCTSIM/gcc/Makefile +++ b/sysmoOCTSIM/gcc/Makefile @@ -143,7 +143,7 @@ # List the subdirectories for creating object files SUB_DIRS := $(sort $(foreach obj,$(OBJS),$(dir $(obj)))) -OUTPUT_FILE_NAME := sysmoOCTSIM +OUTPUT_FILE_NAME := sysmoOCTSIM-$(GIT_VERSION) QUOTE := " OUTPUT_FILE_PATH +=$(OUTPUT_FILE_NAME).elf OUTPUT_FILE_PATH_AS_ARGS +=$(OUTPUT_FILE_NAME).elf -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/14561 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: I21a782de7e6a51351f8c8a4a24bb06107ebe0b14 Gerrit-Change-Number: 14561 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 20 16:51:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:51:01 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/ranap: enrich both t(s|r)_RANAP_DirectTransfer templates In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14550 ) Change subject: library/ranap: enrich both t(s|r)_RANAP_DirectTransfer templates ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7333d08c4d5a72159bfbd50fe8e7b1084cd61b9e Gerrit-Change-Number: 14550 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Jun 2019 16:51:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 20 16:51:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:51:24 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RAN_Emulation.ttcnpp: fix: properly handle SAPI / DLCI for RANAP In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14551 ) Change subject: library/RAN_Emulation.ttcnpp: fix: properly handle SAPI / DLCI for RANAP ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6199fd5f26774fb1ec419bc1ef9e1caeca3a0d35 Gerrit-Change-Number: 14551 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Jun 2019 16:51:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 20 16:51:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:51:36 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests_Iu.ttcn: fix TC_iu_lu_and_mo_ussd_mo_release(): use proper ... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14553 ) Change subject: MSC_Tests_Iu.ttcn: fix TC_iu_lu_and_mo_ussd_mo_release(): use proper BSC number ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I58149f0e9cbae9684a8a899bfee81b0de609ccac Gerrit-Change-Number: 14553 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Jun 2019 16:51: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 20 16:51:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:51:37 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/ranap: enrich both t(s|r)_RANAP_DirectTransfer templates In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14550 ) Change subject: library/ranap: enrich both t(s|r)_RANAP_DirectTransfer templates ...................................................................... library/ranap: enrich both t(s|r)_RANAP_DirectTransfer templates Instead of having two similar variants of RANAP_DirectTransfer: - t(s|r)_RANAP_DirectTransfer, and - t(s|r)_RANAP_DirectTransferSAPI, let's make the first one more flexible, and drop the last one. This is achieved by introducing two supplementary functions: - f_gen_ts_dt_ies(), and - f_gen_tr_dt_ies, which dynamically compose DirectTransfer.protocolIEs. Change-Id: I7333d08c4d5a72159bfbd50fe8e7b1084cd61b9e --- M library/RAN_Emulation.ttcnpp M library/ranap/RANAP_Templates.ttcn 2 files changed, 87 insertions(+), 96 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index de5b7f3..b41d7eb 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -1097,12 +1097,8 @@ #ifdef RAN_EMULATION_RANAP case (RAN_PROTOCOL_RANAP) { var RANAP_PDU ranap; - if (false /* SAPI */) { - var RANAP_IEs.SAPI sapi := sapi_0; - ranap := valueof(ts_RANAP_DirectTransferSAPI(l3_enc, sapi)); - } else { - ranap := valueof(ts_RANAP_DirectTransfer(l3_enc)); - } + /* FIXME: convert DLCI into SAPI */ + ranap := valueof(ts_RANAP_DirectTransfer(l3_enc)); RANAP.send(ts_RANAP_DATA_req(sccp_conn_id, ranap)); } #endif diff --git a/library/ranap/RANAP_Templates.ttcn b/library/ranap/RANAP_Templates.ttcn index e55f212..df4ea03 100644 --- a/library/ranap/RANAP_Templates.ttcn +++ b/library/ranap/RANAP_Templates.ttcn @@ -998,25 +998,94 @@ * Direct Transfer *****************************************************************************************************/ +private function f_gen_ts_dt_ies(template (value) NAS_PDU nas, + template (omit) SAPI sapi, + template (value) DirectTransfer.protocolIEs opt_ies) +return DirectTransfer.protocolIEs { + var DirectTransfer.protocolIEs ies := { + /* NAS PDU is mandatory */ + { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := valueof(nas) + } + } + }; + + /* Optional IEs, e.g. LAI, RAC, SAI */ + ies := ies & valueof(opt_ies); + + /* Optional SAPI is the last IE */ + if (isvalue(sapi)) { + ies := ies & {{ + id := id_SAPI, + criticality := ignore, + value_ := { + sAPI := valueof(sapi) + } + }}; + } + + return ies; +} + +private function f_gen_tr_dt_ies(template NAS_PDU nas, + template SAPI sapi, + template DirectTransfer.protocolIEs opt_ies) +return template DirectTransfer.protocolIEs { + var template DirectTransfer.protocolIEs ies := { + /* NAS PDU is mandatory */ + { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := nas + } + } + }; + + /* Optional IEs start from index 1 */ + var integer idx := 1; + + /* Optional IEs, e.g. LAI, RAC, SAI */ + if (istemplatekind(opt_ies, "*")) { + ies[idx] := *; + idx := idx + 1; + } else if (not istemplatekind(opt_ies, "omit")) { + for (var integer i := 0; i < lengthof(opt_ies); i := i + 1) { + ies[idx] := opt_ies[idx]; + idx := idx + 1; + } + } + + /* Optional SAPI is the last IE */ + if (istemplatekind(sapi, "*")) { + ies[idx] := *; + } else if (not istemplatekind(sapi, "omit")) { + ies[idx] := { + id := id_SAPI, + criticality := ignore, + value_ := { + sAPI := sapi + } + }; + } + + return ies; +} + template (value) RANAP_PDU ts_RANAP_DirectTransfer(template (value) NAS_PDU nas, - /* template DirectTransfer.protocolIEs ies := {}, */ + template (omit) SAPI sapi := omit, + template (value) DirectTransfer.protocolIEs ies := {}, template (omit) DirectTransfer.protocolExtensions exts := omit) := { initiatingMessage := { procedureCode := id_DirectTransfer, criticality := ignore, value_ := { directTransfer := { - protocolIEs := { - { - id := id_NAS_PDU, - criticality := ignore, - value_ := { - nAS_PDU := nas - } - } - /* LAI, RAC, SAI */ - }, + protocolIEs := f_gen_ts_dt_ies(nas, sapi, ies), protocolExtensions := exts } } @@ -1024,89 +1093,15 @@ } template RANAP_PDU tr_RANAP_DirectTransfer(template NAS_PDU nas, - template SAPI sapi := sapi_0, - /* template DirectTransfer.protocolIEs ies := {}, */ + template SAPI sapi := *, + template DirectTransfer.protocolIEs ies := *, template DirectTransfer.protocolExtensions exts := *) := { initiatingMessage := { procedureCode := id_DirectTransfer, criticality := ignore, value_ := { directTransfer := { - protocolIEs := { - { - id := id_NAS_PDU, - criticality := ignore, - value_ := { - nAS_PDU := nas - } - }, - * /* LAI, RAC, SAI */ - }, - protocolExtensions := exts - } - } - } -} - -template (value) RANAP_PDU -ts_RANAP_DirectTransferSAPI(template (value) NAS_PDU nas, - template (value) SAPI sapi := sapi_0, - /* template DirectTransfer.protocolIEs ies := {}, */ - template (omit) DirectTransfer.protocolExtensions exts := omit) := { - initiatingMessage := { - procedureCode := id_DirectTransfer, - criticality := ignore, - value_ := { - directTransfer := { - protocolIEs := { - { - id := id_NAS_PDU, - criticality := ignore, - value_ := { - nAS_PDU := nas - } - }, - /* LAI, RAC, SAI */ - { - id := id_SAPI, - criticality := ignore, - value_ := { - sAPI := sapi - } - } - }, - protocolExtensions := exts - } - } - } -} -template RANAP_PDU -tr_RANAP_DirectTransferSAPI(template NAS_PDU nas, - template SAPI sapi := sapi_0, - /* template DirectTransfer.protocolIEs ies := {}, */ - template DirectTransfer.protocolExtensions exts := *) := { - initiatingMessage := { - procedureCode := id_DirectTransfer, - criticality := ignore, - value_ := { - directTransfer := { - protocolIEs := { - { - id := id_NAS_PDU, - criticality := ignore, - value_ := { - nAS_PDU := nas - } - }, - *, /* LAI, RAC, SAI */ - { - id := id_SAPI, - criticality := ignore, - value_ := { - sAPI := sapi - } - } - }, + protocolIEs := f_gen_tr_dt_ies(nas, sapi, ies), protocolExtensions := exts } } @@ -1394,7 +1389,7 @@ return ies[i].value_.nAS_PDU; } } - } else if (match(ranap, tr_RANAP_DirectTransfer(?, ?))) { + } else if (match(ranap, tr_RANAP_DirectTransfer(?))) { var DirectTransfer.protocolIEs ies := ranap.initiatingMessage.value_.directTransfer.protocolIEs; for (i := 0; i < lengthof(ies); i := i+1) { if (ies[i].id == id_NAS_PDU) { @@ -1412,7 +1407,7 @@ var integer i; /* InitialUE message has no SAPI */ - if (match(ranap, tr_RANAP_DirectTransfer(?, ?))) { + if (match(ranap, tr_RANAP_DirectTransfer(?, omit))) { var DirectTransfer.protocolIEs ies := ranap.initiatingMessage.value_.directTransfer.protocolIEs; for (i := 0; i < lengthof(ies); i := i+1) { if (ies[i].id == id_SAPI) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7333d08c4d5a72159bfbd50fe8e7b1084cd61b9e Gerrit-Change-Number: 14550 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 20 16:51:37 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:51:37 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: library/RAN_Emulation.ttcnpp: fix: properly handle SAPI / DLCI for RANAP In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14551 ) Change subject: library/RAN_Emulation.ttcnpp: fix: properly handle SAPI / DLCI for RANAP ...................................................................... library/RAN_Emulation.ttcnpp: fix: properly handle SAPI / DLCI for RANAP Some of our SMS related test cases are failing. The problem is that SMS related RAN messages shall be sent on SAPI 3, as per GSM TS 04.11, section 2.3, while they actually being sent on SAPI 0. For the messages coming from the TCs towards OsmoMSC over RANAP, we need to convert from DLCI to SAPI in f_xmit_raw_l3(). OsmoMSC also needs to be patched, because it seems to ignore SAPI IE. Change-Id: I6199fd5f26774fb1ec419bc1ef9e1caeca3a0d35 --- M library/RAN_Emulation.ttcnpp 1 file changed, 8 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index b41d7eb..207adcd 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -1096,9 +1096,15 @@ #endif #ifdef RAN_EMULATION_RANAP case (RAN_PROTOCOL_RANAP) { + var template (omit) RANAP_IEs.SAPI sapi := omit; var RANAP_PDU ranap; - /* FIXME: convert DLCI into SAPI */ - ranap := valueof(ts_RANAP_DirectTransfer(l3_enc)); + + /* Perform DLCI -> SAPI transformation (x & 0x07) */ + if (dlci and4b '07'O == '03'O) { + sapi := sapi_3; + } + + ranap := valueof(ts_RANAP_DirectTransfer(l3_enc, sapi := sapi)); RANAP.send(ts_RANAP_DATA_req(sccp_conn_id, ranap)); } #endif -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6199fd5f26774fb1ec419bc1ef9e1caeca3a0d35 Gerrit-Change-Number: 14551 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 Thu Jun 20 16:51:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:51:38 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: MSC_Tests_Iu.ttcn: fix TC_iu_lu_and_mo_ussd_mo_release(): use proper ... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14553 ) Change subject: MSC_Tests_Iu.ttcn: fix TC_iu_lu_and_mo_ussd_mo_release(): use proper BSC number ...................................................................... MSC_Tests_Iu.ttcn: fix TC_iu_lu_and_mo_ussd_mo_release(): use proper BSC number Change-Id: I58149f0e9cbae9684a8a899bfee81b0de609ccac --- M msc/MSC_Tests_Iu.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/msc/MSC_Tests_Iu.ttcn b/msc/MSC_Tests_Iu.ttcn index e592573..6491e27 100644 --- a/msc/MSC_Tests_Iu.ttcn +++ b/msc/MSC_Tests_Iu.ttcn @@ -383,7 +383,7 @@ testcase TC_iu_lu_and_mo_ussd_mo_release() runs on MTC_CT { var BSC_ConnHdlr vc_conn; - f_init(); + f_init(3); vc_conn := f_start_handler(refers(f_tc_lu_and_mo_ussd_mo_release), 1050, ran_idx := 2, ran_is_geran := false); vc_conn.done; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I58149f0e9cbae9684a8a899bfee81b0de609ccac Gerrit-Change-Number: 14553 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 20 16:53:56 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:53:56 +0000 Subject: Change in ...osmo-msc[master]: libmsc/ran_msg_iu.c: fix: properly handle SAPI IE of RANAP_DirectTran... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14552 ) Change subject: libmsc/ran_msg_iu.c: fix: properly handle SAPI IE of RANAP_DirectTransfer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I728b55b04e87fc23be6d4f8735e8cad82b6f640e Gerrit-Change-Number: 14552 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Jun 2019 16: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 Thu Jun 20 16:54:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:54:15 +0000 Subject: Change in ...osmo-msc[master]: gsm_04_11_gsup.c: fix broken reference counting for vsub In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14540 ) Change subject: gsm_04_11_gsup.c: fix broken reference counting for vsub ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ic729beb5f94cbbfbb251bc9ab66a5e7b799286c0 Gerrit-Change-Number: 14540 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Jun 2019 16:54:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 20 16:54:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:54:42 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_04_11.c: do not abuse LOG_TRANS() in gsm411_alloc_mt_trans() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/14541 ) Change subject: libmsc/gsm_04_11.c: do not abuse LOG_TRANS() in gsm411_alloc_mt_trans() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3c1e633aee5dd7cd0d367404a3def9cffe0b3baa Gerrit-Change-Number: 14541 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Jun 2019 16:54: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 20 16:54:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:54:46 +0000 Subject: Change in ...osmo-msc[master]: gsm_04_11_gsup.c: fix broken reference counting for vsub In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14540 ) Change subject: gsm_04_11_gsup.c: fix broken reference counting for vsub ...................................................................... gsm_04_11_gsup.c: fix broken reference counting for vsub This change is similar to I5540556b1c75f6873883e46b78656f31fc1ef186. In gsm411_gsup_rx() we do call vlr_subscr_find_by_imsi(), which increases subscriber's reference count by one using the function name as the token. However, we never release this token, so the reference count grows on every received GSUP FORWARD-SM message. Change-Id: Ic729beb5f94cbbfbb251bc9ab66a5e7b799286c0 --- M src/libmsc/gsm_04_11_gsup.c 1 file changed, 11 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/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index 331092a..2abfc92 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -287,8 +287,10 @@ int gsm411_gsup_rx(struct gsup_client_mux *gcm, void *data, const struct osmo_gsup_message *gsup_msg) { struct gsm_network *net = (struct gsm_network *) data; - struct vlr_subscr *vsub = vlr_subscr_find_by_imsi(net->vlr, gsup_msg->imsi, __func__); + struct vlr_subscr *vsub; + int rc; + vsub = vlr_subscr_find_by_imsi(net->vlr, gsup_msg->imsi, __func__); if (!vsub) { LOGP(DLSMS, LOGL_ERROR, "Rx %s for unknown subscriber, rejecting\n", osmo_gsup_message_type_name(gsup_msg->message_type)); @@ -303,16 +305,21 @@ case OSMO_GSUP_MSGT_READY_FOR_SM_ERROR: case OSMO_GSUP_MSGT_READY_FOR_SM_RESULT: DEBUGP(DMSC, "Routed to GSM 04.11 MO handler\n"); - return gsm411_gsup_mo_handler(net, vsub, gsup_msg); + rc = gsm411_gsup_mo_handler(net, vsub, gsup_msg); + break; /* GSM 04.11 code implementing MT SMS */ case OSMO_GSUP_MSGT_MT_FORWARD_SM_REQUEST: DEBUGP(DMSC, "Routed to GSM 04.11 MT handler\n"); - return gsm411_gsup_mt_handler(net, vsub, gsup_msg); + rc = gsm411_gsup_mt_handler(net, vsub, gsup_msg); + break; default: LOGP(DMM, LOGL_ERROR, "No handler found for %s, dropping message...\n", osmo_gsup_message_type_name(gsup_msg->message_type)); - return -GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL; + rc = -GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL; } + + vlr_subscr_put(vsub, __func__); + return rc; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ic729beb5f94cbbfbb251bc9ab66a5e7b799286c0 Gerrit-Change-Number: 14540 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 Thu Jun 20 16:54:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:54:46 +0000 Subject: Change in ...osmo-msc[master]: libmsc/gsm_04_11.c: do not abuse LOG_TRANS() in gsm411_alloc_mt_trans() In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14541 ) Change subject: libmsc/gsm_04_11.c: do not abuse LOG_TRANS() in gsm411_alloc_mt_trans() ...................................................................... libmsc/gsm_04_11.c: do not abuse LOG_TRANS() in gsm411_alloc_mt_trans() This change is similar to I6b68a0f0b32eb126e0f7e914a314130254d28467. If we 100% sure that trans == NULL, it makes more sense to use generic LOGP(DLSMS, LOGL_*, ...) call, so the logs can reflect more information than such dummy prefix: trans(NULL NULL callref-0x0 tid-0) ... Change-Id: I3c1e633aee5dd7cd0d367404a3def9cffe0b3baa --- M src/libmsc/gsm_04_11.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/gsm_04_11.c b/src/libmsc/gsm_04_11.c index 3a3ec8c..367cc6f 100644 --- a/src/libmsc/gsm_04_11.c +++ b/src/libmsc/gsm_04_11.c @@ -1097,13 +1097,13 @@ struct vlr_subscr *vsub) { struct msc_a *msc_a; - struct gsm_trans *trans = NULL; + struct gsm_trans *trans; int tid; /* Generate a new transaction ID */ tid = trans_assign_trans_id(net, vsub, TRANS_SMS); if (tid == -1) { - LOG_TRANS(trans, LOGL_ERROR, "No available transaction IDs\n"); + LOGP(DLSMS, LOGL_ERROR, "No available transaction IDs\n"); return NULL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3c1e633aee5dd7cd0d367404a3def9cffe0b3baa Gerrit-Change-Number: 14541 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 Thu Jun 20 16:54:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:54:46 +0000 Subject: Change in ...osmo-msc[master]: libmsc/ran_msg_iu.c: fix: properly handle SAPI IE of RANAP_DirectTran... In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-msc/+/14552 ) Change subject: libmsc/ran_msg_iu.c: fix: properly handle SAPI IE of RANAP_DirectTransfer ...................................................................... libmsc/ran_msg_iu.c: fix: properly handle SAPI IE of RANAP_DirectTransfer The RANAP DirectTransfer message may contain an optional SAPI IE. Thanks to our TTCN-3 tests (and Wireshark!), it was discovered that this IE is ignored, so even if the MO SMS related messages arrive on SAPI 3 (as per GSM TS 04.11, section 2.3) OsmoMSC sends MT messages on SAPI 0. In ran_iu_decode_l3() we need to check if the SAPI IE is present, and tag the NAS PDU message buffer with a proper DLCI value. This change makes the failing SMS related test cases pass. Change-Id: I728b55b04e87fc23be6d4f8735e8cad82b6f640e --- M src/libmsc/ran_msg_iu.c 1 file changed, 12 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/ran_msg_iu.c b/src/libmsc/ran_msg_iu.c index f443944..d5b9143 100644 --- a/src/libmsc/ran_msg_iu.c +++ b/src/libmsc/ran_msg_iu.c @@ -37,6 +37,7 @@ #include #include #include +#include /* Implement the extern talloc_asn1_ctx from libasn1c as talloc ctx for ASN.1 message composition */ void *talloc_asn1_ctx = NULL; @@ -92,8 +93,11 @@ msgb_free(ran); } -static void ran_iu_decode_l3(struct ran_dec *ran_iu_decode, const RANAP_NAS_PDU_t *nas_pdu, const char *msg_name) +static void ran_iu_decode_l3(struct ran_dec *ran_iu_decode, + const RANAP_DirectTransferIEs_t *ies, + const char *msg_name) { + const RANAP_NAS_PDU_t *nas_pdu = &ies->nas_pdu; struct msgb *ran = msgb_alloc(256, msg_name); struct ran_msg ran_dec_msg; @@ -101,6 +105,12 @@ ran->l3h = msgb_put(ran, nas_pdu->size); memcpy(ran->l3h, nas_pdu->buf, nas_pdu->size); + /* Handle optional SAPI IE */ + if (ies->presenceMask & DIRECTTRANSFERIES_RANAP_SAPI_PRESENT) { + if (ies->sapi == RANAP_SAPI_sapi_3) + OMSC_LINKID_CB(ran) = UM_SAPI_SMS; + } + ran_dec_msg = (struct ran_msg){ .msg_type = RAN_MSG_DTAP, .msg_name = msg_name, @@ -266,7 +276,7 @@ return; case RANAP_ProcedureCode_id_DirectTransfer: - ran_iu_decode_l3(ran_iu_decode, &message->msg.directTransferIEs.nas_pdu, "RANAP DirectTransfer RAN PDU"); + ran_iu_decode_l3(ran_iu_decode, &message->msg.directTransferIEs, "RANAP DirectTransfer RAN PDU"); return; case RANAP_ProcedureCode_id_SecurityModeControl: -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/14552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I728b55b04e87fc23be6d4f8735e8cad82b6f640e Gerrit-Change-Number: 14552 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 20 16:57:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 16:57:15 +0000 Subject: Change in ...openbsc[master]: bsc-nat: Remove whitespace at the end of CTR descriptions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/14539 ) Change subject: bsc-nat: Remove whitespace at the end of CTR descriptions ...................................................................... Patch Set 1: Code-Review+1 IIRC this was the style that back then Jacob preferred to use. IIRC the goal was to use this as a hack for proper indenting in vty display of the counteres. I always found it highly questionable, but I'm not sure if we have users that base on that assumption by now? But yes, I'm in favour of it. The vty code should take care of indenting/formatting, e.g. by iterating the counters names twice: once to determine the longest string (and hence indent level), and then use that information to properly format it in the second run. -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/14539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Ia7ff352de1fb1997066f72e84a7d517c7642853a Gerrit-Change-Number: 14539 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 20 Jun 2019 16:57:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 20 17:52:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 17:52:23 +0000 Subject: Change in ...docker-playground[master]: Have only one bts/bsc configured in osmo-bsc and bscnat In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14546 ) Change subject: Have only one bts/bsc configured in osmo-bsc and bscnat ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I57468d983580b5ed4f15961ac1eac9bed9096556 Gerrit-Change-Number: 14546 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Jun 2019 17: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 Thu Jun 20 18:16:36 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Jun 2019 18:16:36 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: queue.c: Document queue APIs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14557 ) Change subject: gtp: queue.c: Document queue APIs ...................................................................... Patch Set 2: Code-Review+2 Oh thanks I forgot about the final dot. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I8523a0d0508d7fb870a4a9119aa8eb4c3a4d6f17 Gerrit-Change-Number: 14557 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Jun 2019 18:16: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 20 18:17:20 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 20 Jun 2019 18:17:20 +0000 Subject: Change in ...openbsc[master]: bsc-nat: Remove whitespace at the end of CTR descriptions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/14539 ) Change subject: bsc-nat: Remove whitespace at the end of CTR descriptions ...................................................................... Patch Set 1: Anyways, we don't use that formatting in any of the other projects, so let's remove it. I agree the function doing the printing should take care of the formatting. -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/14539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Ia7ff352de1fb1997066f72e84a7d517c7642853a Gerrit-Change-Number: 14539 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Jun 2019 18:17:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 20 21:13:42 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 20 Jun 2019 21:13:42 +0000 Subject: Change in ...openbsc[master]: bsc-nat: Remove whitespace at the end of CTR descriptions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/14539 ) Change subject: bsc-nat: Remove whitespace at the end of CTR descriptions ...................................................................... Patch Set 1: Code-Review+2 The PCU vor gvproxy also used to do this a lot -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/14539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Ia7ff352de1fb1997066f72e84a7d517c7642853a Gerrit-Change-Number: 14539 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 20 Jun 2019 21:13:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 00:07:33 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 Jun 2019 00:07:33 +0000 Subject: Change in ...osmo-bsc[master]: doc/manuals: review and tweak handover docs In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14515 ) Change subject: doc/manuals: review and tweak handover docs ...................................................................... Patch Set 1: Code-Review+2 let me just apply this now (only doc) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib25cee8fd8c243881b99173a9a3036ad19d0f8af Gerrit-Change-Number: 14515 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 00: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 Fri Jun 21 00:07:41 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 21 Jun 2019 00:07:41 +0000 Subject: Change in ...osmo-bsc[master]: doc/manuals: review and tweak handover docs In-Reply-To: References: Message-ID: neels has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14515 ) Change subject: doc/manuals: review and tweak handover docs ...................................................................... doc/manuals: review and tweak handover docs Change-Id: Ib25cee8fd8c243881b99173a9a3036ad19d0f8af --- M doc/manuals/chapters/handover.adoc M doc/manuals/chapters/handover_inter_bsc.dot M doc/manuals/chapters/handover_intra_bsc.dot 3 files changed, 62 insertions(+), 53 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve neels: Looks good to me, approved diff --git a/doc/manuals/chapters/handover.adoc b/doc/manuals/chapters/handover.adoc index c75b03c..2f9d598 100644 --- a/doc/manuals/chapters/handover.adoc +++ b/doc/manuals/chapters/handover.adoc @@ -22,9 +22,7 @@ is currently not implemented. However, you may still advertise 3G and 4G neighbor cells in order to facilitate cell/RAT re-selection to those neighbors. -At the time of writing, OsmoMSC's inter-BSC handover support is not complete -yet, so OsmoBSC can perform handover between separate BSS only in conjunction -with a 3rd party MSC implementation. +Since 2019, OsmoMSC fully supports both inter-BSC and inter-MSC handover. .Handover support in Osmocom at the time of writing [cols="^,^,^,^,^"] @@ -34,6 +32,7 @@ | OsmoMSC | (not involved, except for codec changes) | (planned) | (planned) | - |==== +Most handover related procedures are explained in 3GPP TS 48.008. === How Handover Works @@ -45,9 +44,20 @@ cells, its "neighbors". On the MS/BTS/BSS level, individual cells are identified by ARFCN+BSIC (frequency + 6-bit identification code). -Each BTS is told by the BSC which cells identified by ARFCN+BSIC are its -adjacent cells. Via System Information, each MS receives a list of these -ARFCN+BSIC, and the MS then return measurements of reception levels. +The BSC instructs each BTS with a list of ARFCNs (i.e. GSM frequency bands) +that qualify as neighbor cells, as part of the System Information Type 2. Each +MS served by a BTS receives the System Information Type 2 and thus knows which +ARFCNs to measure for potential handover. Each MS with an active channel then +returns up to 6 measurements of reception levels (RXLEV) to the BTS, to be +forwarded to the BSC in RSL Measurement Report messages. + +Note that the BTS and MS are told only the ARFCNs, not the BSICs, of neighbor +cells; the BSICs are however included in the measurements that an MS returns to +BTS and BSC. Commonly, each ARFCN is owned by one specific operator, so, an MS +considers all visible cells on a given ARFCN as possible neighbors. However, as +soon as an MS reports RXLEV of a specific neighbor cell, the BSC needs to know +which exact cell to possibly handover to, which is why the MS pinpoints the +specific BSIC that it reported measurements for. The BSC is the point of decision whether to do handover or not. This can be a hugely complex combination of heuristics, knowledge of cell load and codec @@ -74,18 +84,18 @@ Should handover fail at any point, e.g. the new lchan never receives a RACH, or the MS reports a Handover Failure, then the new lchan is simply released again, and the old lchan remains in use. If the RTP stream has already been switched -over to the new lchan, it may actually be switched back to the old lchan. +over to the new lchan, it is switched back to the old lchan. This is simple enough if the new cell is managed by the same BSC: the OsmoMGW is simply instructed to relay the BTS-side of the RTP stream to another IP address and port, and the BSC continues to forward DTAP to the MSC -transparently. The operation happens completely within the BSS. If the voice -codec has remained unchanged, the MSC/MNCC may not even be notified that -anything has happened at all. +transparently. The operation happens completely within the BSS, except for the +BSSMAP Handover Performed message sent to the MSC once the handover is +completed (see 3GPP TS 48.008). ==== External / Inter-BSC Handover -If the adjacent target cell belongs to a different BSS, the RR procedure for +If the handover target cell belongs to a different BSS, the RR procedure for handover remains the same, but we need to tell the _remote_ BSC to allocate the new lchan. @@ -108,7 +118,7 @@ The first part, identifying the remote BSC, is not as trivial as it sounds: as mentioned above, on the level of cell information seen by BTS and MS, the neighbor cells are identified by ARFCN+BSIC. However, on the A-interface and in -the MSC, there is no knowledge of ARFCN+BSIC configurations, and instead each +the MSC, there is no knowledge of ARFCN+BSIC configurations. Instead, each cell is identified by a LAC and CI (Location Area Code and Cell Identifier). NOTE: There are several different cell identification types on the A-interface: @@ -116,15 +126,7 @@ most of these (see <>). For simplicity, this description focuses on LAC+CI identification. -The most obvious reason for using LAC+CI is that identical ARFCN+BSIC are -typically re-used across many cells of the same network operator: an operator -will have only very few ARFCNs available, and the 6bit BSIC opens only a very -limited range of distinction between cells. As long as each cell has no more -than one neighbor per given ARFCN+BSIC, these values can be re-used any number -of times across a network, and even between cells managed by one and the same -BSC. - -The consequence of this is that +Hence: - the BSC needs to know which remote-BSS cells' ARFCN+BSIC correspond to exactly which global LAC+CI, and @@ -134,6 +136,14 @@ of its remote-BSS neighbor cells, and the MSC requires prior knowledge about each BSC's cell identifiers; i.e. these config items are spread reduntantly. +The most obvious reason for using LAC+CI in BSSMAP is that identical ARFCN+BSIC +are typically re-used across many cells of the same network operator: an +operator will have only very few ARFCNs available, and the 6bit BSIC opens only +a very limited range of distinction between cells. As long as each cell has no +more than one neighbor per given ARFCN+BSIC, these values can be re-used any +number of times across a network, and even between cells managed by one and the +same BSC. + === Configuring Neighbors The most important step to enable handover in OsmoBSC is to configure each cell @@ -142,12 +152,12 @@ For a long time, OsmoBSC has offered configuration to manually enter the ARFCN+BSIC sent out as neighbors on various System Information messages (all -`neighbor-list` related commands). This is still possible, however, +`neighbor-list` related commands). This is still possible; however, particularly for re-using ARFCN+BSIC within one BSS, this method will not work well. With the addition of inter-BSC handover support, the new `neighbor` config item -has been added to the `bts` config, to maintain explicit cell-to-cell neighbor +has been added to the `bts` config node, to maintain explicit cell-to-cell neighbor relations, with the possibility to re-use ARFCN+BSIC in each cell. It is recommended to completely replace `neighbor-list` configurations with the @@ -157,31 +167,30 @@ .Overview of neighbor configuration on the `bts` config node [frame="none",grid="none",cols="^10%,^10%,80%"] |==== -| Local | Remote BSS | -| ? | | neighbor bts 5 -| ? | | neighbor lac 200 -| ? | | neighbor lac-ci 200 3 -| ? | | neighbor cgi 001 01 200 3 -| ? | ? | neighbor lac 200 arfcn 123 bsic 1 -| ? | ? | neighbor lac-ci 200 3 arfcn 123 bsic 1 -| ? | ? | neighbor cgi 001 01 200 3 arfcn 123 bsic 1 +| Local | Remote BSS | type of `neighbor` config line, by example +| ? | | `neighbor bts 5` +| ? | | `neighbor lac 200` +| ? | | `neighbor lac-ci 200 3` +| ? | | `neighbor cgi 001 01 200 3` +| ? | ? | `neighbor lac 200 arfcn 123 bsic 1` +| ? | ? | `neighbor lac-ci 200 3 arfcn 123 bsic 1` +| ? | ? | `neighbor cgi 001 01 200 3 arfcn 123 bsic 1` |==== ==== Default: All Local Cells are Neighbors -For historical reasons, the default behavior of OsmoBSC is to add all local-BSS cells as neighbors. To -maintain a backwards compatible configuration file format, this is still the case: as soon as no explicit +For historical reasons, the default behavior of OsmoBSC is to add all local-BSS cells as neighbors for every other cell. To +maintain a backwards compatible configuration file format, this is still the case: as long as no explicit neighbor cell is configured with a `neighbor` command (either none was configured, or all configured -neighbors have been removed again), a cell automatically lists all of the local-BSS cells as neighbors. +`neighbor` lines have been removed again), a cell automatically lists all of the local-BSS cells as neighbors. These are implicit mappings in terms of the legacy neighbor configuration scheme, and re-using ARFCN+BSIC combinations within a BSS will not work well this way. -As soon as the first explicit neighbor relation is added to a cell, the legacy behavior is switched off, +As soon as the first explicit `neighbor` relation is added to a cell, the legacy behavior is switched off, and only explicit neighbors are in effect. -NOTE: If a cell is required to not have any neighbors, it is recommended to rather switch off handover -for that cell with `handover 0`. An alternative solution is to set `neighbor-list mode manual` and not -configure any `neighbor-list` entries. +NOTE: If a cell is required to not have any neighbors, it is recommended to switch off handover +for that cell with `handover 0`. ==== Local-BSS Neighbors @@ -228,10 +237,13 @@ It is allowed to include the ARFCN and BSIC of local neighbor cells, even though that is redundant with the already known local configuration of the -other cell. The idea is to ease generating the neighbor configuration -automatically, since local-BSS and remote-BSS neighbors then share identical -configuration formatting. For human readability and maintainability, it may -instead be desirable to use the `neighbor bts <0-255>` format. +target cell. The idea is to ease generating the neighbor configuration +automatically, in that local-BSS and remote-BSS neighbors can have identical +configuration formatting. If the cell identification (LAC+CI) matches a local +cell but a mismatching ARFCN+BSIC follows on the same config line, OsmoBSC will +report errors. For human readability and maintainability, it may instead be +desirable to use the `neighbor bts <0-255>` format, or omit the redundant +`arfcn` and `bsic`. .Example: configuring neighbors within the local BSS in osmo-bsc.cfg, redundantly identified by LAC+CI as well as ARFCN+BSIC ---- @@ -260,14 +272,11 @@ neighbor lac-ci 23 5 arfcn 1 bsic 1 ---- -If the cell identification matches a local cell, OsmoBSC will report errors if -the provided ARFCN+BSIC do not match. - ==== Remote-BSS Neighbors -Remote-BSS neighbors _always_ need to be configured with full A-interface +Remote-BSS neighbors always need to be configured with full A-interface identification _and_ ARFCN+BSIC, to allow mapping a cell's neighbor ARFCN+BSIC -to a _BSSMAP Cell Identifier_ (see 3GPP TS 48.008 3.1.5.1 Handover Required +to a BSSMAP Cell Identifier (see 3GPP TS 48.008 3.1.5.1 Handover Required Indication and 3.2.1.9 HANDOVER REQUIRED). .Example: configuring remote-BSS neighbors in osmo-bsc.cfg, identified by LAC+CI (showing both BSCs' configurations) @@ -320,7 +329,7 @@ === Configuring Handover Decisions For a long time, OsmoBSC has supported handover based on reception level -hysteresis (RXLEV) and distance (TA, Timing Advance), known has `algorithm 1`. +hysteresis (RXLEV) and distance (TA, Timing Advance), known as `algorithm 1`. Since 2018, OsmoBSC also supports a load-based handover decision algorithm, known as `algorithm 2`, which also takes cell load, available codecs and @@ -387,7 +396,7 @@ ---- The order in which these settings are issued makes no difference for the -overlay; i.e., this configuration is perfectly identical to the above, and the +overlay; i.e., the following configuration is perfectly identical to the above, and the individual cell's value remains in force: ---- diff --git a/doc/manuals/chapters/handover_inter_bsc.dot b/doc/manuals/chapters/handover_inter_bsc.dot index 0cc6554..42decef 100644 --- a/doc/manuals/chapters/handover_inter_bsc.dot +++ b/doc/manuals/chapters/handover_inter_bsc.dot @@ -18,8 +18,8 @@ } MS -> BTS_a1 [label="(3) Measurement:\nARFCN=1 BSIC=3 RXLEV"] -BTS_a1 -> MS [label="(1) my neighbors:\nARFCN=1 BSIC=1\nARFCN=1 BSIC=3"] -BTS_b0 -> MS [label="(2) good RXLEV",style=dotted] +BTS_a1 -> MS [label="(1) my neighbors:\nARFCN=1"] +BTS_b0 -> MS [label="(2) good RXLEV\nBSIC=3",style=dotted] MS -> {BTS_a0,BTS_b0,BTS_b1} [style=invisible,arrowhead=none] BTS_a1 -> BSC_a [label="(4) Measurement\nReport",style=dashed] diff --git a/doc/manuals/chapters/handover_intra_bsc.dot b/doc/manuals/chapters/handover_intra_bsc.dot index 2a4f6cf..75eedec 100644 --- a/doc/manuals/chapters/handover_intra_bsc.dot +++ b/doc/manuals/chapters/handover_intra_bsc.dot @@ -18,8 +18,8 @@ } MS -> BTS_a1 [label="(3) Measurement:\nARFCN=1 BSIC=1 RXLEV"] -BTS_a1 -> MS [label="(1) my neighbors:\nARFCN=1 BSIC=1\nARFCN=1 BSIC=3"] -BTS_a0 -> MS [label="(2) good RXLEV",style=dotted] +BTS_a1 -> MS [label="(1) my neighbors:\nARFCN=1"] +BTS_a0 -> MS [label="(2) good RXLEV\nBSIC=1",style=dotted] MS -> {BTS_a0,BTS_b0,BTS_b1} [style=invisible,arrowhead=none] BTS_a1 -> BSC_a [label="(4) Measurement\nReport",style=dashed] -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib25cee8fd8c243881b99173a9a3036ad19d0f8af Gerrit-Change-Number: 14515 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Jun 21 07:40:26 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 21 Jun 2019 07:40:26 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0c89f866545_4e3c62c5f016205f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 752s] | configure:8981: result: yes [ 752s] | configure:8996: checking if gcc supports -c -o file.o [ 752s] | configure:9017: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o out/conftest2.o conftest.c >&5 [ 752s] | configure:9021: $? = 0 [ 752s] | configure:9043: result: yes [ 752s] | configure:9051: checking if gcc supports -c -o file.o [ 752s] | configure:9098: result: yes [ 752s] | configure:9131: checking whether the gcc linker (/usr/bin/ld) supports shared libraries [ 752s] | configure:10394: result: yes [ 752s] | configure:10431: checking whether -lc should be explicitly linked in [ 752s] | configure:10439: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 752s] | configure:10442: $? = 0 [ 752s] | configure:10457: gcc -shared -fPIC -DPIC conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /bin/grep -lc \>/dev/null 2\>\&1 [ 752s] | configure:10460: $? = 0 [ 752s] | configure:10474: result: no [ 752s] | configure:10634: checking dynamic linker characteristics [ 752s] | configure:11215: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now -Wl,-rpath -Wl,/foo conftest.c >&5 [ 752s] | configure:11215: $? = 0 [ 752s] | configure:11464: result: GNU/Linux ld.so [ 752s] | configure:11586: checking how to hardcode library paths into programs [ 752s] | configure:11611: result: immediate [ 752s] | configure:12159: checking whether stripping libraries is possible [ 752s] | configure:12164: result: yes [ 754s] | configure:12199: checking if libto[ 700.718079] sysrq: SysRq : Power Off [ 754s] [ 700.719604] reboot: Power down [ 754s] ### VM INTERACTION END ### [ 754s] [ 754s] armbuild14 failed "build libosmocore_1.1.0.71.18e0.dsc" at Fri Jun 21 07:40:09 UTC 2019. [ 754s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Jun 21 07:53:18 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 21 Jun 2019 07:53:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0c8d0671c44_4e3c62c5f01644d6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 499s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 499s] ./src/common/bts.c:423: undefined reference to `lapdm_channel_init2' [ 499s] collect2: error: ld returned 1 exit status [ 499s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 499s] make[4]: *** [osmo-bts-virtual] Error 1 [ 499s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 499s] Makefile:385: recipe for target 'all-recursive' failed [ 499s] make[3]: *** [all-recursive] Error 1 [ 499s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 499s] Makefile:434: recipe for target 'all-recursive' failed [ 499s] make[2]: *** [all-recursive] Error 1 [ 499s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 499s] Makefile:366: recipe for target 'all' failed [ 499s] make[1]: *** [all] Error 2 [ 499s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 499s] dh_auto_build: make -j1 returned exit code 2 [ 499s] debian/rules:12: recipe for target 'build' failed [ 499s] make: *** [build] Error 2 [ 499s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 499s] [ 499s] armbuild10 failed "build osmo-bts_0.8.1.327.876e.dsc" at Fri Jun 21 07:53:12 UTC 2019. [ 499s] [ 499s] ### VM INTERACTION START ### [ 502s] [ 459.419069] sysrq: SysRq : Power Off [ 502s] [ 459.420965] reboot: Power down [ 502s] ### VM INTERACTION END ### [ 502s] [ 502s] armbuild10 failed "build osmo-bts_0.8.1.327.876e.dsc" at Fri Jun 21 07:53:15 UTC 2019. [ 502s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Jun 21 08:53:17 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 21 Jun 2019 08:53:17 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0c9b19743fe_4e3c62c5f01840d1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-msc failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 881s] tmsi |= GSM23003_TMSI_SGSN_MASK; [ 881s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 881s] vlr.c:339:12: note: each undeclared identifier is reported only once for each function it appears in [ 881s] Makefile:442: recipe for target 'vlr.o' failed [ 881s] make[4]: *** [vlr.o] Error 1 [ 881s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/libvlr' [ 881s] Makefile:422: recipe for target 'all-recursive' failed [ 881s] make[3]: *** [all-recursive] Error 1 [ 881s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 881s] Makefile:462: recipe for target 'all-recursive' failed [ 881s] make[2]: *** [all-recursive] Error 1 [ 881s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 881s] Makefile:394: recipe for target 'all' failed [ 881s] make[1]: *** [all] Error 2 [ 881s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 881s] dh_auto_build: make -j1 returned exit code 2 [ 881s] debian/rules:45: recipe for target 'build' failed [ 881s] make: *** [build] Error 2 [ 881s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 881s] [ 881s] obs-arm-5 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Fri Jun 21 08:52:46 UTC 2019. [ 881s] [ 881s] ### VM INTERACTION START ### [ 885s] [ 851.912037] sysrq: SysRq : Power Off [ 885s] [ 852.522803] reboot: Power down [ 896s] ### VM INTERACTION END ### [ 896s] [ 896s] obs-arm-5 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Fri Jun 21 08:53:01 UTC 2019. [ 896s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Jun 21 09:00:26 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 21 Jun 2019 09:00:26 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0c9cb78aa3f_4e3c62c5f0184949@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-sgsn failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 825s] bss_ptmsi = bss_ptmsi | GSM23003_TMSI_SGSN_MASK; [ 825s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 825s] gb_proxy.c:246:28: note: each undeclared identifier is reported only once for each function it appears in [ 825s] Makefile:615: recipe for target 'gb_proxy.o' failed [ 825s] make[4]: *** [gb_proxy.o] Error 1 [ 825s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/gprs' [ 825s] Makefile:391: recipe for target 'all-recursive' failed [ 825s] make[3]: *** [all-recursive] Error 1 [ 825s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 825s] Makefile:453: recipe for target 'all-recursive' failed [ 825s] make[2]: *** [all-recursive] Error 1 [ 825s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 825s] Makefile:385: recipe for target 'all' failed [ 825s] make[1]: *** [all] Error 2 [ 825s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 825s] dh_auto_build: make -j1 returned exit code 2 [ 825s] debian/rules:45: recipe for target 'build' failed [ 825s] make: *** [build] Error 2 [ 825s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 825s] [ 825s] obs-arm-5 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Fri Jun 21 09:00:18 UTC 2019. [ 825s] [ 825s] ### VM INTERACTION START ### [ 828s] [ 791.199427] sysrq: SysRq : Power Off [ 828s] [ 791.201911] reboot: Power down [ 829s] ### VM INTERACTION END ### [ 829s] [ 829s] obs-arm-5 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Fri Jun 21 09:00:22 UTC 2019. [ 829s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Jun 21 09:33:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Jun 2019 09:33:05 +0000 Subject: Change in ...openbsc[master]: bsc-nat: Remove whitespace at the end of CTR descriptions In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/openbsc/+/14539 ) Change subject: bsc-nat: Remove whitespace at the end of CTR descriptions ...................................................................... bsc-nat: Remove whitespace at the end of CTR descriptions Change-Id: Ia7ff352de1fb1997066f72e84a7d517c7642853a --- M openbsc/src/osmo-bsc_nat/bsc_nat_utils.c 1 file changed, 13 insertions(+), 13 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/openbsc/src/osmo-bsc_nat/bsc_nat_utils.c b/openbsc/src/osmo-bsc_nat/bsc_nat_utils.c index 223ef34..c4fe0d3 100644 --- a/openbsc/src/osmo-bsc_nat/bsc_nat_utils.c +++ b/openbsc/src/osmo-bsc_nat/bsc_nat_utils.c @@ -46,19 +46,19 @@ #include static const struct rate_ctr_desc bsc_cfg_ctr_description[] = { - [BCFG_CTR_SCCP_CONN] = { "sccp:conn", "SCCP Connections "}, - [BCFG_CTR_SCCP_CALLS] = { "sccp:calls", "SCCP Assignment Commands "}, - [BCFG_CTR_NET_RECONN] = { "net:reconnects", "Network reconnects "}, - [BCFG_CTR_DROPPED_SCCP] = { "dropped:sccp", "Dropped SCCP connections."}, - [BCFG_CTR_DROPPED_CALLS] = { "dropped:calls", "Dropped active calls. "}, - [BCFG_CTR_REJECTED_CR] = { "rejected:cr", "Rejected CR due filter "}, - [BCFG_CTR_REJECTED_MSG] = { "rejected:msg", "Rejected MSG due filter "}, - [BCFG_CTR_ILL_PACKET] = { "rejected:ill", "Rejected due parse error "}, - [BCFG_CTR_CON_TYPE_LU] = { "conn:lu", "Conn Location Update "}, - [BCFG_CTR_CON_CMSERV_RQ] = { "conn:rq", "Conn CM Service Req "}, - [BCFG_CTR_CON_PAG_RESP] = { "conn:pag", "Conn Paging Response "}, - [BCFG_CTR_CON_SSA] = { "conn:ssa", "Conn USSD "}, - [BCFG_CTR_CON_OTHER] = { "conn:other", "Conn Other "}, + [BCFG_CTR_SCCP_CONN] = { "sccp:conn", "SCCP Connections" }, + [BCFG_CTR_SCCP_CALLS] = { "sccp:calls", "SCCP Assignment Commands"}, + [BCFG_CTR_NET_RECONN] = { "net:reconnects", "Network reconnects" }, + [BCFG_CTR_DROPPED_SCCP] = { "dropped:sccp", "Dropped SCCP connections"}, + [BCFG_CTR_DROPPED_CALLS] = { "dropped:calls", "Dropped active calls." }, + [BCFG_CTR_REJECTED_CR] = { "rejected:cr", "Rejected CR due filter" }, + [BCFG_CTR_REJECTED_MSG] = { "rejected:msg", "Rejected MSG due filter" }, + [BCFG_CTR_ILL_PACKET] = { "rejected:ill", "Rejected due parse error"}, + [BCFG_CTR_CON_TYPE_LU] = { "conn:lu", "Conn Location Update" }, + [BCFG_CTR_CON_CMSERV_RQ] = { "conn:rq", "Conn CM Service Req" }, + [BCFG_CTR_CON_PAG_RESP] = { "conn:pag", "Conn Paging Response" }, + [BCFG_CTR_CON_SSA] = { "conn:ssa", "Conn USSD" }, + [BCFG_CTR_CON_OTHER] = { "conn:other", "Conn Other" }, }; static const struct rate_ctr_group_desc bsc_cfg_ctrg_desc = { -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/14539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: Ia7ff352de1fb1997066f72e84a7d517c7642853a Gerrit-Change-Number: 14539 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 Fri Jun 21 09:33:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Jun 2019 09:33:12 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: queue.c: Document queue APIs In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14557 ) Change subject: gtp: queue.c: Document queue APIs ...................................................................... gtp: queue.c: Document queue APIs Change-Id: I8523a0d0508d7fb870a4a9119aa8eb4c3a4d6f17 --- M gtp/queue.c 1 file changed, 46 insertions(+), 9 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/gtp/queue.c b/gtp/queue.c index 305a33c..ce4713e 100644 --- a/gtp/queue.c +++ b/gtp/queue.c @@ -62,7 +62,7 @@ return seq % QUEUE_HASH_SIZE; } -/*! \brief Insert a message with given sequence number into the hash +/*! \brief Insert a message with given sequence number into the hash. * * This function sets the peer and the seq of the qmsg and then inserts * the qmsg into the queue hash. To do so, it does a hashtable lookup @@ -121,7 +121,10 @@ return EOF; /* End of linked list and not found */ } -/*! \brief Allocates and initialises new queue structure */ +/*! Allocates and initialises new queue structure. + * \param[out] queue pointer where to store the allocated object. Must be freed with queue_free + * \returns zero on success, non-zero on error + */ int queue_new(struct queue_t **queue) { if (QUEUE_DEBUG) @@ -138,7 +141,10 @@ return 0; } -/*! \brief Deallocates queue structure */ +/*! Deallocates queue structure. + * \param[in] queue pointer previously allocated by queue_new + * \returns zero on success, non-zero on error. + */ int queue_free(struct queue_t *queue) { if (QUEUE_DEBUG) @@ -149,7 +155,13 @@ return 0; } -/*! \brief Add a new message to the queue */ +/*! Add a new message to the queue. + * \param[in] queue pointer previously allocated by queue_new + * \param[out] qmsg first message from the queue (if succeeds) + * \param[in] peer who sent the message to add + * \param[in] seq sequence number of the message to add + * \returns zero on success, non-zero on error. + */ int queue_newmsg(struct queue_t *queue, struct qmsg_t **qmsg, struct sockaddr_in *peer, uint16_t seq) { @@ -176,7 +188,11 @@ } } -/*! \brief Simply remoev a given qmsg_t from the queue + +/*! Remove an element from the queue. + * \param[in] queue pointer previously allocated by queue_new + * \param[in] qmsg message to free + * \returns zero on success, non-zero on error. * * Internally, we first delete the entry from the queue, and then update * up our global queue->first / queue->last pointers. Finally, @@ -210,7 +226,11 @@ return 0; } -/*! \brief Move a given qmsg_t to the end of the queue ?!? */ +/*! Move a given qmsg_t to the end of the queue. + * \param[in] queue pointer previously allocated by queue_new + * \param[in] qmsg message to move to the end of the queue + * \returns zero on success, non-zero on error. + */ int queue_back(struct queue_t *queue, struct qmsg_t *qmsg) { if (QUEUE_DEBUG) @@ -236,7 +256,11 @@ return 0; } -/*! \brief Get the first element in the entire queue */ +/*! Get the first element in the entire queue. + * \param[in] queue pointer previously allocated by queue_new + * \param[out] qmsg first message from the queue (if succeeds) + * \returns zero on success, non-zero on error. + */ int queue_getfirst(struct queue_t *queue, struct qmsg_t **qmsg) { /*printf("queue_getfirst\n"); */ @@ -250,7 +274,13 @@ return 0; } -/*! \brief Get a queue entry for a given peer + seq */ +/*! Get a queue entry for a given peer + seq. + * \param[in] queue pointer previously allocated by queue_new + * \param[out] qmsg first message from the queue (if succeeds) + * \param[in] peer who sent the message to retrieve + * \param[in] seq sequence number of the message to retrive + * \returns zero on success, non-zero on error. + */ int queue_seqget(struct queue_t *queue, struct qmsg_t **qmsg, struct sockaddr_in *peer, uint16_t seq) { @@ -272,7 +302,14 @@ return EOF; /* End of linked list and not found */ } -/*! \brief look-up a given seq/peer, return cbp + type and free entry */ +/*! look-up a given seq/peer, return cbp + type and free entry. + * \param[in] queue pointer previously allocated by queue_new + * \param[in] peer who sent the message to retrieve + * \param[in] seq sequence number of the message to retrive + * \param[out] type GTP message type + * \param[out] type callback pointer of the message + * \returns zero on success, non-zero on error. + */ int queue_freemsg_seq(struct queue_t *queue, struct sockaddr_in *peer, uint16_t seq, uint8_t * type, void **cbp) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I8523a0d0508d7fb870a4a9119aa8eb4c3a4d6f17 Gerrit-Change-Number: 14557 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 Fri Jun 21 09:33:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Jun 2019 09:33:15 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: queue: Add unit test queue_test In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14558 ) Change subject: gtp: queue: Add unit test queue_test ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Id09bc5e23aa7a4b864822bc92cc23a4b60db52c3 Gerrit-Change-Number: 14558 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Jun 2019 09: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 Fri Jun 21 09:34:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Jun 2019 09:34:08 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Put build / run scripts under Apache 2.0 license In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14542 ) Change subject: Put build / run scripts under Apache 2.0 license ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I553925cd88b05903aab52ae1afb093aa9ab9d035 Gerrit-Change-Number: 14542 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Jun 2019 09:34:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 09:34:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Jun 2019 09:34:09 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: Put build / run scripts under Apache 2.0 license In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14542 ) Change subject: Put build / run scripts under Apache 2.0 license ...................................................................... Put build / run scripts under Apache 2.0 license The license of the build or execution scripts doesn't affect the license of the actual program, and we want to explicitly state that these scripts may be used in any kind of context. Change-Id: I553925cd88b05903aab52ae1afb093aa9ab9d035 --- M Makefile M compare-results.sh M deps/Makefile M gen_links.sh.inc M log_merge.sh M regen-makefile.sh M start-testsuite.sh M update_expected_results_from_jenkins.sh 8 files changed, 119 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/Makefile b/Makefile index b8778af..2c8e951 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,18 @@ +# Copyright 2017 Harald Welte +# Copyright 2018 sysmocom - s.f.m.c. GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + SUBDIRS=bsc bsc-nat bts ggsn_tests hlr mgw msc pcu sccp selftest sgsn sip sysinfo NPROC=$(shell nproc 2>/dev/null) diff --git a/compare-results.sh b/compare-results.sh index cce3a8d..6037174 100755 --- a/compare-results.sh +++ b/compare-results.sh @@ -2,6 +2,20 @@ expected_file="$1" results_file="$2" +# Copyright 2018 sysmocom - s.f.m.c. GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + usage() { echo " Usage: diff --git a/deps/Makefile b/deps/Makefile index 23f7b64..cdca8f1 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -1,3 +1,17 @@ +# Copyright 2017 Harald Welte +# Copyright 2018 sysmocom - s.f.m.c. GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. ECLIPSEGIT:=https://github.com/eclipse ECLIPSEGIT2:=git://git.eclipse.org/gitroot/titan diff --git a/gen_links.sh.inc b/gen_links.sh.inc index 8a87359..539b398 100644 --- a/gen_links.sh.inc +++ b/gen_links.sh.inc @@ -1,6 +1,21 @@ #!dont_run_this # This file is sourced by */gen_links.sh +# Copyright 2017 Harald Welte +# Copyright 2018 sysmocom - s.f.m.c. GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + rm -f .gitignore gen_link() { diff --git a/log_merge.sh b/log_merge.sh index d3c50f7..886b788 100755 --- a/log_merge.sh +++ b/log_merge.sh @@ -7,6 +7,21 @@ # # the output files will be called "Module-Testcase.merged" +# Copyright 2018 Harald Welte +# Copyright 2018 sysmocom - s.f.m.c. GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + if [ "x$1" = "x" ]; then echo "You have to specify the Test Suite prefix" exit 2 diff --git a/regen-makefile.sh b/regen-makefile.sh index d2b747e..7be47bb 100755 --- a/regen-makefile.sh +++ b/regen-makefile.sh @@ -1,5 +1,21 @@ #!/bin/sh +# Copyright 2017-2019 Harald Welte +# Copyright 2018 sysmocom - s.f.m.c. GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + # Wrapper around the TITAN make file generator to work in Debian. # # TITAN has a makefile generator, but somehow Debian seems to install diff --git a/start-testsuite.sh b/start-testsuite.sh index 31bc891..54332bb 100755 --- a/start-testsuite.sh +++ b/start-testsuite.sh @@ -3,6 +3,21 @@ # Helper script to starte a TITAN-generated test suite, supporting # dynamically linked suites to ensure JUNIT generation is possible. +# Copyright 2017 Harald Welte +# Copyright 2018 sysmocom - s.f.m.c. GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + if [ $# -lt 1 ]; then echo "You have to specify the test suite name" echo "Syntax example: $0 osmo-ttcn3-hacks/ggsn_tests/GGSN_Test ./GGSN_Test.cfg" diff --git a/update_expected_results_from_jenkins.sh b/update_expected_results_from_jenkins.sh index 7677cff..d30e640 100755 --- a/update_expected_results_from_jenkins.sh +++ b/update_expected_results_from_jenkins.sh @@ -1,5 +1,20 @@ #!/bin/sh +# Copyright 2018 sysmocom - s.f.m.c. GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + # Download the latest junit xml results from the jenkins.osmocom.org workspaces. # Usage: # - have a clean git clone of osmo-ttcn3-hacks -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I553925cd88b05903aab52ae1afb093aa9ab9d035 Gerrit-Change-Number: 14542 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 09:34:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Jun 2019 09:34:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BSSMAP_Templates: Provide complete set of CellID related rx/tx templates In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14543 ) Change subject: BSSMAP_Templates: Provide complete set of CellID related rx/tx templates ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I07c5fb9b621b09e11fec025b56f971fb61060839 Gerrit-Change-Number: 14543 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Jun 2019 09:34: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 21 09:34:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Jun 2019 09:34:14 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: BSSMAP_Templates: Provide complete set of CellID related rx/tx templates In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14543 ) Change subject: BSSMAP_Templates: Provide complete set of CellID related rx/tx templates ...................................................................... BSSMAP_Templates: Provide complete set of CellID related rx/tx templates Change-Id: I07c5fb9b621b09e11fec025b56f971fb61060839 --- M library/BSSMAP_Templates.ttcn 1 file changed, 57 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn index 9015680..41755db 100644 --- a/library/BSSMAP_Templates.ttcn +++ b/library/BSSMAP_Templates.ttcn @@ -1041,6 +1041,56 @@ template BSSMAP_FIELD_CellIdentificationList ts_BSSMAP_CIL_noCell := { cIl_noCell := ''O } +template (value) BSSMAP_FIELD_CellIdentificationList ts_BSSMAP_CIL_BSS := { + cIl_allInBSS := ''O +} +template BSSMAP_FIELD_CellIdentificationList tr_BSSMAP_CIL_BSS := { + cIl_allInBSS := ''O +} + +template (value) BSSMAP_FIELD_CellIdentificationList + ts_BSSMAP_CIL_CGI(template (value) BSSMAP_FIELD_CellIdentificationList_CGI cgil) := { + cIl_CGI := cgil +} +template BSSMAP_FIELD_CellIdentificationList + tr_BSSMAP_CIL_CGI(template BSSMAP_FIELD_CellIdentificationList_CGI cgil) := { + cIl_CGI := cgil +} + +template (value) BSSMAP_FIELD_CellIdentificationList + ts_BSSMAP_CIL_LAC_CI(template (value) BSSMAP_FIELD_CellIdentificationList_LAC_CI lac_cil) := { + cIl_LAC_CI := lac_cil +} +template BSSMAP_FIELD_CellIdentificationList + tr_BSSMAP_CIL_LAC_CI(template BSSMAP_FIELD_CellIdentificationList_LAC_CI lac_cil) := { + cIl_LAC_CI := lac_cil +} + +template (value) BSSMAP_FIELD_CellIdentificationList + ts_BSSMAP_CIL_CI(template (value) RecordOfOCT2 cil) := { + cIl_CI := cil +} +template BSSMAP_FIELD_CellIdentificationList tr_BSSMAP_CIL_CI(template RecordOfOCT2 cil) := { + cIl_CI := cil +} + +template (value) BSSMAP_FIELD_CellIdentificationList + ts_BSSMAP_CIL_LAI(template (value) BSSMAP_FIELD_CellIdentificationList_LAI lail) := { + cIl_LAI := lail +} +template BSSMAP_FIELD_CellIdentificationList + tr_BSSMAP_CIL_LAI(template BSSMAP_FIELD_CellIdentificationList_LAI lail) := { + cIl_LAI := lail +} + +template (value) BSSMAP_FIELD_CellIdentificationList + ts_BSSMAP_CIL_LAC(template (value) RecordOfOCT2 lacl) := { + cIl_LAC := lacl +} +template BSSMAP_FIELD_CellIdentificationList tr_BSSMAP_CIL_LAC(template RecordOfOCT2 lacl) := { + cIl_LAC := lacl +} + private function f_enc_mcc_mnc(GsmMcc mcc, GsmMnc mnc) return OCT3 { if (lengthof(mnc) == 2) { @@ -1050,33 +1100,33 @@ } } -template BSSMAP_FIELD_CellIdentification_CGI ts_BSSMAP_CI_CGI(GsmMcc mcc, GsmMnc mnc, GsmLac lac, GsmCellId ci) := { +template (value) BSSMAP_FIELD_CellIdentification_CGI ts_BSSMAP_CI_CGI(GsmMcc mcc, GsmMnc mnc, GsmLac lac, GsmCellId ci) := { mcc_mnc := f_enc_mcc_mnc(mcc, mnc), lac := int2oct(lac, 2), ci := int2oct(ci, 2) } -template BSSMAP_FIELD_CellIdentification_LAC_CI ts_BSSMAP_CI_LAC_CI(GsmLac lac, GsmCellId ci) := { +template (value) BSSMAP_FIELD_CellIdentification_LAC_CI ts_BSSMAP_CI_LAC_CI(GsmLac lac, GsmCellId ci) := { lac := int2oct(lac, 2), ci := int2oct(ci, 2) } -template BSSMAP_FIELD_CellIdentification_LAI ts_BSSMAP_CI_LAI(GsmMcc mcc, GsmMnc mnc, GsmLac lac) := { +template (value) BSSMAP_FIELD_CellIdentification_LAI ts_BSSMAP_CI_LAI(GsmMcc mcc, GsmMnc mnc, GsmLac lac) := { mcc_mnc := f_enc_mcc_mnc(mcc, mnc), lac := int2oct(lac, 2) } -template OCT2 ts_BSSMAP_CI_CI(GsmCellId ci) := int2oct(ci, 2); -template OCT2 ts_BSSMAP_CI_LAC(GsmLac lac) := int2oct(lac, 2); +template (value) OCT2 ts_BSSMAP_CI_LAC(GsmLac lac) := int2oct(lac, 2); +template (value) OCT2 ts_BSSMAP_CI_CI(GsmCellId ci) := int2oct(ci, 2); -template BSSMAP_FIELD_CellIdentification_PLMN_LAC_RNC +template (value) BSSMAP_FIELD_CellIdentification_PLMN_LAC_RNC ts_BSSMAP_CI_PLMN_LAC_RNC(GsmMcc mcc, GsmMnc mnc, GsmLac lac, uint16_t rnc_id) := { mcc_mnc := f_enc_mcc_mnc(mcc, mnc), lac := int2oct(lac, 2), rncId := int2oct(rnc_id, 2) } -template BSSMAP_FIELD_CellIdentification_LAC_RNC ts_BSSMAP_CI_LAC_RNC(GsmLac lac, uint16_t rnc_id) := { +template (value) BSSMAP_FIELD_CellIdentification_LAC_RNC ts_BSSMAP_CI_LAC_RNC(GsmLac lac, uint16_t rnc_id) := { lac := int2oct(lac, 2), rncId := int2oct(rnc_id, 2) } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I07c5fb9b621b09e11fec025b56f971fb61060839 Gerrit-Change-Number: 14543 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 10:06:52 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Jun 2019 10:06:52 +0000 Subject: Change in ...osmo-ggsn[master]: gtp: queue: Add unit test queue_test In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14558 ) Change subject: gtp: queue: Add unit test queue_test ...................................................................... gtp: queue: Add unit test queue_test Closes: OS#1740 Change-Id: Id09bc5e23aa7a4b864822bc92cc23a4b60db52c3 --- M tests/gtp/Makefile.am A tests/gtp/queue_test.c A tests/gtp/queue_test.ok M tests/testsuite.at 4 files changed, 6,961 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/tests/gtp/Makefile.am b/tests/gtp/Makefile.am index bb01e3d..fa0fb0b 100644 --- a/tests/gtp/Makefile.am +++ b/tests/gtp/Makefile.am @@ -2,18 +2,30 @@ EXTRA_DIST = \ gtpie_test.ok \ + queue_test.ok \ $(NULL) noinst_PROGRAMS = \ gtpie_test \ + queue_test \ $(NULL) gtpie_test_SOURCES = \ gtpie_test.c \ $(NULL) +queue_test_SOURCES = \ + queue_test.c \ + $(NULL) + gtpie_test_LDADD = \ $(top_builddir)/lib/debug.o \ $(top_builddir)/gtp/libgtp.la \ $(LIBOSMOCORE_LIBS) \ $(NULL) + +queue_test_LDADD = \ + $(top_builddir)/lib/debug.o \ + $(top_builddir)/gtp/libgtp.la \ + $(LIBOSMOCORE_LIBS) \ + $(NULL) diff --git a/tests/gtp/queue_test.c b/tests/gtp/queue_test.c new file mode 100644 index 0000000..bcc6d15 --- /dev/null +++ b/tests/gtp/queue_test.c @@ -0,0 +1,232 @@ +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "../../lib/syserr.h" +#include "../../gtp/queue.h" + +static const struct qmsg_t qmsg_zero; + +static void queue_print(struct queue_t *queue, char* str) +{ + int n; + printf("=== [Queue %s] Next: %d First: %d Last: %d\n", str, + queue->next, queue->first, queue->last); + printf("#\tseq\tnext\tprev\ttimeout\tretrans\ttype\tcbp\n"); + for (n = 0; n < QUEUE_SIZE; n++) { + if (queue->qmsga[n].state == 0) { + /* Nothing there, validate everything is zeroed */ + OSMO_ASSERT(memcmp(&qmsg_zero, &queue->qmsga[n], sizeof(qmsg_zero)) == 0); + continue; + } + printf("%d\t%d\t%d\t%d\t%d\t%d\t%u\t%ld\n", + n, + queue->qmsga[n].seq, + queue->qmsga[n].next, + queue->qmsga[n].prev, + (int)queue->qmsga[n].timeout, + queue->qmsga[n].retrans, + queue->qmsga[n].type, + ((uintptr_t)queue->qmsga[n].cbp & 0xFFFFFFFF) + ); + } + printf("======================================================\n"); +} + +static void test_queue_empty() +{ + printf("***** Testing %s()\n", __func__); + struct queue_t *queue = NULL; + struct qmsg_t *qmsg = NULL; + uint16_t seq = 23; + uint8_t type = 0; + void *cbp = NULL; + struct sockaddr_in peer; + int rc; + + rc = inet_pton(AF_INET, "127.0.0.1", &(peer.sin_addr)); + OSMO_ASSERT(rc == 1); + + rc = queue_new(&queue); + OSMO_ASSERT(rc == 0); + queue_print(queue, "created"); + + rc = queue_getfirst(queue, &qmsg); + OSMO_ASSERT(rc == EOF); + rc = queue_seqget(queue, &qmsg, &peer, seq); + OSMO_ASSERT(rc == EOF); + rc = queue_freemsg_seq(queue, &peer, seq, &type, &cbp); + OSMO_ASSERT(rc==EOF); + + queue_print(queue, "pre-delete"); + rc = queue_free(queue); + OSMO_ASSERT(rc == 0); +} + +static void test_queue_one() +{ + printf("***** Testing %s()\n", __func__); + struct queue_t *queue = NULL; + struct qmsg_t *qmsg = NULL, *qmsg2 = NULL;; + uint16_t seq = 23; + uint8_t type = 0; + void *cbp = NULL; + struct sockaddr_in peer, peer2; + int rc; + + rc = inet_pton(AF_INET, "127.0.0.1", &(peer.sin_addr)); + OSMO_ASSERT(rc == 1); + rc = inet_pton(AF_INET, "127.0.0.2", &(peer2.sin_addr)); + OSMO_ASSERT(rc == 1); + + rc = queue_new(&queue); + OSMO_ASSERT(rc == 0); + queue_print(queue, "created"); + + rc = queue_newmsg(queue, &qmsg, &peer, seq); + OSMO_ASSERT(rc == 0); + queue_print(queue, "first added"); + qmsg->type = GTP_ECHO_REQ; + qmsg->cbp = (void*) 0x13243546; + qmsg->seq = seq; + + rc = queue_getfirst(queue, &qmsg2); + OSMO_ASSERT(rc == 0); + OSMO_ASSERT(qmsg == qmsg2); + + rc = queue_seqget(queue, &qmsg2, &peer, seq); + OSMO_ASSERT(rc == 0); + OSMO_ASSERT(qmsg == qmsg2); + rc = queue_seqget(queue, &qmsg, &peer2, seq); + OSMO_ASSERT(rc == EOF); + rc = queue_seqget(queue, &qmsg, &peer, seq + 1); + OSMO_ASSERT(rc == EOF); + queue_print(queue, "after-get"); + + rc = queue_back(queue, qmsg); + OSMO_ASSERT(rc == 0); + queue_print(queue, "after-back"); + + rc = queue_freemsg_seq(queue, &peer2, seq, &type, &cbp); + OSMO_ASSERT(rc == EOF); + rc = queue_freemsg_seq(queue, &peer, seq + 1, &type, &cbp); + OSMO_ASSERT(rc == EOF); + queue_print(queue, "pree-freemsg"); + rc = queue_freemsg_seq(queue, &peer, seq, &type, &cbp); + OSMO_ASSERT(rc == 0); + OSMO_ASSERT(type == GTP_ECHO_REQ); + OSMO_ASSERT(cbp == (void*)0x13243546); + + queue_print(queue, "pre-delete"); + rc = queue_free(queue); + OSMO_ASSERT(rc == 0); +} + +#define newmsg_fill(queue, qmsg_ptr, peer_ptr, seq) \ + do { \ + int rc = queue_newmsg(queue, &(qmsg_ptr), peer_ptr, seq); \ + OSMO_ASSERT(rc == 0); \ + OSMO_ASSERT(qmsg_ptr); \ + qmsg_ptr->type = GTP_CREATE_PDP_REQ; \ + qmsg_ptr->cbp = (void*)(uintptr_t)seq; \ + } while (0); + +#define freemsg_verify(seq, type, cbp) \ + do { \ + OSMO_ASSERT(type == GTP_CREATE_PDP_REQ); \ + OSMO_ASSERT(cbp == (void*)(uintptr_t)seq); \ + } while (0); + +static void test_queue_full() +{ + /* queue_newmsg until we receive EOF. Try moving back then. */ + printf("***** Testing %s()\n", __func__); + struct queue_t *queue = NULL; + struct qmsg_t *qmsg = NULL; + uint8_t type = 0; + void *cbp = NULL; + struct sockaddr_in peer; + int rc; + int i; + + rc = inet_pton(AF_INET, "127.0.0.1", &(peer.sin_addr)); + OSMO_ASSERT(rc == 1); + + rc = queue_new(&queue); + OSMO_ASSERT(rc == 0); + queue_print(queue, "created"); + + for (i = 0; i < QUEUE_SIZE - 1; i++) { + newmsg_fill(queue, qmsg, &peer, i); + } + queue_print(queue, "after-fill"); + + /* There's one slot left at the end, let's use first()->back() */ + rc = queue_getfirst(queue, &qmsg); + OSMO_ASSERT(rc == 0); + rc = queue_back(queue, qmsg); + OSMO_ASSERT(rc == 0); + queue_print(queue, "after-back"); + + /* Now let's fill last empty slot */ + newmsg_fill(queue, qmsg, &peer, QUEUE_SIZE - 1); + queue_print(queue, "after-full"); + + /* queue is now full, it should fail */ + rc = queue_newmsg(queue, &qmsg, &peer, QUEUE_SIZE); + OSMO_ASSERT(rc == EOF); + queue_print(queue, "after-failing-full"); + + /* Remove 1before-last msg (the one moved back) and make sure we can + re-add it at the end of the list */ + rc = queue_seqget(queue, &qmsg, &peer, 0); + OSMO_ASSERT(rc == 0); + rc = queue_freemsg(queue, qmsg); + queue_print(queue, "after-freeing-0"); + OSMO_ASSERT(rc == 0); + /* Now let's fill last empty slot which should be at the end */ + newmsg_fill(queue, qmsg, &peer, 0); + queue_print(queue, "after-refilling-0"); + + /* Now free first half seq set in increasing order */ + for (i = 0; i < QUEUE_SIZE / 2; i++) { + rc = queue_freemsg_seq(queue, &peer, i, &type, &cbp); + OSMO_ASSERT(rc == 0); + freemsg_verify(i, type, cbp); + } + queue_print(queue, "after-first-half-free"); + + /* Now free second half seq set in decreasing order */ + for (i = QUEUE_SIZE - 1; i >= QUEUE_SIZE / 2; i--) { + rc = queue_freemsg_seq(queue, &peer, i, &type, &cbp); + OSMO_ASSERT(rc == 0); + freemsg_verify(i, type, cbp); + } + queue_print(queue, "after-second-half-free"); + + rc = queue_free(queue); + OSMO_ASSERT(rc == 0); +} + +int main(int argc, char **argv) +{ + void *tall_ctx = talloc_named_const(NULL, 1, "Root context"); + msgb_talloc_ctx_init(tall_ctx, 0); + osmo_init_logging2(tall_ctx, &log_info); + log_set_use_color(osmo_stderr_target, 0); + log_set_print_filename(osmo_stderr_target, 0); + + test_queue_empty(); + test_queue_one(); + test_queue_full(); + + return 0; +} diff --git a/tests/gtp/queue_test.ok b/tests/gtp/queue_test.ok new file mode 100644 index 0000000..fe1118d --- /dev/null +++ b/tests/gtp/queue_test.ok @@ -0,0 +1,6711 @@ +***** Testing test_queue_empty() +=== [Queue created] Next: 0 First: -1 Last: -1 +# seq next prev timeout retrans type cbp +====================================================== +=== [Queue pre-delete] Next: 0 First: -1 Last: -1 +# seq next prev timeout retrans type cbp +====================================================== +***** Testing test_queue_one() +=== [Queue created] Next: 0 First: -1 Last: -1 +# seq next prev timeout retrans type cbp +====================================================== +=== [Queue first added] Next: 1 First: 0 Last: 0 +# seq next prev timeout retrans type cbp +0 23 -1 -1 0 0 0 0 +====================================================== +=== [Queue after-get] Next: 1 First: 0 Last: 0 +# seq next prev timeout retrans type cbp +0 23 -1 -1 0 0 1 321140038 +====================================================== +=== [Queue after-back] Next: 1 First: 0 Last: 0 +# seq next prev timeout retrans type cbp +0 23 -1 -1 0 0 1 321140038 +====================================================== +=== [Queue pree-freemsg] Next: 1 First: 0 Last: 0 +# seq next prev timeout retrans type cbp +0 23 -1 -1 0 0 1 321140038 +====================================================== +=== [Queue pre-delete] Next: 1 First: -1 Last: -1 +# seq next prev timeout retrans type cbp +====================================================== +***** Testing test_queue_full() +=== [Queue created] Next: 0 First: -1 Last: -1 +# seq next prev timeout retrans type cbp +====================================================== +=== [Queue after-fill] Next: 1023 First: 0 Last: 1022 +# seq next prev timeout retrans type cbp +0 0 1 -1 0 0 16 0 +1 1 2 0 0 0 16 1 +2 2 3 1 0 0 16 2 +3 3 4 2 0 0 16 3 +4 4 5 3 0 0 16 4 +5 5 6 4 0 0 16 5 +6 6 7 5 0 0 16 6 +7 7 8 6 0 0 16 7 +8 8 9 7 0 0 16 8 +9 9 10 8 0 0 16 9 +10 10 11 9 0 0 16 10 +11 11 12 10 0 0 16 11 +12 12 13 11 0 0 16 12 +13 13 14 12 0 0 16 13 +14 14 15 13 0 0 16 14 +15 15 16 14 0 0 16 15 +16 16 17 15 0 0 16 16 +17 17 18 16 0 0 16 17 +18 18 19 17 0 0 16 18 +19 19 20 18 0 0 16 19 +20 20 21 19 0 0 16 20 +21 21 22 20 0 0 16 21 +22 22 23 21 0 0 16 22 +23 23 24 22 0 0 16 23 +24 24 25 23 0 0 16 24 +25 25 26 24 0 0 16 25 +26 26 27 25 0 0 16 26 +27 27 28 26 0 0 16 27 +28 28 29 27 0 0 16 28 +29 29 30 28 0 0 16 29 +30 30 31 29 0 0 16 30 +31 31 32 30 0 0 16 31 +32 32 33 31 0 0 16 32 +33 33 34 32 0 0 16 33 +34 34 35 33 0 0 16 34 +35 35 36 34 0 0 16 35 +36 36 37 35 0 0 16 36 +37 37 38 36 0 0 16 37 +38 38 39 37 0 0 16 38 +39 39 40 38 0 0 16 39 +40 40 41 39 0 0 16 40 +41 41 42 40 0 0 16 41 +42 42 43 41 0 0 16 42 +43 43 44 42 0 0 16 43 +44 44 45 43 0 0 16 44 +45 45 46 44 0 0 16 45 +46 46 47 45 0 0 16 46 +47 47 48 46 0 0 16 47 +48 48 49 47 0 0 16 48 +49 49 50 48 0 0 16 49 +50 50 51 49 0 0 16 50 +51 51 52 50 0 0 16 51 +52 52 53 51 0 0 16 52 +53 53 54 52 0 0 16 53 +54 54 55 53 0 0 16 54 +55 55 56 54 0 0 16 55 +56 56 57 55 0 0 16 56 +57 57 58 56 0 0 16 57 +58 58 59 57 0 0 16 58 +59 59 60 58 0 0 16 59 +60 60 61 59 0 0 16 60 +61 61 62 60 0 0 16 61 +62 62 63 61 0 0 16 62 +63 63 64 62 0 0 16 63 +64 64 65 63 0 0 16 64 +65 65 66 64 0 0 16 65 +66 66 67 65 0 0 16 66 +67 67 68 66 0 0 16 67 +68 68 69 67 0 0 16 68 +69 69 70 68 0 0 16 69 +70 70 71 69 0 0 16 70 +71 71 72 70 0 0 16 71 +72 72 73 71 0 0 16 72 +73 73 74 72 0 0 16 73 +74 74 75 73 0 0 16 74 +75 75 76 74 0 0 16 75 +76 76 77 75 0 0 16 76 +77 77 78 76 0 0 16 77 +78 78 79 77 0 0 16 78 +79 79 80 78 0 0 16 79 +80 80 81 79 0 0 16 80 +81 81 82 80 0 0 16 81 +82 82 83 81 0 0 16 82 +83 83 84 82 0 0 16 83 +84 84 85 83 0 0 16 84 +85 85 86 84 0 0 16 85 +86 86 87 85 0 0 16 86 +87 87 88 86 0 0 16 87 +88 88 89 87 0 0 16 88 +89 89 90 88 0 0 16 89 +90 90 91 89 0 0 16 90 +91 91 92 90 0 0 16 91 +92 92 93 91 0 0 16 92 +93 93 94 92 0 0 16 93 +94 94 95 93 0 0 16 94 +95 95 96 94 0 0 16 95 +96 96 97 95 0 0 16 96 +97 97 98 96 0 0 16 97 +98 98 99 97 0 0 16 98 +99 99 100 98 0 0 16 99 +100 100 101 99 0 0 16 100 +101 101 102 100 0 0 16 101 +102 102 103 101 0 0 16 102 +103 103 104 102 0 0 16 103 +104 104 105 103 0 0 16 104 +105 105 106 104 0 0 16 105 +106 106 107 105 0 0 16 106 +107 107 108 106 0 0 16 107 +108 108 109 107 0 0 16 108 +109 109 110 108 0 0 16 109 +110 110 111 109 0 0 16 110 +111 111 112 110 0 0 16 111 +112 112 113 111 0 0 16 112 +113 113 114 112 0 0 16 113 +114 114 115 113 0 0 16 114 +115 115 116 114 0 0 16 115 +116 116 117 115 0 0 16 116 +117 117 118 116 0 0 16 117 +118 118 119 117 0 0 16 118 +119 119 120 118 0 0 16 119 +120 120 121 119 0 0 16 120 +121 121 122 120 0 0 16 121 +122 122 123 121 0 0 16 122 +123 123 124 122 0 0 16 123 +124 124 125 123 0 0 16 124 +125 125 126 124 0 0 16 125 +126 126 127 125 0 0 16 126 +127 127 128 126 0 0 16 127 +128 128 129 127 0 0 16 128 +129 129 130 128 0 0 16 129 +130 130 131 129 0 0 16 130 +131 131 132 130 0 0 16 131 +132 132 133 131 0 0 16 132 +133 133 134 132 0 0 16 133 +134 134 135 133 0 0 16 134 +135 135 136 134 0 0 16 135 +136 136 137 135 0 0 16 136 +137 137 138 136 0 0 16 137 +138 138 139 137 0 0 16 138 +139 139 140 138 0 0 16 139 +140 140 141 139 0 0 16 140 +141 141 142 140 0 0 16 141 +142 142 143 141 0 0 16 142 +143 143 144 142 0 0 16 143 +144 144 145 143 0 0 16 144 +145 145 146 144 0 0 16 145 +146 146 147 145 0 0 16 146 +147 147 148 146 0 0 16 147 +148 148 149 147 0 0 16 148 +149 149 150 148 0 0 16 149 +150 150 151 149 0 0 16 150 +151 151 152 150 0 0 16 151 +152 152 153 151 0 0 16 152 +153 153 154 152 0 0 16 153 +154 154 155 153 0 0 16 154 +155 155 156 154 0 0 16 155 +156 156 157 155 0 0 16 156 +157 157 158 156 0 0 16 157 +158 158 159 157 0 0 16 158 +159 159 160 158 0 0 16 159 +160 160 161 159 0 0 16 160 +161 161 162 160 0 0 16 161 +162 162 163 161 0 0 16 162 +163 163 164 162 0 0 16 163 +164 164 165 163 0 0 16 164 +165 165 166 164 0 0 16 165 +166 166 167 165 0 0 16 166 +167 167 168 166 0 0 16 167 +168 168 169 167 0 0 16 168 +169 169 170 168 0 0 16 169 +170 170 171 169 0 0 16 170 +171 171 172 170 0 0 16 171 +172 172 173 171 0 0 16 172 +173 173 174 172 0 0 16 173 +174 174 175 173 0 0 16 174 +175 175 176 174 0 0 16 175 +176 176 177 175 0 0 16 176 +177 177 178 176 0 0 16 177 +178 178 179 177 0 0 16 178 +179 179 180 178 0 0 16 179 +180 180 181 179 0 0 16 180 +181 181 182 180 0 0 16 181 +182 182 183 181 0 0 16 182 +183 183 184 182 0 0 16 183 +184 184 185 183 0 0 16 184 +185 185 186 184 0 0 16 185 +186 186 187 185 0 0 16 186 +187 187 188 186 0 0 16 187 +188 188 189 187 0 0 16 188 +189 189 190 188 0 0 16 189 +190 190 191 189 0 0 16 190 +191 191 192 190 0 0 16 191 +192 192 193 191 0 0 16 192 +193 193 194 192 0 0 16 193 +194 194 195 193 0 0 16 194 +195 195 196 194 0 0 16 195 +196 196 197 195 0 0 16 196 +197 197 198 196 0 0 16 197 +198 198 199 197 0 0 16 198 +199 199 200 198 0 0 16 199 +200 200 201 199 0 0 16 200 +201 201 202 200 0 0 16 201 +202 202 203 201 0 0 16 202 +203 203 204 202 0 0 16 203 +204 204 205 203 0 0 16 204 +205 205 206 204 0 0 16 205 +206 206 207 205 0 0 16 206 +207 207 208 206 0 0 16 207 +208 208 209 207 0 0 16 208 +209 209 210 208 0 0 16 209 +210 210 211 209 0 0 16 210 +211 211 212 210 0 0 16 211 +212 212 213 211 0 0 16 212 +213 213 214 212 0 0 16 213 +214 214 215 213 0 0 16 214 +215 215 216 214 0 0 16 215 +216 216 217 215 0 0 16 216 +217 217 218 216 0 0 16 217 +218 218 219 217 0 0 16 218 +219 219 220 218 0 0 16 219 +220 220 221 219 0 0 16 220 +221 221 222 220 0 0 16 221 +222 222 223 221 0 0 16 222 +223 223 224 222 0 0 16 223 +224 224 225 223 0 0 16 224 +225 225 226 224 0 0 16 225 +226 226 227 225 0 0 16 226 +227 227 228 226 0 0 16 227 +228 228 229 227 0 0 16 228 +229 229 230 228 0 0 16 229 +230 230 231 229 0 0 16 230 +231 231 232 230 0 0 16 231 +232 232 233 231 0 0 16 232 +233 233 234 232 0 0 16 233 +234 234 235 233 0 0 16 234 +235 235 236 234 0 0 16 235 +236 236 237 235 0 0 16 236 +237 237 238 236 0 0 16 237 +238 238 239 237 0 0 16 238 +239 239 240 238 0 0 16 239 +240 240 241 239 0 0 16 240 +241 241 242 240 0 0 16 241 +242 242 243 241 0 0 16 242 +243 243 244 242 0 0 16 243 +244 244 245 243 0 0 16 244 +245 245 246 244 0 0 16 245 +246 246 247 245 0 0 16 246 +247 247 248 246 0 0 16 247 +248 248 249 247 0 0 16 248 +249 249 250 248 0 0 16 249 +250 250 251 249 0 0 16 250 +251 251 252 250 0 0 16 251 +252 252 253 251 0 0 16 252 +253 253 254 252 0 0 16 253 +254 254 255 253 0 0 16 254 +255 255 256 254 0 0 16 255 +256 256 257 255 0 0 16 256 +257 257 258 256 0 0 16 257 +258 258 259 257 0 0 16 258 +259 259 260 258 0 0 16 259 +260 260 261 259 0 0 16 260 +261 261 262 260 0 0 16 261 +262 262 263 261 0 0 16 262 +263 263 264 262 0 0 16 263 +264 264 265 263 0 0 16 264 +265 265 266 264 0 0 16 265 +266 266 267 265 0 0 16 266 +267 267 268 266 0 0 16 267 +268 268 269 267 0 0 16 268 +269 269 270 268 0 0 16 269 +270 270 271 269 0 0 16 270 +271 271 272 270 0 0 16 271 +272 272 273 271 0 0 16 272 +273 273 274 272 0 0 16 273 +274 274 275 273 0 0 16 274 +275 275 276 274 0 0 16 275 +276 276 277 275 0 0 16 276 +277 277 278 276 0 0 16 277 +278 278 279 277 0 0 16 278 +279 279 280 278 0 0 16 279 +280 280 281 279 0 0 16 280 +281 281 282 280 0 0 16 281 +282 282 283 281 0 0 16 282 +283 283 284 282 0 0 16 283 +284 284 285 283 0 0 16 284 +285 285 286 284 0 0 16 285 +286 286 287 285 0 0 16 286 +287 287 288 286 0 0 16 287 +288 288 289 287 0 0 16 288 +289 289 290 288 0 0 16 289 +290 290 291 289 0 0 16 290 +291 291 292 290 0 0 16 291 +292 292 293 291 0 0 16 292 +293 293 294 292 0 0 16 293 +294 294 295 293 0 0 16 294 +295 295 296 294 0 0 16 295 +296 296 297 295 0 0 16 296 +297 297 298 296 0 0 16 297 +298 298 299 297 0 0 16 298 +299 299 300 298 0 0 16 299 +300 300 301 299 0 0 16 300 +301 301 302 300 0 0 16 301 +302 302 303 301 0 0 16 302 +303 303 304 302 0 0 16 303 +304 304 305 303 0 0 16 304 +305 305 306 304 0 0 16 305 +306 306 307 305 0 0 16 306 +307 307 308 306 0 0 16 307 +308 308 309 307 0 0 16 308 +309 309 310 308 0 0 16 309 +310 310 311 309 0 0 16 310 +311 311 312 310 0 0 16 311 +312 312 313 311 0 0 16 312 +313 313 314 312 0 0 16 313 +314 314 315 313 0 0 16 314 +315 315 316 314 0 0 16 315 +316 316 317 315 0 0 16 316 +317 317 318 316 0 0 16 317 +318 318 319 317 0 0 16 318 +319 319 320 318 0 0 16 319 +320 320 321 319 0 0 16 320 +321 321 322 320 0 0 16 321 +322 322 323 321 0 0 16 322 +323 323 324 322 0 0 16 323 +324 324 325 323 0 0 16 324 +325 325 326 324 0 0 16 325 +326 326 327 325 0 0 16 326 +327 327 328 326 0 0 16 327 +328 328 329 327 0 0 16 328 +329 329 330 328 0 0 16 329 +330 330 331 329 0 0 16 330 +331 331 332 330 0 0 16 331 +332 332 333 331 0 0 16 332 +333 333 334 332 0 0 16 333 +334 334 335 333 0 0 16 334 +335 335 336 334 0 0 16 335 +336 336 337 335 0 0 16 336 +337 337 338 336 0 0 16 337 +338 338 339 337 0 0 16 338 +339 339 340 338 0 0 16 339 +340 340 341 339 0 0 16 340 +341 341 342 340 0 0 16 341 +342 342 343 341 0 0 16 342 +343 343 344 342 0 0 16 343 +344 344 345 343 0 0 16 344 +345 345 346 344 0 0 16 345 +346 346 347 345 0 0 16 346 +347 347 348 346 0 0 16 347 +348 348 349 347 0 0 16 348 +349 349 350 348 0 0 16 349 +350 350 351 349 0 0 16 350 +351 351 352 350 0 0 16 351 +352 352 353 351 0 0 16 352 +353 353 354 352 0 0 16 353 +354 354 355 353 0 0 16 354 +355 355 356 354 0 0 16 355 +356 356 357 355 0 0 16 356 +357 357 358 356 0 0 16 357 +358 358 359 357 0 0 16 358 +359 359 360 358 0 0 16 359 +360 360 361 359 0 0 16 360 +361 361 362 360 0 0 16 361 +362 362 363 361 0 0 16 362 +363 363 364 362 0 0 16 363 +364 364 365 363 0 0 16 364 +365 365 366 364 0 0 16 365 +366 366 367 365 0 0 16 366 +367 367 368 366 0 0 16 367 +368 368 369 367 0 0 16 368 +369 369 370 368 0 0 16 369 +370 370 371 369 0 0 16 370 +371 371 372 370 0 0 16 371 +372 372 373 371 0 0 16 372 +373 373 374 372 0 0 16 373 +374 374 375 373 0 0 16 374 +375 375 376 374 0 0 16 375 +376 376 377 375 0 0 16 376 +377 377 378 376 0 0 16 377 +378 378 379 377 0 0 16 378 +379 379 380 378 0 0 16 379 +380 380 381 379 0 0 16 380 +381 381 382 380 0 0 16 381 +382 382 383 381 0 0 16 382 +383 383 384 382 0 0 16 383 +384 384 385 383 0 0 16 384 +385 385 386 384 0 0 16 385 +386 386 387 385 0 0 16 386 +387 387 388 386 0 0 16 387 +388 388 389 387 0 0 16 388 +389 389 390 388 0 0 16 389 +390 390 391 389 0 0 16 390 +391 391 392 390 0 0 16 391 +392 392 393 391 0 0 16 392 +393 393 394 392 0 0 16 393 +394 394 395 393 0 0 16 394 +395 395 396 394 0 0 16 395 +396 396 397 395 0 0 16 396 +397 397 398 396 0 0 16 397 +398 398 399 397 0 0 16 398 +399 399 400 398 0 0 16 399 +400 400 401 399 0 0 16 400 +401 401 402 400 0 0 16 401 +402 402 403 401 0 0 16 402 +403 403 404 402 0 0 16 403 +404 404 405 403 0 0 16 404 +405 405 406 404 0 0 16 405 +406 406 407 405 0 0 16 406 +407 407 408 406 0 0 16 407 +408 408 409 407 0 0 16 408 +409 409 410 408 0 0 16 409 +410 410 411 409 0 0 16 410 +411 411 412 410 0 0 16 411 +412 412 413 411 0 0 16 412 +413 413 414 412 0 0 16 413 +414 414 415 413 0 0 16 414 +415 415 416 414 0 0 16 415 +416 416 417 415 0 0 16 416 +417 417 418 416 0 0 16 417 +418 418 419 417 0 0 16 418 +419 419 420 418 0 0 16 419 +420 420 421 419 0 0 16 420 +421 421 422 420 0 0 16 421 +422 422 423 421 0 0 16 422 +423 423 424 422 0 0 16 423 +424 424 425 423 0 0 16 424 +425 425 426 424 0 0 16 425 +426 426 427 425 0 0 16 426 +427 427 428 426 0 0 16 427 +428 428 429 427 0 0 16 428 +429 429 430 428 0 0 16 429 +430 430 431 429 0 0 16 430 +431 431 432 430 0 0 16 431 +432 432 433 431 0 0 16 432 +433 433 434 432 0 0 16 433 +434 434 435 433 0 0 16 434 +435 435 436 434 0 0 16 435 +436 436 437 435 0 0 16 436 +437 437 438 436 0 0 16 437 +438 438 439 437 0 0 16 438 +439 439 440 438 0 0 16 439 +440 440 441 439 0 0 16 440 +441 441 442 440 0 0 16 441 +442 442 443 441 0 0 16 442 +443 443 444 442 0 0 16 443 +444 444 445 443 0 0 16 444 +445 445 446 444 0 0 16 445 +446 446 447 445 0 0 16 446 +447 447 448 446 0 0 16 447 +448 448 449 447 0 0 16 448 +449 449 450 448 0 0 16 449 +450 450 451 449 0 0 16 450 +451 451 452 450 0 0 16 451 +452 452 453 451 0 0 16 452 +453 453 454 452 0 0 16 453 +454 454 455 453 0 0 16 454 +455 455 456 454 0 0 16 455 +456 456 457 455 0 0 16 456 +457 457 458 456 0 0 16 457 +458 458 459 457 0 0 16 458 +459 459 460 458 0 0 16 459 +460 460 461 459 0 0 16 460 +461 461 462 460 0 0 16 461 +462 462 463 461 0 0 16 462 +463 463 464 462 0 0 16 463 +464 464 465 463 0 0 16 464 +465 465 466 464 0 0 16 465 +466 466 467 465 0 0 16 466 +467 467 468 466 0 0 16 467 +468 468 469 467 0 0 16 468 +469 469 470 468 0 0 16 469 +470 470 471 469 0 0 16 470 +471 471 472 470 0 0 16 471 +472 472 473 471 0 0 16 472 +473 473 474 472 0 0 16 473 +474 474 475 473 0 0 16 474 +475 475 476 474 0 0 16 475 +476 476 477 475 0 0 16 476 +477 477 478 476 0 0 16 477 +478 478 479 477 0 0 16 478 +479 479 480 478 0 0 16 479 +480 480 481 479 0 0 16 480 +481 481 482 480 0 0 16 481 +482 482 483 481 0 0 16 482 +483 483 484 482 0 0 16 483 +484 484 485 483 0 0 16 484 +485 485 486 484 0 0 16 485 +486 486 487 485 0 0 16 486 +487 487 488 486 0 0 16 487 +488 488 489 487 0 0 16 488 +489 489 490 488 0 0 16 489 +490 490 491 489 0 0 16 490 +491 491 492 490 0 0 16 491 +492 492 493 491 0 0 16 492 +493 493 494 492 0 0 16 493 +494 494 495 493 0 0 16 494 +495 495 496 494 0 0 16 495 +496 496 497 495 0 0 16 496 +497 497 498 496 0 0 16 497 +498 498 499 497 0 0 16 498 +499 499 500 498 0 0 16 499 +500 500 501 499 0 0 16 500 +501 501 502 500 0 0 16 501 +502 502 503 501 0 0 16 502 +503 503 504 502 0 0 16 503 +504 504 505 503 0 0 16 504 +505 505 506 504 0 0 16 505 +506 506 507 505 0 0 16 506 +507 507 508 506 0 0 16 507 +508 508 509 507 0 0 16 508 +509 509 510 508 0 0 16 509 +510 510 511 509 0 0 16 510 +511 511 512 510 0 0 16 511 +512 512 513 511 0 0 16 512 +513 513 514 512 0 0 16 513 +514 514 515 513 0 0 16 514 +515 515 516 514 0 0 16 515 +516 516 517 515 0 0 16 516 +517 517 518 516 0 0 16 517 +518 518 519 517 0 0 16 518 +519 519 520 518 0 0 16 519 +520 520 521 519 0 0 16 520 +521 521 522 520 0 0 16 521 +522 522 523 521 0 0 16 522 +523 523 524 522 0 0 16 523 +524 524 525 523 0 0 16 524 +525 525 526 524 0 0 16 525 +526 526 527 525 0 0 16 526 +527 527 528 526 0 0 16 527 +528 528 529 527 0 0 16 528 +529 529 530 528 0 0 16 529 +530 530 531 529 0 0 16 530 +531 531 532 530 0 0 16 531 +532 532 533 531 0 0 16 532 +533 533 534 532 0 0 16 533 +534 534 535 533 0 0 16 534 +535 535 536 534 0 0 16 535 +536 536 537 535 0 0 16 536 +537 537 538 536 0 0 16 537 +538 538 539 537 0 0 16 538 +539 539 540 538 0 0 16 539 +540 540 541 539 0 0 16 540 +541 541 542 540 0 0 16 541 +542 542 543 541 0 0 16 542 +543 543 544 542 0 0 16 543 +544 544 545 543 0 0 16 544 +545 545 546 544 0 0 16 545 +546 546 547 545 0 0 16 546 +547 547 548 546 0 0 16 547 +548 548 549 547 0 0 16 548 +549 549 550 548 0 0 16 549 +550 550 551 549 0 0 16 550 +551 551 552 550 0 0 16 551 +552 552 553 551 0 0 16 552 +553 553 554 552 0 0 16 553 +554 554 555 553 0 0 16 554 +555 555 556 554 0 0 16 555 +556 556 557 555 0 0 16 556 +557 557 558 556 0 0 16 557 +558 558 559 557 0 0 16 558 +559 559 560 558 0 0 16 559 +560 560 561 559 0 0 16 560 +561 561 562 560 0 0 16 561 +562 562 563 561 0 0 16 562 +563 563 564 562 0 0 16 563 +564 564 565 563 0 0 16 564 +565 565 566 564 0 0 16 565 +566 566 567 565 0 0 16 566 +567 567 568 566 0 0 16 567 +568 568 569 567 0 0 16 568 +569 569 570 568 0 0 16 569 +570 570 571 569 0 0 16 570 +571 571 572 570 0 0 16 571 +572 572 573 571 0 0 16 572 +573 573 574 572 0 0 16 573 +574 574 575 573 0 0 16 574 +575 575 576 574 0 0 16 575 +576 576 577 575 0 0 16 576 +577 577 578 576 0 0 16 577 +578 578 579 577 0 0 16 578 +579 579 580 578 0 0 16 579 +580 580 581 579 0 0 16 580 +581 581 582 580 0 0 16 581 +582 582 583 581 0 0 16 582 +583 583 584 582 0 0 16 583 +584 584 585 583 0 0 16 584 +585 585 586 584 0 0 16 585 +586 586 587 585 0 0 16 586 +587 587 588 586 0 0 16 587 +588 588 589 587 0 0 16 588 +589 589 590 588 0 0 16 589 +590 590 591 589 0 0 16 590 +591 591 592 590 0 0 16 591 +592 592 593 591 0 0 16 592 +593 593 594 592 0 0 16 593 +594 594 595 593 0 0 16 594 +595 595 596 594 0 0 16 595 +596 596 597 595 0 0 16 596 +597 597 598 596 0 0 16 597 +598 598 599 597 0 0 16 598 +599 599 600 598 0 0 16 599 +600 600 601 599 0 0 16 600 +601 601 602 600 0 0 16 601 +602 602 603 601 0 0 16 602 +603 603 604 602 0 0 16 603 +604 604 605 603 0 0 16 604 +605 605 606 604 0 0 16 605 +606 606 607 605 0 0 16 606 +607 607 608 606 0 0 16 607 +608 608 609 607 0 0 16 608 +609 609 610 608 0 0 16 609 +610 610 611 609 0 0 16 610 +611 611 612 610 0 0 16 611 +612 612 613 611 0 0 16 612 +613 613 614 612 0 0 16 613 +614 614 615 613 0 0 16 614 +615 615 616 614 0 0 16 615 +616 616 617 615 0 0 16 616 +617 617 618 616 0 0 16 617 +618 618 619 617 0 0 16 618 +619 619 620 618 0 0 16 619 +620 620 621 619 0 0 16 620 +621 621 622 620 0 0 16 621 +622 622 623 621 0 0 16 622 +623 623 624 622 0 0 16 623 +624 624 625 623 0 0 16 624 +625 625 626 624 0 0 16 625 +626 626 627 625 0 0 16 626 +627 627 628 626 0 0 16 627 +628 628 629 627 0 0 16 628 +629 629 630 628 0 0 16 629 +630 630 631 629 0 0 16 630 +631 631 632 630 0 0 16 631 +632 632 633 631 0 0 16 632 +633 633 634 632 0 0 16 633 +634 634 635 633 0 0 16 634 +635 635 636 634 0 0 16 635 +636 636 637 635 0 0 16 636 +637 637 638 636 0 0 16 637 +638 638 639 637 0 0 16 638 +639 639 640 638 0 0 16 639 +640 640 641 639 0 0 16 640 +641 641 642 640 0 0 16 641 +642 642 643 641 0 0 16 642 +643 643 644 642 0 0 16 643 +644 644 645 643 0 0 16 644 +645 645 646 644 0 0 16 645 +646 646 647 645 0 0 16 646 +647 647 648 646 0 0 16 647 +648 648 649 647 0 0 16 648 +649 649 650 648 0 0 16 649 +650 650 651 649 0 0 16 650 +651 651 652 650 0 0 16 651 +652 652 653 651 0 0 16 652 +653 653 654 652 0 0 16 653 +654 654 655 653 0 0 16 654 +655 655 656 654 0 0 16 655 +656 656 657 655 0 0 16 656 +657 657 658 656 0 0 16 657 +658 658 659 657 0 0 16 658 +659 659 660 658 0 0 16 659 +660 660 661 659 0 0 16 660 +661 661 662 660 0 0 16 661 +662 662 663 661 0 0 16 662 +663 663 664 662 0 0 16 663 +664 664 665 663 0 0 16 664 +665 665 666 664 0 0 16 665 +666 666 667 665 0 0 16 666 +667 667 668 666 0 0 16 667 +668 668 669 667 0 0 16 668 +669 669 670 668 0 0 16 669 +670 670 671 669 0 0 16 670 +671 671 672 670 0 0 16 671 +672 672 673 671 0 0 16 672 +673 673 674 672 0 0 16 673 +674 674 675 673 0 0 16 674 +675 675 676 674 0 0 16 675 +676 676 677 675 0 0 16 676 +677 677 678 676 0 0 16 677 +678 678 679 677 0 0 16 678 +679 679 680 678 0 0 16 679 +680 680 681 679 0 0 16 680 +681 681 682 680 0 0 16 681 +682 682 683 681 0 0 16 682 +683 683 684 682 0 0 16 683 +684 684 685 683 0 0 16 684 +685 685 686 684 0 0 16 685 +686 686 687 685 0 0 16 686 +687 687 688 686 0 0 16 687 +688 688 689 687 0 0 16 688 +689 689 690 688 0 0 16 689 +690 690 691 689 0 0 16 690 +691 691 692 690 0 0 16 691 +692 692 693 691 0 0 16 692 +693 693 694 692 0 0 16 693 +694 694 695 693 0 0 16 694 +695 695 696 694 0 0 16 695 +696 696 697 695 0 0 16 696 +697 697 698 696 0 0 16 697 +698 698 699 697 0 0 16 698 +699 699 700 698 0 0 16 699 +700 700 701 699 0 0 16 700 +701 701 702 700 0 0 16 701 +702 702 703 701 0 0 16 702 +703 703 704 702 0 0 16 703 +704 704 705 703 0 0 16 704 +705 705 706 704 0 0 16 705 +706 706 707 705 0 0 16 706 +707 707 708 706 0 0 16 707 +708 708 709 707 0 0 16 708 +709 709 710 708 0 0 16 709 +710 710 711 709 0 0 16 710 +711 711 712 710 0 0 16 711 +712 712 713 711 0 0 16 712 +713 713 714 712 0 0 16 713 +714 714 715 713 0 0 16 714 +715 715 716 714 0 0 16 715 +716 716 717 715 0 0 16 716 +717 717 718 716 0 0 16 717 +718 718 719 717 0 0 16 718 +719 719 720 718 0 0 16 719 +720 720 721 719 0 0 16 720 +721 721 722 720 0 0 16 721 +722 722 723 721 0 0 16 722 +723 723 724 722 0 0 16 723 +724 724 725 723 0 0 16 724 +725 725 726 724 0 0 16 725 +726 726 727 725 0 0 16 726 +727 727 728 726 0 0 16 727 +728 728 729 727 0 0 16 728 +729 729 730 728 0 0 16 729 +730 730 731 729 0 0 16 730 +731 731 732 730 0 0 16 731 +732 732 733 731 0 0 16 732 +733 733 734 732 0 0 16 733 +734 734 735 733 0 0 16 734 +735 735 736 734 0 0 16 735 +736 736 737 735 0 0 16 736 +737 737 738 736 0 0 16 737 +738 738 739 737 0 0 16 738 +739 739 740 738 0 0 16 739 +740 740 741 739 0 0 16 740 +741 741 742 740 0 0 16 741 +742 742 743 741 0 0 16 742 +743 743 744 742 0 0 16 743 +744 744 745 743 0 0 16 744 +745 745 746 744 0 0 16 745 +746 746 747 745 0 0 16 746 +747 747 748 746 0 0 16 747 +748 748 749 747 0 0 16 748 +749 749 750 748 0 0 16 749 +750 750 751 749 0 0 16 750 +751 751 752 750 0 0 16 751 +752 752 753 751 0 0 16 752 +753 753 754 752 0 0 16 753 +754 754 755 753 0 0 16 754 +755 755 756 754 0 0 16 755 +756 756 757 755 0 0 16 756 +757 757 758 756 0 0 16 757 +758 758 759 757 0 0 16 758 +759 759 760 758 0 0 16 759 +760 760 761 759 0 0 16 760 +761 761 762 760 0 0 16 761 +762 762 763 761 0 0 16 762 +763 763 764 762 0 0 16 763 +764 764 765 763 0 0 16 764 +765 765 766 764 0 0 16 765 +766 766 767 765 0 0 16 766 +767 767 768 766 0 0 16 767 +768 768 769 767 0 0 16 768 +769 769 770 768 0 0 16 769 +770 770 771 769 0 0 16 770 +771 771 772 770 0 0 16 771 +772 772 773 771 0 0 16 772 +773 773 774 772 0 0 16 773 +774 774 775 773 0 0 16 774 +775 775 776 774 0 0 16 775 +776 776 777 775 0 0 16 776 +777 777 778 776 0 0 16 777 +778 778 779 777 0 0 16 778 +779 779 780 778 0 0 16 779 +780 780 781 779 0 0 16 780 +781 781 782 780 0 0 16 781 +782 782 783 781 0 0 16 782 +783 783 784 782 0 0 16 783 +784 784 785 783 0 0 16 784 +785 785 786 784 0 0 16 785 +786 786 787 785 0 0 16 786 +787 787 788 786 0 0 16 787 +788 788 789 787 0 0 16 788 +789 789 790 788 0 0 16 789 +790 790 791 789 0 0 16 790 +791 791 792 790 0 0 16 791 +792 792 793 791 0 0 16 792 +793 793 794 792 0 0 16 793 +794 794 795 793 0 0 16 794 +795 795 796 794 0 0 16 795 +796 796 797 795 0 0 16 796 +797 797 798 796 0 0 16 797 +798 798 799 797 0 0 16 798 +799 799 800 798 0 0 16 799 +800 800 801 799 0 0 16 800 +801 801 802 800 0 0 16 801 +802 802 803 801 0 0 16 802 +803 803 804 802 0 0 16 803 +804 804 805 803 0 0 16 804 +805 805 806 804 0 0 16 805 +806 806 807 805 0 0 16 806 +807 807 808 806 0 0 16 807 +808 808 809 807 0 0 16 808 +809 809 810 808 0 0 16 809 +810 810 811 809 0 0 16 810 +811 811 812 810 0 0 16 811 +812 812 813 811 0 0 16 812 +813 813 814 812 0 0 16 813 +814 814 815 813 0 0 16 814 +815 815 816 814 0 0 16 815 +816 816 817 815 0 0 16 816 +817 817 818 816 0 0 16 817 +818 818 819 817 0 0 16 818 +819 819 820 818 0 0 16 819 +820 820 821 819 0 0 16 820 +821 821 822 820 0 0 16 821 +822 822 823 821 0 0 16 822 +823 823 824 822 0 0 16 823 +824 824 825 823 0 0 16 824 +825 825 826 824 0 0 16 825 +826 826 827 825 0 0 16 826 +827 827 828 826 0 0 16 827 +828 828 829 827 0 0 16 828 +829 829 830 828 0 0 16 829 +830 830 831 829 0 0 16 830 +831 831 832 830 0 0 16 831 +832 832 833 831 0 0 16 832 +833 833 834 832 0 0 16 833 +834 834 835 833 0 0 16 834 +835 835 836 834 0 0 16 835 +836 836 837 835 0 0 16 836 +837 837 838 836 0 0 16 837 +838 838 839 837 0 0 16 838 +839 839 840 838 0 0 16 839 +840 840 841 839 0 0 16 840 +841 841 842 840 0 0 16 841 +842 842 843 841 0 0 16 842 +843 843 844 842 0 0 16 843 +844 844 845 843 0 0 16 844 +845 845 846 844 0 0 16 845 +846 846 847 845 0 0 16 846 +847 847 848 846 0 0 16 847 +848 848 849 847 0 0 16 848 +849 849 850 848 0 0 16 849 +850 850 851 849 0 0 16 850 +851 851 852 850 0 0 16 851 +852 852 853 851 0 0 16 852 +853 853 854 852 0 0 16 853 +854 854 855 853 0 0 16 854 +855 855 856 854 0 0 16 855 +856 856 857 855 0 0 16 856 +857 857 858 856 0 0 16 857 +858 858 859 857 0 0 16 858 +859 859 860 858 0 0 16 859 +860 860 861 859 0 0 16 860 +861 861 862 860 0 0 16 861 +862 862 863 861 0 0 16 862 +863 863 864 862 0 0 16 863 +864 864 865 863 0 0 16 864 +865 865 866 864 0 0 16 865 +866 866 867 865 0 0 16 866 +867 867 868 866 0 0 16 867 +868 868 869 867 0 0 16 868 +869 869 870 868 0 0 16 869 +870 870 871 869 0 0 16 870 +871 871 872 870 0 0 16 871 +872 872 873 871 0 0 16 872 +873 873 874 872 0 0 16 873 +874 874 875 873 0 0 16 874 +875 875 876 874 0 0 16 875 +876 876 877 875 0 0 16 876 +877 877 878 876 0 0 16 877 +878 878 879 877 0 0 16 878 +879 879 880 878 0 0 16 879 +880 880 881 879 0 0 16 880 +881 881 882 880 0 0 16 881 +882 882 883 881 0 0 16 882 +883 883 884 882 0 0 16 883 +884 884 885 883 0 0 16 884 +885 885 886 884 0 0 16 885 +886 886 887 885 0 0 16 886 +887 887 888 886 0 0 16 887 +888 888 889 887 0 0 16 888 +889 889 890 888 0 0 16 889 +890 890 891 889 0 0 16 890 +891 891 892 890 0 0 16 891 +892 892 893 891 0 0 16 892 +893 893 894 892 0 0 16 893 +894 894 895 893 0 0 16 894 +895 895 896 894 0 0 16 895 +896 896 897 895 0 0 16 896 +897 897 898 896 0 0 16 897 +898 898 899 897 0 0 16 898 +899 899 900 898 0 0 16 899 +900 900 901 899 0 0 16 900 +901 901 902 900 0 0 16 901 +902 902 903 901 0 0 16 902 +903 903 904 902 0 0 16 903 +904 904 905 903 0 0 16 904 +905 905 906 904 0 0 16 905 +906 906 907 905 0 0 16 906 +907 907 908 906 0 0 16 907 +908 908 909 907 0 0 16 908 +909 909 910 908 0 0 16 909 +910 910 911 909 0 0 16 910 +911 911 912 910 0 0 16 911 +912 912 913 911 0 0 16 912 +913 913 914 912 0 0 16 913 +914 914 915 913 0 0 16 914 +915 915 916 914 0 0 16 915 +916 916 917 915 0 0 16 916 +917 917 918 916 0 0 16 917 +918 918 919 917 0 0 16 918 +919 919 920 918 0 0 16 919 +920 920 921 919 0 0 16 920 +921 921 922 920 0 0 16 921 +922 922 923 921 0 0 16 922 +923 923 924 922 0 0 16 923 +924 924 925 923 0 0 16 924 +925 925 926 924 0 0 16 925 +926 926 927 925 0 0 16 926 +927 927 928 926 0 0 16 927 +928 928 929 927 0 0 16 928 +929 929 930 928 0 0 16 929 +930 930 931 929 0 0 16 930 +931 931 932 930 0 0 16 931 +932 932 933 931 0 0 16 932 +933 933 934 932 0 0 16 933 +934 934 935 933 0 0 16 934 +935 935 936 934 0 0 16 935 +936 936 937 935 0 0 16 936 +937 937 938 936 0 0 16 937 +938 938 939 937 0 0 16 938 +939 939 940 938 0 0 16 939 +940 940 941 939 0 0 16 940 +941 941 942 940 0 0 16 941 +942 942 943 941 0 0 16 942 +943 943 944 942 0 0 16 943 +944 944 945 943 0 0 16 944 +945 945 946 944 0 0 16 945 +946 946 947 945 0 0 16 946 +947 947 948 946 0 0 16 947 +948 948 949 947 0 0 16 948 +949 949 950 948 0 0 16 949 +950 950 951 949 0 0 16 950 +951 951 952 950 0 0 16 951 +952 952 953 951 0 0 16 952 +953 953 954 952 0 0 16 953 +954 954 955 953 0 0 16 954 +955 955 956 954 0 0 16 955 +956 956 957 955 0 0 16 956 +957 957 958 956 0 0 16 957 +958 958 959 957 0 0 16 958 +959 959 960 958 0 0 16 959 +960 960 961 959 0 0 16 960 +961 961 962 960 0 0 16 961 +962 962 963 961 0 0 16 962 +963 963 964 962 0 0 16 963 +964 964 965 963 0 0 16 964 +965 965 966 964 0 0 16 965 +966 966 967 965 0 0 16 966 +967 967 968 966 0 0 16 967 +968 968 969 967 0 0 16 968 +969 969 970 968 0 0 16 969 +970 970 971 969 0 0 16 970 +971 971 972 970 0 0 16 971 +972 972 973 971 0 0 16 972 +973 973 974 972 0 0 16 973 +974 974 975 973 0 0 16 974 +975 975 976 974 0 0 16 975 +976 976 977 975 0 0 16 976 +977 977 978 976 0 0 16 977 +978 978 979 977 0 0 16 978 +979 979 980 978 0 0 16 979 +980 980 981 979 0 0 16 980 +981 981 982 980 0 0 16 981 +982 982 983 981 0 0 16 982 +983 983 984 982 0 0 16 983 +984 984 985 983 0 0 16 984 +985 985 986 984 0 0 16 985 +986 986 987 985 0 0 16 986 +987 987 988 986 0 0 16 987 +988 988 989 987 0 0 16 988 +989 989 990 988 0 0 16 989 +990 990 991 989 0 0 16 990 +991 991 992 990 0 0 16 991 +992 992 993 991 0 0 16 992 +993 993 994 992 0 0 16 993 +994 994 995 993 0 0 16 994 +995 995 996 994 0 0 16 995 +996 996 997 995 0 0 16 996 +997 997 998 996 0 0 16 997 +998 998 999 997 0 0 16 998 +999 999 1000 998 0 0 16 999 +1000 1000 1001 999 0 0 16 1000 +1001 1001 1002 1000 0 0 16 1001 +1002 1002 1003 1001 0 0 16 1002 +1003 1003 1004 1002 0 0 16 1003 +1004 1004 1005 1003 0 0 16 1004 +1005 1005 1006 1004 0 0 16 1005 +1006 1006 1007 1005 0 0 16 1006 +1007 1007 1008 1006 0 0 16 1007 +1008 1008 1009 1007 0 0 16 1008 +1009 1009 1010 1008 0 0 16 1009 +1010 1010 1011 1009 0 0 16 1010 +1011 1011 1012 1010 0 0 16 1011 +1012 1012 1013 1011 0 0 16 1012 +1013 1013 1014 1012 0 0 16 1013 +1014 1014 1015 1013 0 0 16 1014 +1015 1015 1016 1014 0 0 16 1015 +1016 1016 1017 1015 0 0 16 1016 +1017 1017 1018 1016 0 0 16 1017 +1018 1018 1019 1017 0 0 16 1018 +1019 1019 1020 1018 0 0 16 1019 +1020 1020 1021 1019 0 0 16 1020 +1021 1021 1022 1020 0 0 16 1021 +1022 1022 -1 1021 0 0 16 1022 +====================================================== +=== [Queue after-back] Next: 1023 First: 1 Last: 0 +# seq next prev timeout retrans type cbp +0 0 -1 1022 0 0 16 0 +1 1 2 -1 0 0 16 1 +2 2 3 1 0 0 16 2 +3 3 4 2 0 0 16 3 +4 4 5 3 0 0 16 4 +5 5 6 4 0 0 16 5 +6 6 7 5 0 0 16 6 +7 7 8 6 0 0 16 7 +8 8 9 7 0 0 16 8 +9 9 10 8 0 0 16 9 +10 10 11 9 0 0 16 10 +11 11 12 10 0 0 16 11 +12 12 13 11 0 0 16 12 +13 13 14 12 0 0 16 13 +14 14 15 13 0 0 16 14 +15 15 16 14 0 0 16 15 +16 16 17 15 0 0 16 16 +17 17 18 16 0 0 16 17 +18 18 19 17 0 0 16 18 +19 19 20 18 0 0 16 19 +20 20 21 19 0 0 16 20 +21 21 22 20 0 0 16 21 +22 22 23 21 0 0 16 22 +23 23 24 22 0 0 16 23 +24 24 25 23 0 0 16 24 +25 25 26 24 0 0 16 25 +26 26 27 25 0 0 16 26 +27 27 28 26 0 0 16 27 +28 28 29 27 0 0 16 28 +29 29 30 28 0 0 16 29 +30 30 31 29 0 0 16 30 +31 31 32 30 0 0 16 31 +32 32 33 31 0 0 16 32 +33 33 34 32 0 0 16 33 +34 34 35 33 0 0 16 34 +35 35 36 34 0 0 16 35 +36 36 37 35 0 0 16 36 +37 37 38 36 0 0 16 37 +38 38 39 37 0 0 16 38 +39 39 40 38 0 0 16 39 +40 40 41 39 0 0 16 40 +41 41 42 40 0 0 16 41 +42 42 43 41 0 0 16 42 +43 43 44 42 0 0 16 43 +44 44 45 43 0 0 16 44 +45 45 46 44 0 0 16 45 +46 46 47 45 0 0 16 46 +47 47 48 46 0 0 16 47 +48 48 49 47 0 0 16 48 +49 49 50 48 0 0 16 49 +50 50 51 49 0 0 16 50 +51 51 52 50 0 0 16 51 +52 52 53 51 0 0 16 52 +53 53 54 52 0 0 16 53 +54 54 55 53 0 0 16 54 +55 55 56 54 0 0 16 55 +56 56 57 55 0 0 16 56 +57 57 58 56 0 0 16 57 +58 58 59 57 0 0 16 58 +59 59 60 58 0 0 16 59 +60 60 61 59 0 0 16 60 +61 61 62 60 0 0 16 61 +62 62 63 61 0 0 16 62 +63 63 64 62 0 0 16 63 +64 64 65 63 0 0 16 64 +65 65 66 64 0 0 16 65 +66 66 67 65 0 0 16 66 +67 67 68 66 0 0 16 67 +68 68 69 67 0 0 16 68 +69 69 70 68 0 0 16 69 +70 70 71 69 0 0 16 70 +71 71 72 70 0 0 16 71 +72 72 73 71 0 0 16 72 +73 73 74 72 0 0 16 73 +74 74 75 73 0 0 16 74 +75 75 76 74 0 0 16 75 +76 76 77 75 0 0 16 76 +77 77 78 76 0 0 16 77 +78 78 79 77 0 0 16 78 +79 79 80 78 0 0 16 79 +80 80 81 79 0 0 16 80 +81 81 82 80 0 0 16 81 +82 82 83 81 0 0 16 82 +83 83 84 82 0 0 16 83 +84 84 85 83 0 0 16 84 +85 85 86 84 0 0 16 85 +86 86 87 85 0 0 16 86 +87 87 88 86 0 0 16 87 +88 88 89 87 0 0 16 88 +89 89 90 88 0 0 16 89 +90 90 91 89 0 0 16 90 +91 91 92 90 0 0 16 91 +92 92 93 91 0 0 16 92 +93 93 94 92 0 0 16 93 +94 94 95 93 0 0 16 94 +95 95 96 94 0 0 16 95 +96 96 97 95 0 0 16 96 +97 97 98 96 0 0 16 97 +98 98 99 97 0 0 16 98 +99 99 100 98 0 0 16 99 +100 100 101 99 0 0 16 100 +101 101 102 100 0 0 16 101 +102 102 103 101 0 0 16 102 +103 103 104 102 0 0 16 103 +104 104 105 103 0 0 16 104 +105 105 106 104 0 0 16 105 +106 106 107 105 0 0 16 106 +107 107 108 106 0 0 16 107 +108 108 109 107 0 0 16 108 +109 109 110 108 0 0 16 109 +110 110 111 109 0 0 16 110 +111 111 112 110 0 0 16 111 +112 112 113 111 0 0 16 112 +113 113 114 112 0 0 16 113 +114 114 115 113 0 0 16 114 +115 115 116 114 0 0 16 115 +116 116 117 115 0 0 16 116 +117 117 118 116 0 0 16 117 +118 118 119 117 0 0 16 118 +119 119 120 118 0 0 16 119 +120 120 121 119 0 0 16 120 +121 121 122 120 0 0 16 121 +122 122 123 121 0 0 16 122 +123 123 124 122 0 0 16 123 +124 124 125 123 0 0 16 124 +125 125 126 124 0 0 16 125 +126 126 127 125 0 0 16 126 +127 127 128 126 0 0 16 127 +128 128 129 127 0 0 16 128 +129 129 130 128 0 0 16 129 +130 130 131 129 0 0 16 130 +131 131 132 130 0 0 16 131 +132 132 133 131 0 0 16 132 +133 133 134 132 0 0 16 133 +134 134 135 133 0 0 16 134 +135 135 136 134 0 0 16 135 +136 136 137 135 0 0 16 136 +137 137 138 136 0 0 16 137 +138 138 139 137 0 0 16 138 +139 139 140 138 0 0 16 139 +140 140 141 139 0 0 16 140 +141 141 142 140 0 0 16 141 +142 142 143 141 0 0 16 142 +143 143 144 142 0 0 16 143 +144 144 145 143 0 0 16 144 +145 145 146 144 0 0 16 145 +146 146 147 145 0 0 16 146 +147 147 148 146 0 0 16 147 +148 148 149 147 0 0 16 148 +149 149 150 148 0 0 16 149 +150 150 151 149 0 0 16 150 +151 151 152 150 0 0 16 151 +152 152 153 151 0 0 16 152 +153 153 154 152 0 0 16 153 +154 154 155 153 0 0 16 154 +155 155 156 154 0 0 16 155 +156 156 157 155 0 0 16 156 +157 157 158 156 0 0 16 157 +158 158 159 157 0 0 16 158 +159 159 160 158 0 0 16 159 +160 160 161 159 0 0 16 160 +161 161 162 160 0 0 16 161 +162 162 163 161 0 0 16 162 +163 163 164 162 0 0 16 163 +164 164 165 163 0 0 16 164 +165 165 166 164 0 0 16 165 +166 166 167 165 0 0 16 166 +167 167 168 166 0 0 16 167 +168 168 169 167 0 0 16 168 +169 169 170 168 0 0 16 169 +170 170 171 169 0 0 16 170 +171 171 172 170 0 0 16 171 +172 172 173 171 0 0 16 172 +173 173 174 172 0 0 16 173 +174 174 175 173 0 0 16 174 +175 175 176 174 0 0 16 175 +176 176 177 175 0 0 16 176 +177 177 178 176 0 0 16 177 +178 178 179 177 0 0 16 178 +179 179 180 178 0 0 16 179 +180 180 181 179 0 0 16 180 +181 181 182 180 0 0 16 181 +182 182 183 181 0 0 16 182 +183 183 184 182 0 0 16 183 +184 184 185 183 0 0 16 184 +185 185 186 184 0 0 16 185 +186 186 187 185 0 0 16 186 +187 187 188 186 0 0 16 187 +188 188 189 187 0 0 16 188 +189 189 190 188 0 0 16 189 +190 190 191 189 0 0 16 190 +191 191 192 190 0 0 16 191 +192 192 193 191 0 0 16 192 +193 193 194 192 0 0 16 193 +194 194 195 193 0 0 16 194 +195 195 196 194 0 0 16 195 +196 196 197 195 0 0 16 196 +197 197 198 196 0 0 16 197 +198 198 199 197 0 0 16 198 +199 199 200 198 0 0 16 199 +200 200 201 199 0 0 16 200 +201 201 202 200 0 0 16 201 +202 202 203 201 0 0 16 202 +203 203 204 202 0 0 16 203 +204 204 205 203 0 0 16 204 +205 205 206 204 0 0 16 205 +206 206 207 205 0 0 16 206 +207 207 208 206 0 0 16 207 +208 208 209 207 0 0 16 208 +209 209 210 208 0 0 16 209 +210 210 211 209 0 0 16 210 +211 211 212 210 0 0 16 211 +212 212 213 211 0 0 16 212 +213 213 214 212 0 0 16 213 +214 214 215 213 0 0 16 214 +215 215 216 214 0 0 16 215 +216 216 217 215 0 0 16 216 +217 217 218 216 0 0 16 217 +218 218 219 217 0 0 16 218 +219 219 220 218 0 0 16 219 +220 220 221 219 0 0 16 220 +221 221 222 220 0 0 16 221 +222 222 223 221 0 0 16 222 +223 223 224 222 0 0 16 223 +224 224 225 223 0 0 16 224 +225 225 226 224 0 0 16 225 +226 226 227 225 0 0 16 226 +227 227 228 226 0 0 16 227 +228 228 229 227 0 0 16 228 +229 229 230 228 0 0 16 229 +230 230 231 229 0 0 16 230 +231 231 232 230 0 0 16 231 +232 232 233 231 0 0 16 232 +233 233 234 232 0 0 16 233 +234 234 235 233 0 0 16 234 +235 235 236 234 0 0 16 235 +236 236 237 235 0 0 16 236 +237 237 238 236 0 0 16 237 +238 238 239 237 0 0 16 238 +239 239 240 238 0 0 16 239 +240 240 241 239 0 0 16 240 +241 241 242 240 0 0 16 241 +242 242 243 241 0 0 16 242 +243 243 244 242 0 0 16 243 +244 244 245 243 0 0 16 244 +245 245 246 244 0 0 16 245 +246 246 247 245 0 0 16 246 +247 247 248 246 0 0 16 247 +248 248 249 247 0 0 16 248 +249 249 250 248 0 0 16 249 +250 250 251 249 0 0 16 250 +251 251 252 250 0 0 16 251 +252 252 253 251 0 0 16 252 +253 253 254 252 0 0 16 253 +254 254 255 253 0 0 16 254 +255 255 256 254 0 0 16 255 +256 256 257 255 0 0 16 256 +257 257 258 256 0 0 16 257 +258 258 259 257 0 0 16 258 +259 259 260 258 0 0 16 259 +260 260 261 259 0 0 16 260 +261 261 262 260 0 0 16 261 +262 262 263 261 0 0 16 262 +263 263 264 262 0 0 16 263 +264 264 265 263 0 0 16 264 +265 265 266 264 0 0 16 265 +266 266 267 265 0 0 16 266 +267 267 268 266 0 0 16 267 +268 268 269 267 0 0 16 268 +269 269 270 268 0 0 16 269 +270 270 271 269 0 0 16 270 +271 271 272 270 0 0 16 271 +272 272 273 271 0 0 16 272 +273 273 274 272 0 0 16 273 +274 274 275 273 0 0 16 274 +275 275 276 274 0 0 16 275 +276 276 277 275 0 0 16 276 +277 277 278 276 0 0 16 277 +278 278 279 277 0 0 16 278 +279 279 280 278 0 0 16 279 +280 280 281 279 0 0 16 280 +281 281 282 280 0 0 16 281 +282 282 283 281 0 0 16 282 +283 283 284 282 0 0 16 283 +284 284 285 283 0 0 16 284 +285 285 286 284 0 0 16 285 +286 286 287 285 0 0 16 286 +287 287 288 286 0 0 16 287 +288 288 289 287 0 0 16 288 +289 289 290 288 0 0 16 289 +290 290 291 289 0 0 16 290 +291 291 292 290 0 0 16 291 +292 292 293 291 0 0 16 292 +293 293 294 292 0 0 16 293 +294 294 295 293 0 0 16 294 +295 295 296 294 0 0 16 295 +296 296 297 295 0 0 16 296 +297 297 298 296 0 0 16 297 +298 298 299 297 0 0 16 298 +299 299 300 298 0 0 16 299 +300 300 301 299 0 0 16 300 +301 301 302 300 0 0 16 301 +302 302 303 301 0 0 16 302 +303 303 304 302 0 0 16 303 +304 304 305 303 0 0 16 304 +305 305 306 304 0 0 16 305 +306 306 307 305 0 0 16 306 +307 307 308 306 0 0 16 307 +308 308 309 307 0 0 16 308 +309 309 310 308 0 0 16 309 +310 310 311 309 0 0 16 310 +311 311 312 310 0 0 16 311 +312 312 313 311 0 0 16 312 +313 313 314 312 0 0 16 313 +314 314 315 313 0 0 16 314 +315 315 316 314 0 0 16 315 +316 316 317 315 0 0 16 316 +317 317 318 316 0 0 16 317 +318 318 319 317 0 0 16 318 +319 319 320 318 0 0 16 319 +320 320 321 319 0 0 16 320 +321 321 322 320 0 0 16 321 +322 322 323 321 0 0 16 322 +323 323 324 322 0 0 16 323 +324 324 325 323 0 0 16 324 +325 325 326 324 0 0 16 325 +326 326 327 325 0 0 16 326 +327 327 328 326 0 0 16 327 +328 328 329 327 0 0 16 328 +329 329 330 328 0 0 16 329 +330 330 331 329 0 0 16 330 +331 331 332 330 0 0 16 331 +332 332 333 331 0 0 16 332 +333 333 334 332 0 0 16 333 +334 334 335 333 0 0 16 334 +335 335 336 334 0 0 16 335 +336 336 337 335 0 0 16 336 +337 337 338 336 0 0 16 337 +338 338 339 337 0 0 16 338 +339 339 340 338 0 0 16 339 +340 340 341 339 0 0 16 340 +341 341 342 340 0 0 16 341 +342 342 343 341 0 0 16 342 +343 343 344 342 0 0 16 343 +344 344 345 343 0 0 16 344 +345 345 346 344 0 0 16 345 +346 346 347 345 0 0 16 346 +347 347 348 346 0 0 16 347 +348 348 349 347 0 0 16 348 +349 349 350 348 0 0 16 349 +350 350 351 349 0 0 16 350 +351 351 352 350 0 0 16 351 +352 352 353 351 0 0 16 352 +353 353 354 352 0 0 16 353 +354 354 355 353 0 0 16 354 +355 355 356 354 0 0 16 355 +356 356 357 355 0 0 16 356 +357 357 358 356 0 0 16 357 +358 358 359 357 0 0 16 358 +359 359 360 358 0 0 16 359 +360 360 361 359 0 0 16 360 +361 361 362 360 0 0 16 361 +362 362 363 361 0 0 16 362 +363 363 364 362 0 0 16 363 +364 364 365 363 0 0 16 364 +365 365 366 364 0 0 16 365 +366 366 367 365 0 0 16 366 +367 367 368 366 0 0 16 367 +368 368 369 367 0 0 16 368 +369 369 370 368 0 0 16 369 +370 370 371 369 0 0 16 370 +371 371 372 370 0 0 16 371 +372 372 373 371 0 0 16 372 +373 373 374 372 0 0 16 373 +374 374 375 373 0 0 16 374 +375 375 376 374 0 0 16 375 +376 376 377 375 0 0 16 376 +377 377 378 376 0 0 16 377 +378 378 379 377 0 0 16 378 +379 379 380 378 0 0 16 379 +380 380 381 379 0 0 16 380 +381 381 382 380 0 0 16 381 +382 382 383 381 0 0 16 382 +383 383 384 382 0 0 16 383 +384 384 385 383 0 0 16 384 +385 385 386 384 0 0 16 385 +386 386 387 385 0 0 16 386 +387 387 388 386 0 0 16 387 +388 388 389 387 0 0 16 388 +389 389 390 388 0 0 16 389 +390 390 391 389 0 0 16 390 +391 391 392 390 0 0 16 391 +392 392 393 391 0 0 16 392 +393 393 394 392 0 0 16 393 +394 394 395 393 0 0 16 394 +395 395 396 394 0 0 16 395 +396 396 397 395 0 0 16 396 +397 397 398 396 0 0 16 397 +398 398 399 397 0 0 16 398 +399 399 400 398 0 0 16 399 +400 400 401 399 0 0 16 400 +401 401 402 400 0 0 16 401 +402 402 403 401 0 0 16 402 +403 403 404 402 0 0 16 403 +404 404 405 403 0 0 16 404 +405 405 406 404 0 0 16 405 +406 406 407 405 0 0 16 406 +407 407 408 406 0 0 16 407 +408 408 409 407 0 0 16 408 +409 409 410 408 0 0 16 409 +410 410 411 409 0 0 16 410 +411 411 412 410 0 0 16 411 +412 412 413 411 0 0 16 412 +413 413 414 412 0 0 16 413 +414 414 415 413 0 0 16 414 +415 415 416 414 0 0 16 415 +416 416 417 415 0 0 16 416 +417 417 418 416 0 0 16 417 +418 418 419 417 0 0 16 418 +419 419 420 418 0 0 16 419 +420 420 421 419 0 0 16 420 +421 421 422 420 0 0 16 421 +422 422 423 421 0 0 16 422 +423 423 424 422 0 0 16 423 +424 424 425 423 0 0 16 424 +425 425 426 424 0 0 16 425 +426 426 427 425 0 0 16 426 +427 427 428 426 0 0 16 427 +428 428 429 427 0 0 16 428 +429 429 430 428 0 0 16 429 +430 430 431 429 0 0 16 430 +431 431 432 430 0 0 16 431 +432 432 433 431 0 0 16 432 +433 433 434 432 0 0 16 433 +434 434 435 433 0 0 16 434 +435 435 436 434 0 0 16 435 +436 436 437 435 0 0 16 436 +437 437 438 436 0 0 16 437 +438 438 439 437 0 0 16 438 +439 439 440 438 0 0 16 439 +440 440 441 439 0 0 16 440 +441 441 442 440 0 0 16 441 +442 442 443 441 0 0 16 442 +443 443 444 442 0 0 16 443 +444 444 445 443 0 0 16 444 +445 445 446 444 0 0 16 445 +446 446 447 445 0 0 16 446 +447 447 448 446 0 0 16 447 +448 448 449 447 0 0 16 448 +449 449 450 448 0 0 16 449 +450 450 451 449 0 0 16 450 +451 451 452 450 0 0 16 451 +452 452 453 451 0 0 16 452 +453 453 454 452 0 0 16 453 +454 454 455 453 0 0 16 454 +455 455 456 454 0 0 16 455 +456 456 457 455 0 0 16 456 +457 457 458 456 0 0 16 457 +458 458 459 457 0 0 16 458 +459 459 460 458 0 0 16 459 +460 460 461 459 0 0 16 460 +461 461 462 460 0 0 16 461 +462 462 463 461 0 0 16 462 +463 463 464 462 0 0 16 463 +464 464 465 463 0 0 16 464 +465 465 466 464 0 0 16 465 +466 466 467 465 0 0 16 466 +467 467 468 466 0 0 16 467 +468 468 469 467 0 0 16 468 +469 469 470 468 0 0 16 469 +470 470 471 469 0 0 16 470 +471 471 472 470 0 0 16 471 +472 472 473 471 0 0 16 472 +473 473 474 472 0 0 16 473 +474 474 475 473 0 0 16 474 +475 475 476 474 0 0 16 475 +476 476 477 475 0 0 16 476 +477 477 478 476 0 0 16 477 +478 478 479 477 0 0 16 478 +479 479 480 478 0 0 16 479 +480 480 481 479 0 0 16 480 +481 481 482 480 0 0 16 481 +482 482 483 481 0 0 16 482 +483 483 484 482 0 0 16 483 +484 484 485 483 0 0 16 484 +485 485 486 484 0 0 16 485 +486 486 487 485 0 0 16 486 +487 487 488 486 0 0 16 487 +488 488 489 487 0 0 16 488 +489 489 490 488 0 0 16 489 +490 490 491 489 0 0 16 490 +491 491 492 490 0 0 16 491 +492 492 493 491 0 0 16 492 +493 493 494 492 0 0 16 493 +494 494 495 493 0 0 16 494 +495 495 496 494 0 0 16 495 +496 496 497 495 0 0 16 496 +497 497 498 496 0 0 16 497 +498 498 499 497 0 0 16 498 +499 499 500 498 0 0 16 499 +500 500 501 499 0 0 16 500 +501 501 502 500 0 0 16 501 +502 502 503 501 0 0 16 502 +503 503 504 502 0 0 16 503 +504 504 505 503 0 0 16 504 +505 505 506 504 0 0 16 505 +506 506 507 505 0 0 16 506 +507 507 508 506 0 0 16 507 +508 508 509 507 0 0 16 508 +509 509 510 508 0 0 16 509 +510 510 511 509 0 0 16 510 +511 511 512 510 0 0 16 511 +512 512 513 511 0 0 16 512 +513 513 514 512 0 0 16 513 +514 514 515 513 0 0 16 514 +515 515 516 514 0 0 16 515 +516 516 517 515 0 0 16 516 +517 517 518 516 0 0 16 517 +518 518 519 517 0 0 16 518 +519 519 520 518 0 0 16 519 +520 520 521 519 0 0 16 520 +521 521 522 520 0 0 16 521 +522 522 523 521 0 0 16 522 +523 523 524 522 0 0 16 523 +524 524 525 523 0 0 16 524 +525 525 526 524 0 0 16 525 +526 526 527 525 0 0 16 526 +527 527 528 526 0 0 16 527 +528 528 529 527 0 0 16 528 +529 529 530 528 0 0 16 529 +530 530 531 529 0 0 16 530 +531 531 532 530 0 0 16 531 +532 532 533 531 0 0 16 532 +533 533 534 532 0 0 16 533 +534 534 535 533 0 0 16 534 +535 535 536 534 0 0 16 535 +536 536 537 535 0 0 16 536 +537 537 538 536 0 0 16 537 +538 538 539 537 0 0 16 538 +539 539 540 538 0 0 16 539 +540 540 541 539 0 0 16 540 +541 541 542 540 0 0 16 541 +542 542 543 541 0 0 16 542 +543 543 544 542 0 0 16 543 +544 544 545 543 0 0 16 544 +545 545 546 544 0 0 16 545 +546 546 547 545 0 0 16 546 +547 547 548 546 0 0 16 547 +548 548 549 547 0 0 16 548 +549 549 550 548 0 0 16 549 +550 550 551 549 0 0 16 550 +551 551 552 550 0 0 16 551 +552 552 553 551 0 0 16 552 +553 553 554 552 0 0 16 553 +554 554 555 553 0 0 16 554 +555 555 556 554 0 0 16 555 +556 556 557 555 0 0 16 556 +557 557 558 556 0 0 16 557 +558 558 559 557 0 0 16 558 +559 559 560 558 0 0 16 559 +560 560 561 559 0 0 16 560 +561 561 562 560 0 0 16 561 +562 562 563 561 0 0 16 562 +563 563 564 562 0 0 16 563 +564 564 565 563 0 0 16 564 +565 565 566 564 0 0 16 565 +566 566 567 565 0 0 16 566 +567 567 568 566 0 0 16 567 +568 568 569 567 0 0 16 568 +569 569 570 568 0 0 16 569 +570 570 571 569 0 0 16 570 +571 571 572 570 0 0 16 571 +572 572 573 571 0 0 16 572 +573 573 574 572 0 0 16 573 +574 574 575 573 0 0 16 574 +575 575 576 574 0 0 16 575 +576 576 577 575 0 0 16 576 +577 577 578 576 0 0 16 577 +578 578 579 577 0 0 16 578 +579 579 580 578 0 0 16 579 +580 580 581 579 0 0 16 580 +581 581 582 580 0 0 16 581 +582 582 583 581 0 0 16 582 +583 583 584 582 0 0 16 583 +584 584 585 583 0 0 16 584 +585 585 586 584 0 0 16 585 +586 586 587 585 0 0 16 586 +587 587 588 586 0 0 16 587 +588 588 589 587 0 0 16 588 +589 589 590 588 0 0 16 589 +590 590 591 589 0 0 16 590 +591 591 592 590 0 0 16 591 +592 592 593 591 0 0 16 592 +593 593 594 592 0 0 16 593 +594 594 595 593 0 0 16 594 +595 595 596 594 0 0 16 595 +596 596 597 595 0 0 16 596 +597 597 598 596 0 0 16 597 +598 598 599 597 0 0 16 598 +599 599 600 598 0 0 16 599 +600 600 601 599 0 0 16 600 +601 601 602 600 0 0 16 601 +602 602 603 601 0 0 16 602 +603 603 604 602 0 0 16 603 +604 604 605 603 0 0 16 604 +605 605 606 604 0 0 16 605 +606 606 607 605 0 0 16 606 +607 607 608 606 0 0 16 607 +608 608 609 607 0 0 16 608 +609 609 610 608 0 0 16 609 +610 610 611 609 0 0 16 610 +611 611 612 610 0 0 16 611 +612 612 613 611 0 0 16 612 +613 613 614 612 0 0 16 613 +614 614 615 613 0 0 16 614 +615 615 616 614 0 0 16 615 +616 616 617 615 0 0 16 616 +617 617 618 616 0 0 16 617 +618 618 619 617 0 0 16 618 +619 619 620 618 0 0 16 619 +620 620 621 619 0 0 16 620 +621 621 622 620 0 0 16 621 +622 622 623 621 0 0 16 622 +623 623 624 622 0 0 16 623 +624 624 625 623 0 0 16 624 +625 625 626 624 0 0 16 625 +626 626 627 625 0 0 16 626 +627 627 628 626 0 0 16 627 +628 628 629 627 0 0 16 628 +629 629 630 628 0 0 16 629 +630 630 631 629 0 0 16 630 +631 631 632 630 0 0 16 631 +632 632 633 631 0 0 16 632 +633 633 634 632 0 0 16 633 +634 634 635 633 0 0 16 634 +635 635 636 634 0 0 16 635 +636 636 637 635 0 0 16 636 +637 637 638 636 0 0 16 637 +638 638 639 637 0 0 16 638 +639 639 640 638 0 0 16 639 +640 640 641 639 0 0 16 640 +641 641 642 640 0 0 16 641 +642 642 643 641 0 0 16 642 +643 643 644 642 0 0 16 643 +644 644 645 643 0 0 16 644 +645 645 646 644 0 0 16 645 +646 646 647 645 0 0 16 646 +647 647 648 646 0 0 16 647 +648 648 649 647 0 0 16 648 +649 649 650 648 0 0 16 649 +650 650 651 649 0 0 16 650 +651 651 652 650 0 0 16 651 +652 652 653 651 0 0 16 652 +653 653 654 652 0 0 16 653 +654 654 655 653 0 0 16 654 +655 655 656 654 0 0 16 655 +656 656 657 655 0 0 16 656 +657 657 658 656 0 0 16 657 +658 658 659 657 0 0 16 658 +659 659 660 658 0 0 16 659 +660 660 661 659 0 0 16 660 +661 661 662 660 0 0 16 661 +662 662 663 661 0 0 16 662 +663 663 664 662 0 0 16 663 +664 664 665 663 0 0 16 664 +665 665 666 664 0 0 16 665 +666 666 667 665 0 0 16 666 +667 667 668 666 0 0 16 667 +668 668 669 667 0 0 16 668 +669 669 670 668 0 0 16 669 +670 670 671 669 0 0 16 670 +671 671 672 670 0 0 16 671 +672 672 673 671 0 0 16 672 +673 673 674 672 0 0 16 673 +674 674 675 673 0 0 16 674 +675 675 676 674 0 0 16 675 +676 676 677 675 0 0 16 676 +677 677 678 676 0 0 16 677 +678 678 679 677 0 0 16 678 +679 679 680 678 0 0 16 679 +680 680 681 679 0 0 16 680 +681 681 682 680 0 0 16 681 +682 682 683 681 0 0 16 682 +683 683 684 682 0 0 16 683 +684 684 685 683 0 0 16 684 +685 685 686 684 0 0 16 685 +686 686 687 685 0 0 16 686 +687 687 688 686 0 0 16 687 +688 688 689 687 0 0 16 688 +689 689 690 688 0 0 16 689 +690 690 691 689 0 0 16 690 +691 691 692 690 0 0 16 691 +692 692 693 691 0 0 16 692 +693 693 694 692 0 0 16 693 +694 694 695 693 0 0 16 694 +695 695 696 694 0 0 16 695 +696 696 697 695 0 0 16 696 +697 697 698 696 0 0 16 697 +698 698 699 697 0 0 16 698 +699 699 700 698 0 0 16 699 +700 700 701 699 0 0 16 700 +701 701 702 700 0 0 16 701 +702 702 703 701 0 0 16 702 +703 703 704 702 0 0 16 703 +704 704 705 703 0 0 16 704 +705 705 706 704 0 0 16 705 +706 706 707 705 0 0 16 706 +707 707 708 706 0 0 16 707 +708 708 709 707 0 0 16 708 +709 709 710 708 0 0 16 709 +710 710 711 709 0 0 16 710 +711 711 712 710 0 0 16 711 +712 712 713 711 0 0 16 712 +713 713 714 712 0 0 16 713 +714 714 715 713 0 0 16 714 +715 715 716 714 0 0 16 715 +716 716 717 715 0 0 16 716 +717 717 718 716 0 0 16 717 +718 718 719 717 0 0 16 718 +719 719 720 718 0 0 16 719 +720 720 721 719 0 0 16 720 +721 721 722 720 0 0 16 721 +722 722 723 721 0 0 16 722 +723 723 724 722 0 0 16 723 +724 724 725 723 0 0 16 724 +725 725 726 724 0 0 16 725 +726 726 727 725 0 0 16 726 +727 727 728 726 0 0 16 727 +728 728 729 727 0 0 16 728 +729 729 730 728 0 0 16 729 +730 730 731 729 0 0 16 730 +731 731 732 730 0 0 16 731 +732 732 733 731 0 0 16 732 +733 733 734 732 0 0 16 733 +734 734 735 733 0 0 16 734 +735 735 736 734 0 0 16 735 +736 736 737 735 0 0 16 736 +737 737 738 736 0 0 16 737 +738 738 739 737 0 0 16 738 +739 739 740 738 0 0 16 739 +740 740 741 739 0 0 16 740 +741 741 742 740 0 0 16 741 +742 742 743 741 0 0 16 742 +743 743 744 742 0 0 16 743 +744 744 745 743 0 0 16 744 +745 745 746 744 0 0 16 745 +746 746 747 745 0 0 16 746 +747 747 748 746 0 0 16 747 +748 748 749 747 0 0 16 748 +749 749 750 748 0 0 16 749 +750 750 751 749 0 0 16 750 +751 751 752 750 0 0 16 751 +752 752 753 751 0 0 16 752 +753 753 754 752 0 0 16 753 +754 754 755 753 0 0 16 754 +755 755 756 754 0 0 16 755 +756 756 757 755 0 0 16 756 +757 757 758 756 0 0 16 757 +758 758 759 757 0 0 16 758 +759 759 760 758 0 0 16 759 +760 760 761 759 0 0 16 760 +761 761 762 760 0 0 16 761 +762 762 763 761 0 0 16 762 +763 763 764 762 0 0 16 763 +764 764 765 763 0 0 16 764 +765 765 766 764 0 0 16 765 +766 766 767 765 0 0 16 766 +767 767 768 766 0 0 16 767 +768 768 769 767 0 0 16 768 +769 769 770 768 0 0 16 769 +770 770 771 769 0 0 16 770 +771 771 772 770 0 0 16 771 +772 772 773 771 0 0 16 772 +773 773 774 772 0 0 16 773 +774 774 775 773 0 0 16 774 +775 775 776 774 0 0 16 775 +776 776 777 775 0 0 16 776 +777 777 778 776 0 0 16 777 +778 778 779 777 0 0 16 778 +779 779 780 778 0 0 16 779 +780 780 781 779 0 0 16 780 +781 781 782 780 0 0 16 781 +782 782 783 781 0 0 16 782 +783 783 784 782 0 0 16 783 +784 784 785 783 0 0 16 784 +785 785 786 784 0 0 16 785 +786 786 787 785 0 0 16 786 +787 787 788 786 0 0 16 787 +788 788 789 787 0 0 16 788 +789 789 790 788 0 0 16 789 +790 790 791 789 0 0 16 790 +791 791 792 790 0 0 16 791 +792 792 793 791 0 0 16 792 +793 793 794 792 0 0 16 793 +794 794 795 793 0 0 16 794 +795 795 796 794 0 0 16 795 +796 796 797 795 0 0 16 796 +797 797 798 796 0 0 16 797 +798 798 799 797 0 0 16 798 +799 799 800 798 0 0 16 799 +800 800 801 799 0 0 16 800 +801 801 802 800 0 0 16 801 +802 802 803 801 0 0 16 802 +803 803 804 802 0 0 16 803 +804 804 805 803 0 0 16 804 +805 805 806 804 0 0 16 805 +806 806 807 805 0 0 16 806 +807 807 808 806 0 0 16 807 +808 808 809 807 0 0 16 808 +809 809 810 808 0 0 16 809 +810 810 811 809 0 0 16 810 +811 811 812 810 0 0 16 811 +812 812 813 811 0 0 16 812 +813 813 814 812 0 0 16 813 +814 814 815 813 0 0 16 814 +815 815 816 814 0 0 16 815 +816 816 817 815 0 0 16 816 +817 817 818 816 0 0 16 817 +818 818 819 817 0 0 16 818 +819 819 820 818 0 0 16 819 +820 820 821 819 0 0 16 820 +821 821 822 820 0 0 16 821 +822 822 823 821 0 0 16 822 +823 823 824 822 0 0 16 823 +824 824 825 823 0 0 16 824 +825 825 826 824 0 0 16 825 +826 826 827 825 0 0 16 826 +827 827 828 826 0 0 16 827 +828 828 829 827 0 0 16 828 +829 829 830 828 0 0 16 829 +830 830 831 829 0 0 16 830 +831 831 832 830 0 0 16 831 +832 832 833 831 0 0 16 832 +833 833 834 832 0 0 16 833 +834 834 835 833 0 0 16 834 +835 835 836 834 0 0 16 835 +836 836 837 835 0 0 16 836 +837 837 838 836 0 0 16 837 +838 838 839 837 0 0 16 838 +839 839 840 838 0 0 16 839 +840 840 841 839 0 0 16 840 +841 841 842 840 0 0 16 841 +842 842 843 841 0 0 16 842 +843 843 844 842 0 0 16 843 +844 844 845 843 0 0 16 844 +845 845 846 844 0 0 16 845 +846 846 847 845 0 0 16 846 +847 847 848 846 0 0 16 847 +848 848 849 847 0 0 16 848 +849 849 850 848 0 0 16 849 +850 850 851 849 0 0 16 850 +851 851 852 850 0 0 16 851 +852 852 853 851 0 0 16 852 +853 853 854 852 0 0 16 853 +854 854 855 853 0 0 16 854 +855 855 856 854 0 0 16 855 +856 856 857 855 0 0 16 856 +857 857 858 856 0 0 16 857 +858 858 859 857 0 0 16 858 +859 859 860 858 0 0 16 859 +860 860 861 859 0 0 16 860 +861 861 862 860 0 0 16 861 +862 862 863 861 0 0 16 862 +863 863 864 862 0 0 16 863 +864 864 865 863 0 0 16 864 +865 865 866 864 0 0 16 865 +866 866 867 865 0 0 16 866 +867 867 868 866 0 0 16 867 +868 868 869 867 0 0 16 868 +869 869 870 868 0 0 16 869 +870 870 871 869 0 0 16 870 +871 871 872 870 0 0 16 871 +872 872 873 871 0 0 16 872 +873 873 874 872 0 0 16 873 +874 874 875 873 0 0 16 874 +875 875 876 874 0 0 16 875 +876 876 877 875 0 0 16 876 +877 877 878 876 0 0 16 877 +878 878 879 877 0 0 16 878 +879 879 880 878 0 0 16 879 +880 880 881 879 0 0 16 880 +881 881 882 880 0 0 16 881 +882 882 883 881 0 0 16 882 +883 883 884 882 0 0 16 883 +884 884 885 883 0 0 16 884 +885 885 886 884 0 0 16 885 +886 886 887 885 0 0 16 886 +887 887 888 886 0 0 16 887 +888 888 889 887 0 0 16 888 +889 889 890 888 0 0 16 889 +890 890 891 889 0 0 16 890 +891 891 892 890 0 0 16 891 +892 892 893 891 0 0 16 892 +893 893 894 892 0 0 16 893 +894 894 895 893 0 0 16 894 +895 895 896 894 0 0 16 895 +896 896 897 895 0 0 16 896 +897 897 898 896 0 0 16 897 +898 898 899 897 0 0 16 898 +899 899 900 898 0 0 16 899 +900 900 901 899 0 0 16 900 +901 901 902 900 0 0 16 901 +902 902 903 901 0 0 16 902 +903 903 904 902 0 0 16 903 +904 904 905 903 0 0 16 904 +905 905 906 904 0 0 16 905 +906 906 907 905 0 0 16 906 +907 907 908 906 0 0 16 907 +908 908 909 907 0 0 16 908 +909 909 910 908 0 0 16 909 +910 910 911 909 0 0 16 910 +911 911 912 910 0 0 16 911 +912 912 913 911 0 0 16 912 +913 913 914 912 0 0 16 913 +914 914 915 913 0 0 16 914 +915 915 916 914 0 0 16 915 +916 916 917 915 0 0 16 916 +917 917 918 916 0 0 16 917 +918 918 919 917 0 0 16 918 +919 919 920 918 0 0 16 919 +920 920 921 919 0 0 16 920 +921 921 922 920 0 0 16 921 +922 922 923 921 0 0 16 922 +923 923 924 922 0 0 16 923 +924 924 925 923 0 0 16 924 +925 925 926 924 0 0 16 925 +926 926 927 925 0 0 16 926 +927 927 928 926 0 0 16 927 +928 928 929 927 0 0 16 928 +929 929 930 928 0 0 16 929 +930 930 931 929 0 0 16 930 +931 931 932 930 0 0 16 931 +932 932 933 931 0 0 16 932 +933 933 934 932 0 0 16 933 +934 934 935 933 0 0 16 934 +935 935 936 934 0 0 16 935 +936 936 937 935 0 0 16 936 +937 937 938 936 0 0 16 937 +938 938 939 937 0 0 16 938 +939 939 940 938 0 0 16 939 +940 940 941 939 0 0 16 940 +941 941 942 940 0 0 16 941 +942 942 943 941 0 0 16 942 +943 943 944 942 0 0 16 943 +944 944 945 943 0 0 16 944 +945 945 946 944 0 0 16 945 +946 946 947 945 0 0 16 946 +947 947 948 946 0 0 16 947 +948 948 949 947 0 0 16 948 +949 949 950 948 0 0 16 949 +950 950 951 949 0 0 16 950 +951 951 952 950 0 0 16 951 +952 952 953 951 0 0 16 952 +953 953 954 952 0 0 16 953 +954 954 955 953 0 0 16 954 +955 955 956 954 0 0 16 955 +956 956 957 955 0 0 16 956 +957 957 958 956 0 0 16 957 +958 958 959 957 0 0 16 958 +959 959 960 958 0 0 16 959 +960 960 961 959 0 0 16 960 +961 961 962 960 0 0 16 961 +962 962 963 961 0 0 16 962 +963 963 964 962 0 0 16 963 +964 964 965 963 0 0 16 964 +965 965 966 964 0 0 16 965 +966 966 967 965 0 0 16 966 +967 967 968 966 0 0 16 967 +968 968 969 967 0 0 16 968 +969 969 970 968 0 0 16 969 +970 970 971 969 0 0 16 970 +971 971 972 970 0 0 16 971 +972 972 973 971 0 0 16 972 +973 973 974 972 0 0 16 973 +974 974 975 973 0 0 16 974 +975 975 976 974 0 0 16 975 +976 976 977 975 0 0 16 976 +977 977 978 976 0 0 16 977 +978 978 979 977 0 0 16 978 +979 979 980 978 0 0 16 979 +980 980 981 979 0 0 16 980 +981 981 982 980 0 0 16 981 +982 982 983 981 0 0 16 982 +983 983 984 982 0 0 16 983 +984 984 985 983 0 0 16 984 +985 985 986 984 0 0 16 985 +986 986 987 985 0 0 16 986 +987 987 988 986 0 0 16 987 +988 988 989 987 0 0 16 988 +989 989 990 988 0 0 16 989 +990 990 991 989 0 0 16 990 +991 991 992 990 0 0 16 991 +992 992 993 991 0 0 16 992 +993 993 994 992 0 0 16 993 +994 994 995 993 0 0 16 994 +995 995 996 994 0 0 16 995 +996 996 997 995 0 0 16 996 +997 997 998 996 0 0 16 997 +998 998 999 997 0 0 16 998 +999 999 1000 998 0 0 16 999 +1000 1000 1001 999 0 0 16 1000 +1001 1001 1002 1000 0 0 16 1001 +1002 1002 1003 1001 0 0 16 1002 +1003 1003 1004 1002 0 0 16 1003 +1004 1004 1005 1003 0 0 16 1004 +1005 1005 1006 1004 0 0 16 1005 +1006 1006 1007 1005 0 0 16 1006 +1007 1007 1008 1006 0 0 16 1007 +1008 1008 1009 1007 0 0 16 1008 +1009 1009 1010 1008 0 0 16 1009 +1010 1010 1011 1009 0 0 16 1010 +1011 1011 1012 1010 0 0 16 1011 +1012 1012 1013 1011 0 0 16 1012 +1013 1013 1014 1012 0 0 16 1013 +1014 1014 1015 1013 0 0 16 1014 +1015 1015 1016 1014 0 0 16 1015 +1016 1016 1017 1015 0 0 16 1016 +1017 1017 1018 1016 0 0 16 1017 +1018 1018 1019 1017 0 0 16 1018 +1019 1019 1020 1018 0 0 16 1019 +1020 1020 1021 1019 0 0 16 1020 +1021 1021 1022 1020 0 0 16 1021 +1022 1022 0 1021 0 0 16 1022 +====================================================== +=== [Queue after-full] Next: 0 First: 1 Last: 1023 +# seq next prev timeout retrans type cbp +0 0 1023 1022 0 0 16 0 +1 1 2 -1 0 0 16 1 +2 2 3 1 0 0 16 2 +3 3 4 2 0 0 16 3 +4 4 5 3 0 0 16 4 +5 5 6 4 0 0 16 5 +6 6 7 5 0 0 16 6 +7 7 8 6 0 0 16 7 +8 8 9 7 0 0 16 8 +9 9 10 8 0 0 16 9 +10 10 11 9 0 0 16 10 +11 11 12 10 0 0 16 11 +12 12 13 11 0 0 16 12 +13 13 14 12 0 0 16 13 +14 14 15 13 0 0 16 14 +15 15 16 14 0 0 16 15 +16 16 17 15 0 0 16 16 +17 17 18 16 0 0 16 17 +18 18 19 17 0 0 16 18 +19 19 20 18 0 0 16 19 +20 20 21 19 0 0 16 20 +21 21 22 20 0 0 16 21 +22 22 23 21 0 0 16 22 +23 23 24 22 0 0 16 23 +24 24 25 23 0 0 16 24 +25 25 26 24 0 0 16 25 +26 26 27 25 0 0 16 26 +27 27 28 26 0 0 16 27 +28 28 29 27 0 0 16 28 +29 29 30 28 0 0 16 29 +30 30 31 29 0 0 16 30 +31 31 32 30 0 0 16 31 +32 32 33 31 0 0 16 32 +33 33 34 32 0 0 16 33 +34 34 35 33 0 0 16 34 +35 35 36 34 0 0 16 35 +36 36 37 35 0 0 16 36 +37 37 38 36 0 0 16 37 +38 38 39 37 0 0 16 38 +39 39 40 38 0 0 16 39 +40 40 41 39 0 0 16 40 +41 41 42 40 0 0 16 41 +42 42 43 41 0 0 16 42 +43 43 44 42 0 0 16 43 +44 44 45 43 0 0 16 44 +45 45 46 44 0 0 16 45 +46 46 47 45 0 0 16 46 +47 47 48 46 0 0 16 47 +48 48 49 47 0 0 16 48 +49 49 50 48 0 0 16 49 +50 50 51 49 0 0 16 50 +51 51 52 50 0 0 16 51 +52 52 53 51 0 0 16 52 +53 53 54 52 0 0 16 53 +54 54 55 53 0 0 16 54 +55 55 56 54 0 0 16 55 +56 56 57 55 0 0 16 56 +57 57 58 56 0 0 16 57 +58 58 59 57 0 0 16 58 +59 59 60 58 0 0 16 59 +60 60 61 59 0 0 16 60 +61 61 62 60 0 0 16 61 +62 62 63 61 0 0 16 62 +63 63 64 62 0 0 16 63 +64 64 65 63 0 0 16 64 +65 65 66 64 0 0 16 65 +66 66 67 65 0 0 16 66 +67 67 68 66 0 0 16 67 +68 68 69 67 0 0 16 68 +69 69 70 68 0 0 16 69 +70 70 71 69 0 0 16 70 +71 71 72 70 0 0 16 71 +72 72 73 71 0 0 16 72 +73 73 74 72 0 0 16 73 +74 74 75 73 0 0 16 74 +75 75 76 74 0 0 16 75 +76 76 77 75 0 0 16 76 +77 77 78 76 0 0 16 77 +78 78 79 77 0 0 16 78 +79 79 80 78 0 0 16 79 +80 80 81 79 0 0 16 80 +81 81 82 80 0 0 16 81 +82 82 83 81 0 0 16 82 +83 83 84 82 0 0 16 83 +84 84 85 83 0 0 16 84 +85 85 86 84 0 0 16 85 +86 86 87 85 0 0 16 86 +87 87 88 86 0 0 16 87 +88 88 89 87 0 0 16 88 +89 89 90 88 0 0 16 89 +90 90 91 89 0 0 16 90 +91 91 92 90 0 0 16 91 +92 92 93 91 0 0 16 92 +93 93 94 92 0 0 16 93 +94 94 95 93 0 0 16 94 +95 95 96 94 0 0 16 95 +96 96 97 95 0 0 16 96 +97 97 98 96 0 0 16 97 +98 98 99 97 0 0 16 98 +99 99 100 98 0 0 16 99 +100 100 101 99 0 0 16 100 +101 101 102 100 0 0 16 101 +102 102 103 101 0 0 16 102 +103 103 104 102 0 0 16 103 +104 104 105 103 0 0 16 104 +105 105 106 104 0 0 16 105 +106 106 107 105 0 0 16 106 +107 107 108 106 0 0 16 107 +108 108 109 107 0 0 16 108 +109 109 110 108 0 0 16 109 +110 110 111 109 0 0 16 110 +111 111 112 110 0 0 16 111 +112 112 113 111 0 0 16 112 +113 113 114 112 0 0 16 113 +114 114 115 113 0 0 16 114 +115 115 116 114 0 0 16 115 +116 116 117 115 0 0 16 116 +117 117 118 116 0 0 16 117 +118 118 119 117 0 0 16 118 +119 119 120 118 0 0 16 119 +120 120 121 119 0 0 16 120 +121 121 122 120 0 0 16 121 +122 122 123 121 0 0 16 122 +123 123 124 122 0 0 16 123 +124 124 125 123 0 0 16 124 +125 125 126 124 0 0 16 125 +126 126 127 125 0 0 16 126 +127 127 128 126 0 0 16 127 +128 128 129 127 0 0 16 128 +129 129 130 128 0 0 16 129 +130 130 131 129 0 0 16 130 +131 131 132 130 0 0 16 131 +132 132 133 131 0 0 16 132 +133 133 134 132 0 0 16 133 +134 134 135 133 0 0 16 134 +135 135 136 134 0 0 16 135 +136 136 137 135 0 0 16 136 +137 137 138 136 0 0 16 137 +138 138 139 137 0 0 16 138 +139 139 140 138 0 0 16 139 +140 140 141 139 0 0 16 140 +141 141 142 140 0 0 16 141 +142 142 143 141 0 0 16 142 +143 143 144 142 0 0 16 143 +144 144 145 143 0 0 16 144 +145 145 146 144 0 0 16 145 +146 146 147 145 0 0 16 146 +147 147 148 146 0 0 16 147 +148 148 149 147 0 0 16 148 +149 149 150 148 0 0 16 149 +150 150 151 149 0 0 16 150 +151 151 152 150 0 0 16 151 +152 152 153 151 0 0 16 152 +153 153 154 152 0 0 16 153 +154 154 155 153 0 0 16 154 +155 155 156 154 0 0 16 155 +156 156 157 155 0 0 16 156 +157 157 158 156 0 0 16 157 +158 158 159 157 0 0 16 158 +159 159 160 158 0 0 16 159 +160 160 161 159 0 0 16 160 +161 161 162 160 0 0 16 161 +162 162 163 161 0 0 16 162 +163 163 164 162 0 0 16 163 +164 164 165 163 0 0 16 164 +165 165 166 164 0 0 16 165 +166 166 167 165 0 0 16 166 +167 167 168 166 0 0 16 167 +168 168 169 167 0 0 16 168 +169 169 170 168 0 0 16 169 +170 170 171 169 0 0 16 170 +171 171 172 170 0 0 16 171 +172 172 173 171 0 0 16 172 +173 173 174 172 0 0 16 173 +174 174 175 173 0 0 16 174 +175 175 176 174 0 0 16 175 +176 176 177 175 0 0 16 176 +177 177 178 176 0 0 16 177 +178 178 179 177 0 0 16 178 +179 179 180 178 0 0 16 179 +180 180 181 179 0 0 16 180 +181 181 182 180 0 0 16 181 +182 182 183 181 0 0 16 182 +183 183 184 182 0 0 16 183 +184 184 185 183 0 0 16 184 +185 185 186 184 0 0 16 185 +186 186 187 185 0 0 16 186 +187 187 188 186 0 0 16 187 +188 188 189 187 0 0 16 188 +189 189 190 188 0 0 16 189 +190 190 191 189 0 0 16 190 +191 191 192 190 0 0 16 191 +192 192 193 191 0 0 16 192 +193 193 194 192 0 0 16 193 +194 194 195 193 0 0 16 194 +195 195 196 194 0 0 16 195 +196 196 197 195 0 0 16 196 +197 197 198 196 0 0 16 197 +198 198 199 197 0 0 16 198 +199 199 200 198 0 0 16 199 +200 200 201 199 0 0 16 200 +201 201 202 200 0 0 16 201 +202 202 203 201 0 0 16 202 +203 203 204 202 0 0 16 203 +204 204 205 203 0 0 16 204 +205 205 206 204 0 0 16 205 +206 206 207 205 0 0 16 206 +207 207 208 206 0 0 16 207 +208 208 209 207 0 0 16 208 +209 209 210 208 0 0 16 209 +210 210 211 209 0 0 16 210 +211 211 212 210 0 0 16 211 +212 212 213 211 0 0 16 212 +213 213 214 212 0 0 16 213 +214 214 215 213 0 0 16 214 +215 215 216 214 0 0 16 215 +216 216 217 215 0 0 16 216 +217 217 218 216 0 0 16 217 +218 218 219 217 0 0 16 218 +219 219 220 218 0 0 16 219 +220 220 221 219 0 0 16 220 +221 221 222 220 0 0 16 221 +222 222 223 221 0 0 16 222 +223 223 224 222 0 0 16 223 +224 224 225 223 0 0 16 224 +225 225 226 224 0 0 16 225 +226 226 227 225 0 0 16 226 +227 227 228 226 0 0 16 227 +228 228 229 227 0 0 16 228 +229 229 230 228 0 0 16 229 +230 230 231 229 0 0 16 230 +231 231 232 230 0 0 16 231 +232 232 233 231 0 0 16 232 +233 233 234 232 0 0 16 233 +234 234 235 233 0 0 16 234 +235 235 236 234 0 0 16 235 +236 236 237 235 0 0 16 236 +237 237 238 236 0 0 16 237 +238 238 239 237 0 0 16 238 +239 239 240 238 0 0 16 239 +240 240 241 239 0 0 16 240 +241 241 242 240 0 0 16 241 +242 242 243 241 0 0 16 242 +243 243 244 242 0 0 16 243 +244 244 245 243 0 0 16 244 +245 245 246 244 0 0 16 245 +246 246 247 245 0 0 16 246 +247 247 248 246 0 0 16 247 +248 248 249 247 0 0 16 248 +249 249 250 248 0 0 16 249 +250 250 251 249 0 0 16 250 +251 251 252 250 0 0 16 251 +252 252 253 251 0 0 16 252 +253 253 254 252 0 0 16 253 +254 254 255 253 0 0 16 254 +255 255 256 254 0 0 16 255 +256 256 257 255 0 0 16 256 +257 257 258 256 0 0 16 257 +258 258 259 257 0 0 16 258 +259 259 260 258 0 0 16 259 +260 260 261 259 0 0 16 260 +261 261 262 260 0 0 16 261 +262 262 263 261 0 0 16 262 +263 263 264 262 0 0 16 263 +264 264 265 263 0 0 16 264 +265 265 266 264 0 0 16 265 +266 266 267 265 0 0 16 266 +267 267 268 266 0 0 16 267 +268 268 269 267 0 0 16 268 +269 269 270 268 0 0 16 269 +270 270 271 269 0 0 16 270 +271 271 272 270 0 0 16 271 +272 272 273 271 0 0 16 272 +273 273 274 272 0 0 16 273 +274 274 275 273 0 0 16 274 +275 275 276 274 0 0 16 275 +276 276 277 275 0 0 16 276 +277 277 278 276 0 0 16 277 +278 278 279 277 0 0 16 278 +279 279 280 278 0 0 16 279 +280 280 281 279 0 0 16 280 +281 281 282 280 0 0 16 281 +282 282 283 281 0 0 16 282 +283 283 284 282 0 0 16 283 +284 284 285 283 0 0 16 284 +285 285 286 284 0 0 16 285 +286 286 287 285 0 0 16 286 +287 287 288 286 0 0 16 287 +288 288 289 287 0 0 16 288 +289 289 290 288 0 0 16 289 +290 290 291 289 0 0 16 290 +291 291 292 290 0 0 16 291 +292 292 293 291 0 0 16 292 +293 293 294 292 0 0 16 293 +294 294 295 293 0 0 16 294 +295 295 296 294 0 0 16 295 +296 296 297 295 0 0 16 296 +297 297 298 296 0 0 16 297 +298 298 299 297 0 0 16 298 +299 299 300 298 0 0 16 299 +300 300 301 299 0 0 16 300 +301 301 302 300 0 0 16 301 +302 302 303 301 0 0 16 302 +303 303 304 302 0 0 16 303 +304 304 305 303 0 0 16 304 +305 305 306 304 0 0 16 305 +306 306 307 305 0 0 16 306 +307 307 308 306 0 0 16 307 +308 308 309 307 0 0 16 308 +309 309 310 308 0 0 16 309 +310 310 311 309 0 0 16 310 +311 311 312 310 0 0 16 311 +312 312 313 311 0 0 16 312 +313 313 314 312 0 0 16 313 +314 314 315 313 0 0 16 314 +315 315 316 314 0 0 16 315 +316 316 317 315 0 0 16 316 +317 317 318 316 0 0 16 317 +318 318 319 317 0 0 16 318 +319 319 320 318 0 0 16 319 +320 320 321 319 0 0 16 320 +321 321 322 320 0 0 16 321 +322 322 323 321 0 0 16 322 +323 323 324 322 0 0 16 323 +324 324 325 323 0 0 16 324 +325 325 326 324 0 0 16 325 +326 326 327 325 0 0 16 326 +327 327 328 326 0 0 16 327 +328 328 329 327 0 0 16 328 +329 329 330 328 0 0 16 329 +330 330 331 329 0 0 16 330 +331 331 332 330 0 0 16 331 +332 332 333 331 0 0 16 332 +333 333 334 332 0 0 16 333 +334 334 335 333 0 0 16 334 +335 335 336 334 0 0 16 335 +336 336 337 335 0 0 16 336 +337 337 338 336 0 0 16 337 +338 338 339 337 0 0 16 338 +339 339 340 338 0 0 16 339 +340 340 341 339 0 0 16 340 +341 341 342 340 0 0 16 341 +342 342 343 341 0 0 16 342 +343 343 344 342 0 0 16 343 +344 344 345 343 0 0 16 344 +345 345 346 344 0 0 16 345 +346 346 347 345 0 0 16 346 +347 347 348 346 0 0 16 347 +348 348 349 347 0 0 16 348 +349 349 350 348 0 0 16 349 +350 350 351 349 0 0 16 350 +351 351 352 350 0 0 16 351 +352 352 353 351 0 0 16 352 +353 353 354 352 0 0 16 353 +354 354 355 353 0 0 16 354 +355 355 356 354 0 0 16 355 +356 356 357 355 0 0 16 356 +357 357 358 356 0 0 16 357 +358 358 359 357 0 0 16 358 +359 359 360 358 0 0 16 359 +360 360 361 359 0 0 16 360 +361 361 362 360 0 0 16 361 +362 362 363 361 0 0 16 362 +363 363 364 362 0 0 16 363 +364 364 365 363 0 0 16 364 +365 365 366 364 0 0 16 365 +366 366 367 365 0 0 16 366 +367 367 368 366 0 0 16 367 +368 368 369 367 0 0 16 368 +369 369 370 368 0 0 16 369 +370 370 371 369 0 0 16 370 +371 371 372 370 0 0 16 371 +372 372 373 371 0 0 16 372 +373 373 374 372 0 0 16 373 +374 374 375 373 0 0 16 374 +375 375 376 374 0 0 16 375 +376 376 377 375 0 0 16 376 +377 377 378 376 0 0 16 377 +378 378 379 377 0 0 16 378 +379 379 380 378 0 0 16 379 +380 380 381 379 0 0 16 380 +381 381 382 380 0 0 16 381 +382 382 383 381 0 0 16 382 +383 383 384 382 0 0 16 383 +384 384 385 383 0 0 16 384 +385 385 386 384 0 0 16 385 +386 386 387 385 0 0 16 386 +387 387 388 386 0 0 16 387 +388 388 389 387 0 0 16 388 +389 389 390 388 0 0 16 389 +390 390 391 389 0 0 16 390 +391 391 392 390 0 0 16 391 +392 392 393 391 0 0 16 392 +393 393 394 392 0 0 16 393 +394 394 395 393 0 0 16 394 +395 395 396 394 0 0 16 395 +396 396 397 395 0 0 16 396 +397 397 398 396 0 0 16 397 +398 398 399 397 0 0 16 398 +399 399 400 398 0 0 16 399 +400 400 401 399 0 0 16 400 +401 401 402 400 0 0 16 401 +402 402 403 401 0 0 16 402 +403 403 404 402 0 0 16 403 +404 404 405 403 0 0 16 404 +405 405 406 404 0 0 16 405 +406 406 407 405 0 0 16 406 +407 407 408 406 0 0 16 407 +408 408 409 407 0 0 16 408 +409 409 410 408 0 0 16 409 +410 410 411 409 0 0 16 410 +411 411 412 410 0 0 16 411 +412 412 413 411 0 0 16 412 +413 413 414 412 0 0 16 413 +414 414 415 413 0 0 16 414 +415 415 416 414 0 0 16 415 +416 416 417 415 0 0 16 416 +417 417 418 416 0 0 16 417 +418 418 419 417 0 0 16 418 +419 419 420 418 0 0 16 419 +420 420 421 419 0 0 16 420 +421 421 422 420 0 0 16 421 +422 422 423 421 0 0 16 422 +423 423 424 422 0 0 16 423 +424 424 425 423 0 0 16 424 +425 425 426 424 0 0 16 425 +426 426 427 425 0 0 16 426 +427 427 428 426 0 0 16 427 +428 428 429 427 0 0 16 428 +429 429 430 428 0 0 16 429 +430 430 431 429 0 0 16 430 +431 431 432 430 0 0 16 431 +432 432 433 431 0 0 16 432 +433 433 434 432 0 0 16 433 +434 434 435 433 0 0 16 434 +435 435 436 434 0 0 16 435 +436 436 437 435 0 0 16 436 +437 437 438 436 0 0 16 437 +438 438 439 437 0 0 16 438 +439 439 440 438 0 0 16 439 +440 440 441 439 0 0 16 440 +441 441 442 440 0 0 16 441 +442 442 443 441 0 0 16 442 +443 443 444 442 0 0 16 443 +444 444 445 443 0 0 16 444 +445 445 446 444 0 0 16 445 +446 446 447 445 0 0 16 446 +447 447 448 446 0 0 16 447 +448 448 449 447 0 0 16 448 +449 449 450 448 0 0 16 449 +450 450 451 449 0 0 16 450 +451 451 452 450 0 0 16 451 +452 452 453 451 0 0 16 452 +453 453 454 452 0 0 16 453 +454 454 455 453 0 0 16 454 +455 455 456 454 0 0 16 455 +456 456 457 455 0 0 16 456 +457 457 458 456 0 0 16 457 +458 458 459 457 0 0 16 458 +459 459 460 458 0 0 16 459 +460 460 461 459 0 0 16 460 +461 461 462 460 0 0 16 461 +462 462 463 461 0 0 16 462 +463 463 464 462 0 0 16 463 +464 464 465 463 0 0 16 464 +465 465 466 464 0 0 16 465 +466 466 467 465 0 0 16 466 +467 467 468 466 0 0 16 467 +468 468 469 467 0 0 16 468 +469 469 470 468 0 0 16 469 +470 470 471 469 0 0 16 470 +471 471 472 470 0 0 16 471 +472 472 473 471 0 0 16 472 +473 473 474 472 0 0 16 473 +474 474 475 473 0 0 16 474 +475 475 476 474 0 0 16 475 +476 476 477 475 0 0 16 476 +477 477 478 476 0 0 16 477 +478 478 479 477 0 0 16 478 +479 479 480 478 0 0 16 479 +480 480 481 479 0 0 16 480 +481 481 482 480 0 0 16 481 +482 482 483 481 0 0 16 482 +483 483 484 482 0 0 16 483 +484 484 485 483 0 0 16 484 +485 485 486 484 0 0 16 485 +486 486 487 485 0 0 16 486 +487 487 488 486 0 0 16 487 +488 488 489 487 0 0 16 488 +489 489 490 488 0 0 16 489 +490 490 491 489 0 0 16 490 +491 491 492 490 0 0 16 491 +492 492 493 491 0 0 16 492 +493 493 494 492 0 0 16 493 +494 494 495 493 0 0 16 494 +495 495 496 494 0 0 16 495 +496 496 497 495 0 0 16 496 +497 497 498 496 0 0 16 497 +498 498 499 497 0 0 16 498 +499 499 500 498 0 0 16 499 +500 500 501 499 0 0 16 500 +501 501 502 500 0 0 16 501 +502 502 503 501 0 0 16 502 +503 503 504 502 0 0 16 503 +504 504 505 503 0 0 16 504 +505 505 506 504 0 0 16 505 +506 506 507 505 0 0 16 506 +507 507 508 506 0 0 16 507 +508 508 509 507 0 0 16 508 +509 509 510 508 0 0 16 509 +510 510 511 509 0 0 16 510 +511 511 512 510 0 0 16 511 +512 512 513 511 0 0 16 512 +513 513 514 512 0 0 16 513 +514 514 515 513 0 0 16 514 +515 515 516 514 0 0 16 515 +516 516 517 515 0 0 16 516 +517 517 518 516 0 0 16 517 +518 518 519 517 0 0 16 518 +519 519 520 518 0 0 16 519 +520 520 521 519 0 0 16 520 +521 521 522 520 0 0 16 521 +522 522 523 521 0 0 16 522 +523 523 524 522 0 0 16 523 +524 524 525 523 0 0 16 524 +525 525 526 524 0 0 16 525 +526 526 527 525 0 0 16 526 +527 527 528 526 0 0 16 527 +528 528 529 527 0 0 16 528 +529 529 530 528 0 0 16 529 +530 530 531 529 0 0 16 530 +531 531 532 530 0 0 16 531 +532 532 533 531 0 0 16 532 +533 533 534 532 0 0 16 533 +534 534 535 533 0 0 16 534 +535 535 536 534 0 0 16 535 +536 536 537 535 0 0 16 536 +537 537 538 536 0 0 16 537 +538 538 539 537 0 0 16 538 +539 539 540 538 0 0 16 539 +540 540 541 539 0 0 16 540 +541 541 542 540 0 0 16 541 +542 542 543 541 0 0 16 542 +543 543 544 542 0 0 16 543 +544 544 545 543 0 0 16 544 +545 545 546 544 0 0 16 545 +546 546 547 545 0 0 16 546 +547 547 548 546 0 0 16 547 +548 548 549 547 0 0 16 548 +549 549 550 548 0 0 16 549 +550 550 551 549 0 0 16 550 +551 551 552 550 0 0 16 551 +552 552 553 551 0 0 16 552 +553 553 554 552 0 0 16 553 +554 554 555 553 0 0 16 554 +555 555 556 554 0 0 16 555 +556 556 557 555 0 0 16 556 +557 557 558 556 0 0 16 557 +558 558 559 557 0 0 16 558 +559 559 560 558 0 0 16 559 +560 560 561 559 0 0 16 560 +561 561 562 560 0 0 16 561 +562 562 563 561 0 0 16 562 +563 563 564 562 0 0 16 563 +564 564 565 563 0 0 16 564 +565 565 566 564 0 0 16 565 +566 566 567 565 0 0 16 566 +567 567 568 566 0 0 16 567 +568 568 569 567 0 0 16 568 +569 569 570 568 0 0 16 569 +570 570 571 569 0 0 16 570 +571 571 572 570 0 0 16 571 +572 572 573 571 0 0 16 572 +573 573 574 572 0 0 16 573 +574 574 575 573 0 0 16 574 +575 575 576 574 0 0 16 575 +576 576 577 575 0 0 16 576 +577 577 578 576 0 0 16 577 +578 578 579 577 0 0 16 578 +579 579 580 578 0 0 16 579 +580 580 581 579 0 0 16 580 +581 581 582 580 0 0 16 581 +582 582 583 581 0 0 16 582 +583 583 584 582 0 0 16 583 +584 584 585 583 0 0 16 584 +585 585 586 584 0 0 16 585 +586 586 587 585 0 0 16 586 +587 587 588 586 0 0 16 587 +588 588 589 587 0 0 16 588 +589 589 590 588 0 0 16 589 +590 590 591 589 0 0 16 590 +591 591 592 590 0 0 16 591 +592 592 593 591 0 0 16 592 +593 593 594 592 0 0 16 593 +594 594 595 593 0 0 16 594 +595 595 596 594 0 0 16 595 +596 596 597 595 0 0 16 596 +597 597 598 596 0 0 16 597 +598 598 599 597 0 0 16 598 +599 599 600 598 0 0 16 599 +600 600 601 599 0 0 16 600 +601 601 602 600 0 0 16 601 +602 602 603 601 0 0 16 602 +603 603 604 602 0 0 16 603 +604 604 605 603 0 0 16 604 +605 605 606 604 0 0 16 605 +606 606 607 605 0 0 16 606 +607 607 608 606 0 0 16 607 +608 608 609 607 0 0 16 608 +609 609 610 608 0 0 16 609 +610 610 611 609 0 0 16 610 +611 611 612 610 0 0 16 611 +612 612 613 611 0 0 16 612 +613 613 614 612 0 0 16 613 +614 614 615 613 0 0 16 614 +615 615 616 614 0 0 16 615 +616 616 617 615 0 0 16 616 +617 617 618 616 0 0 16 617 +618 618 619 617 0 0 16 618 +619 619 620 618 0 0 16 619 +620 620 621 619 0 0 16 620 +621 621 622 620 0 0 16 621 +622 622 623 621 0 0 16 622 +623 623 624 622 0 0 16 623 +624 624 625 623 0 0 16 624 +625 625 626 624 0 0 16 625 +626 626 627 625 0 0 16 626 +627 627 628 626 0 0 16 627 +628 628 629 627 0 0 16 628 +629 629 630 628 0 0 16 629 +630 630 631 629 0 0 16 630 +631 631 632 630 0 0 16 631 +632 632 633 631 0 0 16 632 +633 633 634 632 0 0 16 633 +634 634 635 633 0 0 16 634 +635 635 636 634 0 0 16 635 +636 636 637 635 0 0 16 636 +637 637 638 636 0 0 16 637 +638 638 639 637 0 0 16 638 +639 639 640 638 0 0 16 639 +640 640 641 639 0 0 16 640 +641 641 642 640 0 0 16 641 +642 642 643 641 0 0 16 642 +643 643 644 642 0 0 16 643 +644 644 645 643 0 0 16 644 +645 645 646 644 0 0 16 645 +646 646 647 645 0 0 16 646 +647 647 648 646 0 0 16 647 +648 648 649 647 0 0 16 648 +649 649 650 648 0 0 16 649 +650 650 651 649 0 0 16 650 +651 651 652 650 0 0 16 651 +652 652 653 651 0 0 16 652 +653 653 654 652 0 0 16 653 +654 654 655 653 0 0 16 654 +655 655 656 654 0 0 16 655 +656 656 657 655 0 0 16 656 +657 657 658 656 0 0 16 657 +658 658 659 657 0 0 16 658 +659 659 660 658 0 0 16 659 +660 660 661 659 0 0 16 660 +661 661 662 660 0 0 16 661 +662 662 663 661 0 0 16 662 +663 663 664 662 0 0 16 663 +664 664 665 663 0 0 16 664 +665 665 666 664 0 0 16 665 +666 666 667 665 0 0 16 666 +667 667 668 666 0 0 16 667 +668 668 669 667 0 0 16 668 +669 669 670 668 0 0 16 669 +670 670 671 669 0 0 16 670 +671 671 672 670 0 0 16 671 +672 672 673 671 0 0 16 672 +673 673 674 672 0 0 16 673 +674 674 675 673 0 0 16 674 +675 675 676 674 0 0 16 675 +676 676 677 675 0 0 16 676 +677 677 678 676 0 0 16 677 +678 678 679 677 0 0 16 678 +679 679 680 678 0 0 16 679 +680 680 681 679 0 0 16 680 +681 681 682 680 0 0 16 681 +682 682 683 681 0 0 16 682 +683 683 684 682 0 0 16 683 +684 684 685 683 0 0 16 684 +685 685 686 684 0 0 16 685 +686 686 687 685 0 0 16 686 +687 687 688 686 0 0 16 687 +688 688 689 687 0 0 16 688 +689 689 690 688 0 0 16 689 +690 690 691 689 0 0 16 690 +691 691 692 690 0 0 16 691 +692 692 693 691 0 0 16 692 +693 693 694 692 0 0 16 693 +694 694 695 693 0 0 16 694 +695 695 696 694 0 0 16 695 +696 696 697 695 0 0 16 696 +697 697 698 696 0 0 16 697 +698 698 699 697 0 0 16 698 +699 699 700 698 0 0 16 699 +700 700 701 699 0 0 16 700 +701 701 702 700 0 0 16 701 +702 702 703 701 0 0 16 702 +703 703 704 702 0 0 16 703 +704 704 705 703 0 0 16 704 +705 705 706 704 0 0 16 705 +706 706 707 705 0 0 16 706 +707 707 708 706 0 0 16 707 +708 708 709 707 0 0 16 708 +709 709 710 708 0 0 16 709 +710 710 711 709 0 0 16 710 +711 711 712 710 0 0 16 711 +712 712 713 711 0 0 16 712 +713 713 714 712 0 0 16 713 +714 714 715 713 0 0 16 714 +715 715 716 714 0 0 16 715 +716 716 717 715 0 0 16 716 +717 717 718 716 0 0 16 717 +718 718 719 717 0 0 16 718 +719 719 720 718 0 0 16 719 +720 720 721 719 0 0 16 720 +721 721 722 720 0 0 16 721 +722 722 723 721 0 0 16 722 +723 723 724 722 0 0 16 723 +724 724 725 723 0 0 16 724 +725 725 726 724 0 0 16 725 +726 726 727 725 0 0 16 726 +727 727 728 726 0 0 16 727 +728 728 729 727 0 0 16 728 +729 729 730 728 0 0 16 729 +730 730 731 729 0 0 16 730 +731 731 732 730 0 0 16 731 +732 732 733 731 0 0 16 732 +733 733 734 732 0 0 16 733 +734 734 735 733 0 0 16 734 +735 735 736 734 0 0 16 735 +736 736 737 735 0 0 16 736 +737 737 738 736 0 0 16 737 +738 738 739 737 0 0 16 738 +739 739 740 738 0 0 16 739 +740 740 741 739 0 0 16 740 +741 741 742 740 0 0 16 741 +742 742 743 741 0 0 16 742 +743 743 744 742 0 0 16 743 +744 744 745 743 0 0 16 744 +745 745 746 744 0 0 16 745 +746 746 747 745 0 0 16 746 +747 747 748 746 0 0 16 747 +748 748 749 747 0 0 16 748 +749 749 750 748 0 0 16 749 +750 750 751 749 0 0 16 750 +751 751 752 750 0 0 16 751 +752 752 753 751 0 0 16 752 +753 753 754 752 0 0 16 753 +754 754 755 753 0 0 16 754 +755 755 756 754 0 0 16 755 +756 756 757 755 0 0 16 756 +757 757 758 756 0 0 16 757 +758 758 759 757 0 0 16 758 +759 759 760 758 0 0 16 759 +760 760 761 759 0 0 16 760 +761 761 762 760 0 0 16 761 +762 762 763 761 0 0 16 762 +763 763 764 762 0 0 16 763 +764 764 765 763 0 0 16 764 +765 765 766 764 0 0 16 765 +766 766 767 765 0 0 16 766 +767 767 768 766 0 0 16 767 +768 768 769 767 0 0 16 768 +769 769 770 768 0 0 16 769 +770 770 771 769 0 0 16 770 +771 771 772 770 0 0 16 771 +772 772 773 771 0 0 16 772 +773 773 774 772 0 0 16 773 +774 774 775 773 0 0 16 774 +775 775 776 774 0 0 16 775 +776 776 777 775 0 0 16 776 +777 777 778 776 0 0 16 777 +778 778 779 777 0 0 16 778 +779 779 780 778 0 0 16 779 +780 780 781 779 0 0 16 780 +781 781 782 780 0 0 16 781 +782 782 783 781 0 0 16 782 +783 783 784 782 0 0 16 783 +784 784 785 783 0 0 16 784 +785 785 786 784 0 0 16 785 +786 786 787 785 0 0 16 786 +787 787 788 786 0 0 16 787 +788 788 789 787 0 0 16 788 +789 789 790 788 0 0 16 789 +790 790 791 789 0 0 16 790 +791 791 792 790 0 0 16 791 +792 792 793 791 0 0 16 792 +793 793 794 792 0 0 16 793 +794 794 795 793 0 0 16 794 +795 795 796 794 0 0 16 795 +796 796 797 795 0 0 16 796 +797 797 798 796 0 0 16 797 +798 798 799 797 0 0 16 798 +799 799 800 798 0 0 16 799 +800 800 801 799 0 0 16 800 +801 801 802 800 0 0 16 801 +802 802 803 801 0 0 16 802 +803 803 804 802 0 0 16 803 +804 804 805 803 0 0 16 804 +805 805 806 804 0 0 16 805 +806 806 807 805 0 0 16 806 +807 807 808 806 0 0 16 807 +808 808 809 807 0 0 16 808 +809 809 810 808 0 0 16 809 +810 810 811 809 0 0 16 810 +811 811 812 810 0 0 16 811 +812 812 813 811 0 0 16 812 +813 813 814 812 0 0 16 813 +814 814 815 813 0 0 16 814 +815 815 816 814 0 0 16 815 +816 816 817 815 0 0 16 816 +817 817 818 816 0 0 16 817 +818 818 819 817 0 0 16 818 +819 819 820 818 0 0 16 819 +820 820 821 819 0 0 16 820 +821 821 822 820 0 0 16 821 +822 822 823 821 0 0 16 822 +823 823 824 822 0 0 16 823 +824 824 825 823 0 0 16 824 +825 825 826 824 0 0 16 825 +826 826 827 825 0 0 16 826 +827 827 828 826 0 0 16 827 +828 828 829 827 0 0 16 828 +829 829 830 828 0 0 16 829 +830 830 831 829 0 0 16 830 +831 831 832 830 0 0 16 831 +832 832 833 831 0 0 16 832 +833 833 834 832 0 0 16 833 +834 834 835 833 0 0 16 834 +835 835 836 834 0 0 16 835 +836 836 837 835 0 0 16 836 +837 837 838 836 0 0 16 837 +838 838 839 837 0 0 16 838 +839 839 840 838 0 0 16 839 +840 840 841 839 0 0 16 840 +841 841 842 840 0 0 16 841 +842 842 843 841 0 0 16 842 +843 843 844 842 0 0 16 843 +844 844 845 843 0 0 16 844 +845 845 846 844 0 0 16 845 +846 846 847 845 0 0 16 846 +847 847 848 846 0 0 16 847 +848 848 849 847 0 0 16 848 +849 849 850 848 0 0 16 849 +850 850 851 849 0 0 16 850 +851 851 852 850 0 0 16 851 +852 852 853 851 0 0 16 852 +853 853 854 852 0 0 16 853 +854 854 855 853 0 0 16 854 +855 855 856 854 0 0 16 855 +856 856 857 855 0 0 16 856 +857 857 858 856 0 0 16 857 +858 858 859 857 0 0 16 858 +859 859 860 858 0 0 16 859 +860 860 861 859 0 0 16 860 +861 861 862 860 0 0 16 861 +862 862 863 861 0 0 16 862 +863 863 864 862 0 0 16 863 +864 864 865 863 0 0 16 864 +865 865 866 864 0 0 16 865 +866 866 867 865 0 0 16 866 +867 867 868 866 0 0 16 867 +868 868 869 867 0 0 16 868 +869 869 870 868 0 0 16 869 +870 870 871 869 0 0 16 870 +871 871 872 870 0 0 16 871 +872 872 873 871 0 0 16 872 +873 873 874 872 0 0 16 873 +874 874 875 873 0 0 16 874 +875 875 876 874 0 0 16 875 +876 876 877 875 0 0 16 876 +877 877 878 876 0 0 16 877 +878 878 879 877 0 0 16 878 +879 879 880 878 0 0 16 879 +880 880 881 879 0 0 16 880 +881 881 882 880 0 0 16 881 +882 882 883 881 0 0 16 882 +883 883 884 882 0 0 16 883 +884 884 885 883 0 0 16 884 +885 885 886 884 0 0 16 885 +886 886 887 885 0 0 16 886 +887 887 888 886 0 0 16 887 +888 888 889 887 0 0 16 888 +889 889 890 888 0 0 16 889 +890 890 891 889 0 0 16 890 +891 891 892 890 0 0 16 891 +892 892 893 891 0 0 16 892 +893 893 894 892 0 0 16 893 +894 894 895 893 0 0 16 894 +895 895 896 894 0 0 16 895 +896 896 897 895 0 0 16 896 +897 897 898 896 0 0 16 897 +898 898 899 897 0 0 16 898 +899 899 900 898 0 0 16 899 +900 900 901 899 0 0 16 900 +901 901 902 900 0 0 16 901 +902 902 903 901 0 0 16 902 +903 903 904 902 0 0 16 903 +904 904 905 903 0 0 16 904 +905 905 906 904 0 0 16 905 +906 906 907 905 0 0 16 906 +907 907 908 906 0 0 16 907 +908 908 909 907 0 0 16 908 +909 909 910 908 0 0 16 909 +910 910 911 909 0 0 16 910 +911 911 912 910 0 0 16 911 +912 912 913 911 0 0 16 912 +913 913 914 912 0 0 16 913 +914 914 915 913 0 0 16 914 +915 915 916 914 0 0 16 915 +916 916 917 915 0 0 16 916 +917 917 918 916 0 0 16 917 +918 918 919 917 0 0 16 918 +919 919 920 918 0 0 16 919 +920 920 921 919 0 0 16 920 +921 921 922 920 0 0 16 921 +922 922 923 921 0 0 16 922 +923 923 924 922 0 0 16 923 +924 924 925 923 0 0 16 924 +925 925 926 924 0 0 16 925 +926 926 927 925 0 0 16 926 +927 927 928 926 0 0 16 927 +928 928 929 927 0 0 16 928 +929 929 930 928 0 0 16 929 +930 930 931 929 0 0 16 930 +931 931 932 930 0 0 16 931 +932 932 933 931 0 0 16 932 +933 933 934 932 0 0 16 933 +934 934 935 933 0 0 16 934 +935 935 936 934 0 0 16 935 +936 936 937 935 0 0 16 936 +937 937 938 936 0 0 16 937 +938 938 939 937 0 0 16 938 +939 939 940 938 0 0 16 939 +940 940 941 939 0 0 16 940 +941 941 942 940 0 0 16 941 +942 942 943 941 0 0 16 942 +943 943 944 942 0 0 16 943 +944 944 945 943 0 0 16 944 +945 945 946 944 0 0 16 945 +946 946 947 945 0 0 16 946 +947 947 948 946 0 0 16 947 +948 948 949 947 0 0 16 948 +949 949 950 948 0 0 16 949 +950 950 951 949 0 0 16 950 +951 951 952 950 0 0 16 951 +952 952 953 951 0 0 16 952 +953 953 954 952 0 0 16 953 +954 954 955 953 0 0 16 954 +955 955 956 954 0 0 16 955 +956 956 957 955 0 0 16 956 +957 957 958 956 0 0 16 957 +958 958 959 957 0 0 16 958 +959 959 960 958 0 0 16 959 +960 960 961 959 0 0 16 960 +961 961 962 960 0 0 16 961 +962 962 963 961 0 0 16 962 +963 963 964 962 0 0 16 963 +964 964 965 963 0 0 16 964 +965 965 966 964 0 0 16 965 +966 966 967 965 0 0 16 966 +967 967 968 966 0 0 16 967 +968 968 969 967 0 0 16 968 +969 969 970 968 0 0 16 969 +970 970 971 969 0 0 16 970 +971 971 972 970 0 0 16 971 +972 972 973 971 0 0 16 972 +973 973 974 972 0 0 16 973 +974 974 975 973 0 0 16 974 +975 975 976 974 0 0 16 975 +976 976 977 975 0 0 16 976 +977 977 978 976 0 0 16 977 +978 978 979 977 0 0 16 978 +979 979 980 978 0 0 16 979 +980 980 981 979 0 0 16 980 +981 981 982 980 0 0 16 981 +982 982 983 981 0 0 16 982 +983 983 984 982 0 0 16 983 +984 984 985 983 0 0 16 984 +985 985 986 984 0 0 16 985 +986 986 987 985 0 0 16 986 +987 987 988 986 0 0 16 987 +988 988 989 987 0 0 16 988 +989 989 990 988 0 0 16 989 +990 990 991 989 0 0 16 990 +991 991 992 990 0 0 16 991 +992 992 993 991 0 0 16 992 +993 993 994 992 0 0 16 993 +994 994 995 993 0 0 16 994 +995 995 996 994 0 0 16 995 +996 996 997 995 0 0 16 996 +997 997 998 996 0 0 16 997 +998 998 999 997 0 0 16 998 +999 999 1000 998 0 0 16 999 +1000 1000 1001 999 0 0 16 1000 +1001 1001 1002 1000 0 0 16 1001 +1002 1002 1003 1001 0 0 16 1002 +1003 1003 1004 1002 0 0 16 1003 +1004 1004 1005 1003 0 0 16 1004 +1005 1005 1006 1004 0 0 16 1005 +1006 1006 1007 1005 0 0 16 1006 +1007 1007 1008 1006 0 0 16 1007 +1008 1008 1009 1007 0 0 16 1008 +1009 1009 1010 1008 0 0 16 1009 +1010 1010 1011 1009 0 0 16 1010 +1011 1011 1012 1010 0 0 16 1011 +1012 1012 1013 1011 0 0 16 1012 +1013 1013 1014 1012 0 0 16 1013 +1014 1014 1015 1013 0 0 16 1014 +1015 1015 1016 1014 0 0 16 1015 +1016 1016 1017 1015 0 0 16 1016 +1017 1017 1018 1016 0 0 16 1017 +1018 1018 1019 1017 0 0 16 1018 +1019 1019 1020 1018 0 0 16 1019 +1020 1020 1021 1019 0 0 16 1020 +1021 1021 1022 1020 0 0 16 1021 +1022 1022 0 1021 0 0 16 1022 +1023 1023 -1 0 0 0 16 1023 +====================================================== +=== [Queue after-failing-full] Next: 0 First: 1 Last: 1023 +# seq next prev timeout retrans type cbp +0 0 1023 1022 0 0 16 0 +1 1 2 -1 0 0 16 1 +2 2 3 1 0 0 16 2 +3 3 4 2 0 0 16 3 +4 4 5 3 0 0 16 4 +5 5 6 4 0 0 16 5 +6 6 7 5 0 0 16 6 +7 7 8 6 0 0 16 7 +8 8 9 7 0 0 16 8 +9 9 10 8 0 0 16 9 +10 10 11 9 0 0 16 10 +11 11 12 10 0 0 16 11 +12 12 13 11 0 0 16 12 +13 13 14 12 0 0 16 13 +14 14 15 13 0 0 16 14 +15 15 16 14 0 0 16 15 +16 16 17 15 0 0 16 16 +17 17 18 16 0 0 16 17 +18 18 19 17 0 0 16 18 +19 19 20 18 0 0 16 19 +20 20 21 19 0 0 16 20 +21 21 22 20 0 0 16 21 +22 22 23 21 0 0 16 22 +23 23 24 22 0 0 16 23 +24 24 25 23 0 0 16 24 +25 25 26 24 0 0 16 25 +26 26 27 25 0 0 16 26 +27 27 28 26 0 0 16 27 +28 28 29 27 0 0 16 28 +29 29 30 28 0 0 16 29 +30 30 31 29 0 0 16 30 +31 31 32 30 0 0 16 31 +32 32 33 31 0 0 16 32 +33 33 34 32 0 0 16 33 +34 34 35 33 0 0 16 34 +35 35 36 34 0 0 16 35 +36 36 37 35 0 0 16 36 +37 37 38 36 0 0 16 37 +38 38 39 37 0 0 16 38 +39 39 40 38 0 0 16 39 +40 40 41 39 0 0 16 40 +41 41 42 40 0 0 16 41 +42 42 43 41 0 0 16 42 +43 43 44 42 0 0 16 43 +44 44 45 43 0 0 16 44 +45 45 46 44 0 0 16 45 +46 46 47 45 0 0 16 46 +47 47 48 46 0 0 16 47 +48 48 49 47 0 0 16 48 +49 49 50 48 0 0 16 49 +50 50 51 49 0 0 16 50 +51 51 52 50 0 0 16 51 +52 52 53 51 0 0 16 52 +53 53 54 52 0 0 16 53 +54 54 55 53 0 0 16 54 +55 55 56 54 0 0 16 55 +56 56 57 55 0 0 16 56 +57 57 58 56 0 0 16 57 +58 58 59 57 0 0 16 58 +59 59 60 58 0 0 16 59 +60 60 61 59 0 0 16 60 +61 61 62 60 0 0 16 61 +62 62 63 61 0 0 16 62 +63 63 64 62 0 0 16 63 +64 64 65 63 0 0 16 64 +65 65 66 64 0 0 16 65 +66 66 67 65 0 0 16 66 +67 67 68 66 0 0 16 67 +68 68 69 67 0 0 16 68 +69 69 70 68 0 0 16 69 +70 70 71 69 0 0 16 70 +71 71 72 70 0 0 16 71 +72 72 73 71 0 0 16 72 +73 73 74 72 0 0 16 73 +74 74 75 73 0 0 16 74 +75 75 76 74 0 0 16 75 +76 76 77 75 0 0 16 76 +77 77 78 76 0 0 16 77 +78 78 79 77 0 0 16 78 +79 79 80 78 0 0 16 79 +80 80 81 79 0 0 16 80 +81 81 82 80 0 0 16 81 +82 82 83 81 0 0 16 82 +83 83 84 82 0 0 16 83 +84 84 85 83 0 0 16 84 +85 85 86 84 0 0 16 85 +86 86 87 85 0 0 16 86 +87 87 88 86 0 0 16 87 +88 88 89 87 0 0 16 88 +89 89 90 88 0 0 16 89 +90 90 91 89 0 0 16 90 +91 91 92 90 0 0 16 91 +92 92 93 91 0 0 16 92 +93 93 94 92 0 0 16 93 +94 94 95 93 0 0 16 94 +95 95 96 94 0 0 16 95 +96 96 97 95 0 0 16 96 +97 97 98 96 0 0 16 97 +98 98 99 97 0 0 16 98 +99 99 100 98 0 0 16 99 +100 100 101 99 0 0 16 100 +101 101 102 100 0 0 16 101 +102 102 103 101 0 0 16 102 +103 103 104 102 0 0 16 103 +104 104 105 103 0 0 16 104 +105 105 106 104 0 0 16 105 +106 106 107 105 0 0 16 106 +107 107 108 106 0 0 16 107 +108 108 109 107 0 0 16 108 +109 109 110 108 0 0 16 109 +110 110 111 109 0 0 16 110 +111 111 112 110 0 0 16 111 +112 112 113 111 0 0 16 112 +113 113 114 112 0 0 16 113 +114 114 115 113 0 0 16 114 +115 115 116 114 0 0 16 115 +116 116 117 115 0 0 16 116 +117 117 118 116 0 0 16 117 +118 118 119 117 0 0 16 118 +119 119 120 118 0 0 16 119 +120 120 121 119 0 0 16 120 +121 121 122 120 0 0 16 121 +122 122 123 121 0 0 16 122 +123 123 124 122 0 0 16 123 +124 124 125 123 0 0 16 124 +125 125 126 124 0 0 16 125 +126 126 127 125 0 0 16 126 +127 127 128 126 0 0 16 127 +128 128 129 127 0 0 16 128 +129 129 130 128 0 0 16 129 +130 130 131 129 0 0 16 130 +131 131 132 130 0 0 16 131 +132 132 133 131 0 0 16 132 +133 133 134 132 0 0 16 133 +134 134 135 133 0 0 16 134 +135 135 136 134 0 0 16 135 +136 136 137 135 0 0 16 136 +137 137 138 136 0 0 16 137 +138 138 139 137 0 0 16 138 +139 139 140 138 0 0 16 139 +140 140 141 139 0 0 16 140 +141 141 142 140 0 0 16 141 +142 142 143 141 0 0 16 142 +143 143 144 142 0 0 16 143 +144 144 145 143 0 0 16 144 +145 145 146 144 0 0 16 145 +146 146 147 145 0 0 16 146 +147 147 148 146 0 0 16 147 +148 148 149 147 0 0 16 148 +149 149 150 148 0 0 16 149 +150 150 151 149 0 0 16 150 +151 151 152 150 0 0 16 151 +152 152 153 151 0 0 16 152 +153 153 154 152 0 0 16 153 +154 154 155 153 0 0 16 154 +155 155 156 154 0 0 16 155 +156 156 157 155 0 0 16 156 +157 157 158 156 0 0 16 157 +158 158 159 157 0 0 16 158 +159 159 160 158 0 0 16 159 +160 160 161 159 0 0 16 160 +161 161 162 160 0 0 16 161 +162 162 163 161 0 0 16 162 +163 163 164 162 0 0 16 163 +164 164 165 163 0 0 16 164 +165 165 166 164 0 0 16 165 +166 166 167 165 0 0 16 166 +167 167 168 166 0 0 16 167 +168 168 169 167 0 0 16 168 +169 169 170 168 0 0 16 169 +170 170 171 169 0 0 16 170 +171 171 172 170 0 0 16 171 +172 172 173 171 0 0 16 172 +173 173 174 172 0 0 16 173 +174 174 175 173 0 0 16 174 +175 175 176 174 0 0 16 175 +176 176 177 175 0 0 16 176 +177 177 178 176 0 0 16 177 +178 178 179 177 0 0 16 178 +179 179 180 178 0 0 16 179 +180 180 181 179 0 0 16 180 +181 181 182 180 0 0 16 181 +182 182 183 181 0 0 16 182 +183 183 184 182 0 0 16 183 +184 184 185 183 0 0 16 184 +185 185 186 184 0 0 16 185 +186 186 187 185 0 0 16 186 +187 187 188 186 0 0 16 187 +188 188 189 187 0 0 16 188 +189 189 190 188 0 0 16 189 +190 190 191 189 0 0 16 190 +191 191 192 190 0 0 16 191 +192 192 193 191 0 0 16 192 +193 193 194 192 0 0 16 193 +194 194 195 193 0 0 16 194 +195 195 196 194 0 0 16 195 +196 196 197 195 0 0 16 196 +197 197 198 196 0 0 16 197 +198 198 199 197 0 0 16 198 +199 199 200 198 0 0 16 199 +200 200 201 199 0 0 16 200 +201 201 202 200 0 0 16 201 +202 202 203 201 0 0 16 202 +203 203 204 202 0 0 16 203 +204 204 205 203 0 0 16 204 +205 205 206 204 0 0 16 205 +206 206 207 205 0 0 16 206 +207 207 208 206 0 0 16 207 +208 208 209 207 0 0 16 208 +209 209 210 208 0 0 16 209 +210 210 211 209 0 0 16 210 +211 211 212 210 0 0 16 211 +212 212 213 211 0 0 16 212 +213 213 214 212 0 0 16 213 +214 214 215 213 0 0 16 214 +215 215 216 214 0 0 16 215 +216 216 217 215 0 0 16 216 +217 217 218 216 0 0 16 217 +218 218 219 217 0 0 16 218 +219 219 220 218 0 0 16 219 +220 220 221 219 0 0 16 220 +221 221 222 220 0 0 16 221 +222 222 223 221 0 0 16 222 +223 223 224 222 0 0 16 223 +224 224 225 223 0 0 16 224 +225 225 226 224 0 0 16 225 +226 226 227 225 0 0 16 226 +227 227 228 226 0 0 16 227 +228 228 229 227 0 0 16 228 +229 229 230 228 0 0 16 229 +230 230 231 229 0 0 16 230 +231 231 232 230 0 0 16 231 +232 232 233 231 0 0 16 232 +233 233 234 232 0 0 16 233 +234 234 235 233 0 0 16 234 +235 235 236 234 0 0 16 235 +236 236 237 235 0 0 16 236 +237 237 238 236 0 0 16 237 +238 238 239 237 0 0 16 238 +239 239 240 238 0 0 16 239 +240 240 241 239 0 0 16 240 +241 241 242 240 0 0 16 241 +242 242 243 241 0 0 16 242 +243 243 244 242 0 0 16 243 +244 244 245 243 0 0 16 244 +245 245 246 244 0 0 16 245 +246 246 247 245 0 0 16 246 +247 247 248 246 0 0 16 247 +248 248 249 247 0 0 16 248 +249 249 250 248 0 0 16 249 +250 250 251 249 0 0 16 250 +251 251 252 250 0 0 16 251 +252 252 253 251 0 0 16 252 +253 253 254 252 0 0 16 253 +254 254 255 253 0 0 16 254 +255 255 256 254 0 0 16 255 +256 256 257 255 0 0 16 256 +257 257 258 256 0 0 16 257 +258 258 259 257 0 0 16 258 +259 259 260 258 0 0 16 259 +260 260 261 259 0 0 16 260 +261 261 262 260 0 0 16 261 +262 262 263 261 0 0 16 262 +263 263 264 262 0 0 16 263 +264 264 265 263 0 0 16 264 +265 265 266 264 0 0 16 265 +266 266 267 265 0 0 16 266 +267 267 268 266 0 0 16 267 +268 268 269 267 0 0 16 268 +269 269 270 268 0 0 16 269 +270 270 271 269 0 0 16 270 +271 271 272 270 0 0 16 271 +272 272 273 271 0 0 16 272 +273 273 274 272 0 0 16 273 +274 274 275 273 0 0 16 274 +275 275 276 274 0 0 16 275 +276 276 277 275 0 0 16 276 +277 277 278 276 0 0 16 277 +278 278 279 277 0 0 16 278 +279 279 280 278 0 0 16 279 +280 280 281 279 0 0 16 280 +281 281 282 280 0 0 16 281 +282 282 283 281 0 0 16 282 +283 283 284 282 0 0 16 283 +284 284 285 283 0 0 16 284 +285 285 286 284 0 0 16 285 +286 286 287 285 0 0 16 286 +287 287 288 286 0 0 16 287 +288 288 289 287 0 0 16 288 +289 289 290 288 0 0 16 289 +290 290 291 289 0 0 16 290 +291 291 292 290 0 0 16 291 +292 292 293 291 0 0 16 292 +293 293 294 292 0 0 16 293 +294 294 295 293 0 0 16 294 +295 295 296 294 0 0 16 295 +296 296 297 295 0 0 16 296 +297 297 298 296 0 0 16 297 +298 298 299 297 0 0 16 298 +299 299 300 298 0 0 16 299 +300 300 301 299 0 0 16 300 +301 301 302 300 0 0 16 301 +302 302 303 301 0 0 16 302 +303 303 304 302 0 0 16 303 +304 304 305 303 0 0 16 304 +305 305 306 304 0 0 16 305 +306 306 307 305 0 0 16 306 +307 307 308 306 0 0 16 307 +308 308 309 307 0 0 16 308 +309 309 310 308 0 0 16 309 +310 310 311 309 0 0 16 310 +311 311 312 310 0 0 16 311 +312 312 313 311 0 0 16 312 +313 313 314 312 0 0 16 313 +314 314 315 313 0 0 16 314 +315 315 316 314 0 0 16 315 +316 316 317 315 0 0 16 316 +317 317 318 316 0 0 16 317 +318 318 319 317 0 0 16 318 +319 319 320 318 0 0 16 319 +320 320 321 319 0 0 16 320 +321 321 322 320 0 0 16 321 +322 322 323 321 0 0 16 322 +323 323 324 322 0 0 16 323 +324 324 325 323 0 0 16 324 +325 325 326 324 0 0 16 325 +326 326 327 325 0 0 16 326 +327 327 328 326 0 0 16 327 +328 328 329 327 0 0 16 328 +329 329 330 328 0 0 16 329 +330 330 331 329 0 0 16 330 +331 331 332 330 0 0 16 331 +332 332 333 331 0 0 16 332 +333 333 334 332 0 0 16 333 +334 334 335 333 0 0 16 334 +335 335 336 334 0 0 16 335 +336 336 337 335 0 0 16 336 +337 337 338 336 0 0 16 337 +338 338 339 337 0 0 16 338 +339 339 340 338 0 0 16 339 +340 340 341 339 0 0 16 340 +341 341 342 340 0 0 16 341 +342 342 343 341 0 0 16 342 +343 343 344 342 0 0 16 343 +344 344 345 343 0 0 16 344 +345 345 346 344 0 0 16 345 +346 346 347 345 0 0 16 346 +347 347 348 346 0 0 16 347 +348 348 349 347 0 0 16 348 +349 349 350 348 0 0 16 349 +350 350 351 349 0 0 16 350 +351 351 352 350 0 0 16 351 +352 352 353 351 0 0 16 352 +353 353 354 352 0 0 16 353 +354 354 355 353 0 0 16 354 +355 355 356 354 0 0 16 355 +356 356 357 355 0 0 16 356 +357 357 358 356 0 0 16 357 +358 358 359 357 0 0 16 358 +359 359 360 358 0 0 16 359 +360 360 361 359 0 0 16 360 +361 361 362 360 0 0 16 361 +362 362 363 361 0 0 16 362 +363 363 364 362 0 0 16 363 +364 364 365 363 0 0 16 364 +365 365 366 364 0 0 16 365 +366 366 367 365 0 0 16 366 +367 367 368 366 0 0 16 367 +368 368 369 367 0 0 16 368 +369 369 370 368 0 0 16 369 +370 370 371 369 0 0 16 370 +371 371 372 370 0 0 16 371 +372 372 373 371 0 0 16 372 +373 373 374 372 0 0 16 373 +374 374 375 373 0 0 16 374 +375 375 376 374 0 0 16 375 +376 376 377 375 0 0 16 376 +377 377 378 376 0 0 16 377 +378 378 379 377 0 0 16 378 +379 379 380 378 0 0 16 379 +380 380 381 379 0 0 16 380 +381 381 382 380 0 0 16 381 +382 382 383 381 0 0 16 382 +383 383 384 382 0 0 16 383 +384 384 385 383 0 0 16 384 +385 385 386 384 0 0 16 385 +386 386 387 385 0 0 16 386 +387 387 388 386 0 0 16 387 +388 388 389 387 0 0 16 388 +389 389 390 388 0 0 16 389 +390 390 391 389 0 0 16 390 +391 391 392 390 0 0 16 391 +392 392 393 391 0 0 16 392 +393 393 394 392 0 0 16 393 +394 394 395 393 0 0 16 394 +395 395 396 394 0 0 16 395 +396 396 397 395 0 0 16 396 +397 397 398 396 0 0 16 397 +398 398 399 397 0 0 16 398 +399 399 400 398 0 0 16 399 +400 400 401 399 0 0 16 400 +401 401 402 400 0 0 16 401 +402 402 403 401 0 0 16 402 +403 403 404 402 0 0 16 403 +404 404 405 403 0 0 16 404 +405 405 406 404 0 0 16 405 +406 406 407 405 0 0 16 406 +407 407 408 406 0 0 16 407 +408 408 409 407 0 0 16 408 +409 409 410 408 0 0 16 409 +410 410 411 409 0 0 16 410 +411 411 412 410 0 0 16 411 +412 412 413 411 0 0 16 412 +413 413 414 412 0 0 16 413 +414 414 415 413 0 0 16 414 +415 415 416 414 0 0 16 415 +416 416 417 415 0 0 16 416 +417 417 418 416 0 0 16 417 +418 418 419 417 0 0 16 418 +419 419 420 418 0 0 16 419 +420 420 421 419 0 0 16 420 +421 421 422 420 0 0 16 421 +422 422 423 421 0 0 16 422 +423 423 424 422 0 0 16 423 +424 424 425 423 0 0 16 424 +425 425 426 424 0 0 16 425 +426 426 427 425 0 0 16 426 +427 427 428 426 0 0 16 427 +428 428 429 427 0 0 16 428 +429 429 430 428 0 0 16 429 +430 430 431 429 0 0 16 430 +431 431 432 430 0 0 16 431 +432 432 433 431 0 0 16 432 +433 433 434 432 0 0 16 433 +434 434 435 433 0 0 16 434 +435 435 436 434 0 0 16 435 +436 436 437 435 0 0 16 436 +437 437 438 436 0 0 16 437 +438 438 439 437 0 0 16 438 +439 439 440 438 0 0 16 439 +440 440 441 439 0 0 16 440 +441 441 442 440 0 0 16 441 +442 442 443 441 0 0 16 442 +443 443 444 442 0 0 16 443 +444 444 445 443 0 0 16 444 +445 445 446 444 0 0 16 445 +446 446 447 445 0 0 16 446 +447 447 448 446 0 0 16 447 +448 448 449 447 0 0 16 448 +449 449 450 448 0 0 16 449 +450 450 451 449 0 0 16 450 +451 451 452 450 0 0 16 451 +452 452 453 451 0 0 16 452 +453 453 454 452 0 0 16 453 +454 454 455 453 0 0 16 454 +455 455 456 454 0 0 16 455 +456 456 457 455 0 0 16 456 +457 457 458 456 0 0 16 457 +458 458 459 457 0 0 16 458 +459 459 460 458 0 0 16 459 +460 460 461 459 0 0 16 460 +461 461 462 460 0 0 16 461 +462 462 463 461 0 0 16 462 +463 463 464 462 0 0 16 463 +464 464 465 463 0 0 16 464 +465 465 466 464 0 0 16 465 +466 466 467 465 0 0 16 466 +467 467 468 466 0 0 16 467 +468 468 469 467 0 0 16 468 +469 469 470 468 0 0 16 469 +470 470 471 469 0 0 16 470 +471 471 472 470 0 0 16 471 +472 472 473 471 0 0 16 472 +473 473 474 472 0 0 16 473 +474 474 475 473 0 0 16 474 +475 475 476 474 0 0 16 475 +476 476 477 475 0 0 16 476 +477 477 478 476 0 0 16 477 +478 478 479 477 0 0 16 478 +479 479 480 478 0 0 16 479 +480 480 481 479 0 0 16 480 +481 481 482 480 0 0 16 481 +482 482 483 481 0 0 16 482 +483 483 484 482 0 0 16 483 +484 484 485 483 0 0 16 484 +485 485 486 484 0 0 16 485 +486 486 487 485 0 0 16 486 +487 487 488 486 0 0 16 487 +488 488 489 487 0 0 16 488 +489 489 490 488 0 0 16 489 +490 490 491 489 0 0 16 490 +491 491 492 490 0 0 16 491 +492 492 493 491 0 0 16 492 +493 493 494 492 0 0 16 493 +494 494 495 493 0 0 16 494 +495 495 496 494 0 0 16 495 +496 496 497 495 0 0 16 496 +497 497 498 496 0 0 16 497 +498 498 499 497 0 0 16 498 +499 499 500 498 0 0 16 499 +500 500 501 499 0 0 16 500 +501 501 502 500 0 0 16 501 +502 502 503 501 0 0 16 502 +503 503 504 502 0 0 16 503 +504 504 505 503 0 0 16 504 +505 505 506 504 0 0 16 505 +506 506 507 505 0 0 16 506 +507 507 508 506 0 0 16 507 +508 508 509 507 0 0 16 508 +509 509 510 508 0 0 16 509 +510 510 511 509 0 0 16 510 +511 511 512 510 0 0 16 511 +512 512 513 511 0 0 16 512 +513 513 514 512 0 0 16 513 +514 514 515 513 0 0 16 514 +515 515 516 514 0 0 16 515 +516 516 517 515 0 0 16 516 +517 517 518 516 0 0 16 517 +518 518 519 517 0 0 16 518 +519 519 520 518 0 0 16 519 +520 520 521 519 0 0 16 520 +521 521 522 520 0 0 16 521 +522 522 523 521 0 0 16 522 +523 523 524 522 0 0 16 523 +524 524 525 523 0 0 16 524 +525 525 526 524 0 0 16 525 +526 526 527 525 0 0 16 526 +527 527 528 526 0 0 16 527 +528 528 529 527 0 0 16 528 +529 529 530 528 0 0 16 529 +530 530 531 529 0 0 16 530 +531 531 532 530 0 0 16 531 +532 532 533 531 0 0 16 532 +533 533 534 532 0 0 16 533 +534 534 535 533 0 0 16 534 +535 535 536 534 0 0 16 535 +536 536 537 535 0 0 16 536 +537 537 538 536 0 0 16 537 +538 538 539 537 0 0 16 538 +539 539 540 538 0 0 16 539 +540 540 541 539 0 0 16 540 +541 541 542 540 0 0 16 541 +542 542 543 541 0 0 16 542 +543 543 544 542 0 0 16 543 +544 544 545 543 0 0 16 544 +545 545 546 544 0 0 16 545 +546 546 547 545 0 0 16 546 +547 547 548 546 0 0 16 547 +548 548 549 547 0 0 16 548 +549 549 550 548 0 0 16 549 +550 550 551 549 0 0 16 550 +551 551 552 550 0 0 16 551 +552 552 553 551 0 0 16 552 +553 553 554 552 0 0 16 553 +554 554 555 553 0 0 16 554 +555 555 556 554 0 0 16 555 +556 556 557 555 0 0 16 556 +557 557 558 556 0 0 16 557 +558 558 559 557 0 0 16 558 +559 559 560 558 0 0 16 559 +560 560 561 559 0 0 16 560 +561 561 562 560 0 0 16 561 +562 562 563 561 0 0 16 562 +563 563 564 562 0 0 16 563 +564 564 565 563 0 0 16 564 +565 565 566 564 0 0 16 565 +566 566 567 565 0 0 16 566 +567 567 568 566 0 0 16 567 +568 568 569 567 0 0 16 568 +569 569 570 568 0 0 16 569 +570 570 571 569 0 0 16 570 +571 571 572 570 0 0 16 571 +572 572 573 571 0 0 16 572 +573 573 574 572 0 0 16 573 +574 574 575 573 0 0 16 574 +575 575 576 574 0 0 16 575 +576 576 577 575 0 0 16 576 +577 577 578 576 0 0 16 577 +578 578 579 577 0 0 16 578 +579 579 580 578 0 0 16 579 +580 580 581 579 0 0 16 580 +581 581 582 580 0 0 16 581 +582 582 583 581 0 0 16 582 +583 583 584 582 0 0 16 583 +584 584 585 583 0 0 16 584 +585 585 586 584 0 0 16 585 +586 586 587 585 0 0 16 586 +587 587 588 586 0 0 16 587 +588 588 589 587 0 0 16 588 +589 589 590 588 0 0 16 589 +590 590 591 589 0 0 16 590 +591 591 592 590 0 0 16 591 +592 592 593 591 0 0 16 592 +593 593 594 592 0 0 16 593 +594 594 595 593 0 0 16 594 +595 595 596 594 0 0 16 595 +596 596 597 595 0 0 16 596 +597 597 598 596 0 0 16 597 +598 598 599 597 0 0 16 598 +599 599 600 598 0 0 16 599 +600 600 601 599 0 0 16 600 +601 601 602 600 0 0 16 601 +602 602 603 601 0 0 16 602 +603 603 604 602 0 0 16 603 +604 604 605 603 0 0 16 604 +605 605 606 604 0 0 16 605 +606 606 607 605 0 0 16 606 +607 607 608 606 0 0 16 607 +608 608 609 607 0 0 16 608 +609 609 610 608 0 0 16 609 +610 610 611 609 0 0 16 610 +611 611 612 610 0 0 16 611 +612 612 613 611 0 0 16 612 +613 613 614 612 0 0 16 613 +614 614 615 613 0 0 16 614 +615 615 616 614 0 0 16 615 +616 616 617 615 0 0 16 616 +617 617 618 616 0 0 16 617 +618 618 619 617 0 0 16 618 +619 619 620 618 0 0 16 619 +620 620 621 619 0 0 16 620 +621 621 622 620 0 0 16 621 +622 622 623 621 0 0 16 622 +623 623 624 622 0 0 16 623 +624 624 625 623 0 0 16 624 +625 625 626 624 0 0 16 625 +626 626 627 625 0 0 16 626 +627 627 628 626 0 0 16 627 +628 628 629 627 0 0 16 628 +629 629 630 628 0 0 16 629 +630 630 631 629 0 0 16 630 +631 631 632 630 0 0 16 631 +632 632 633 631 0 0 16 632 +633 633 634 632 0 0 16 633 +634 634 635 633 0 0 16 634 +635 635 636 634 0 0 16 635 +636 636 637 635 0 0 16 636 +637 637 638 636 0 0 16 637 +638 638 639 637 0 0 16 638 +639 639 640 638 0 0 16 639 +640 640 641 639 0 0 16 640 +641 641 642 640 0 0 16 641 +642 642 643 641 0 0 16 642 +643 643 644 642 0 0 16 643 +644 644 645 643 0 0 16 644 +645 645 646 644 0 0 16 645 +646 646 647 645 0 0 16 646 +647 647 648 646 0 0 16 647 +648 648 649 647 0 0 16 648 +649 649 650 648 0 0 16 649 +650 650 651 649 0 0 16 650 +651 651 652 650 0 0 16 651 +652 652 653 651 0 0 16 652 +653 653 654 652 0 0 16 653 +654 654 655 653 0 0 16 654 +655 655 656 654 0 0 16 655 +656 656 657 655 0 0 16 656 +657 657 658 656 0 0 16 657 +658 658 659 657 0 0 16 658 +659 659 660 658 0 0 16 659 +660 660 661 659 0 0 16 660 +661 661 662 660 0 0 16 661 +662 662 663 661 0 0 16 662 +663 663 664 662 0 0 16 663 +664 664 665 663 0 0 16 664 +665 665 666 664 0 0 16 665 +666 666 667 665 0 0 16 666 +667 667 668 666 0 0 16 667 +668 668 669 667 0 0 16 668 +669 669 670 668 0 0 16 669 +670 670 671 669 0 0 16 670 +671 671 672 670 0 0 16 671 +672 672 673 671 0 0 16 672 +673 673 674 672 0 0 16 673 +674 674 675 673 0 0 16 674 +675 675 676 674 0 0 16 675 +676 676 677 675 0 0 16 676 +677 677 678 676 0 0 16 677 +678 678 679 677 0 0 16 678 +679 679 680 678 0 0 16 679 +680 680 681 679 0 0 16 680 +681 681 682 680 0 0 16 681 +682 682 683 681 0 0 16 682 +683 683 684 682 0 0 16 683 +684 684 685 683 0 0 16 684 +685 685 686 684 0 0 16 685 +686 686 687 685 0 0 16 686 +687 687 688 686 0 0 16 687 +688 688 689 687 0 0 16 688 +689 689 690 688 0 0 16 689 +690 690 691 689 0 0 16 690 +691 691 692 690 0 0 16 691 +692 692 693 691 0 0 16 692 +693 693 694 692 0 0 16 693 +694 694 695 693 0 0 16 694 +695 695 696 694 0 0 16 695 +696 696 697 695 0 0 16 696 +697 697 698 696 0 0 16 697 +698 698 699 697 0 0 16 698 +699 699 700 698 0 0 16 699 +700 700 701 699 0 0 16 700 +701 701 702 700 0 0 16 701 +702 702 703 701 0 0 16 702 +703 703 704 702 0 0 16 703 +704 704 705 703 0 0 16 704 +705 705 706 704 0 0 16 705 +706 706 707 705 0 0 16 706 +707 707 708 706 0 0 16 707 +708 708 709 707 0 0 16 708 +709 709 710 708 0 0 16 709 +710 710 711 709 0 0 16 710 +711 711 712 710 0 0 16 711 +712 712 713 711 0 0 16 712 +713 713 714 712 0 0 16 713 +714 714 715 713 0 0 16 714 +715 715 716 714 0 0 16 715 +716 716 717 715 0 0 16 716 +717 717 718 716 0 0 16 717 +718 718 719 717 0 0 16 718 +719 719 720 718 0 0 16 719 +720 720 721 719 0 0 16 720 +721 721 722 720 0 0 16 721 +722 722 723 721 0 0 16 722 +723 723 724 722 0 0 16 723 +724 724 725 723 0 0 16 724 +725 725 726 724 0 0 16 725 +726 726 727 725 0 0 16 726 +727 727 728 726 0 0 16 727 +728 728 729 727 0 0 16 728 +729 729 730 728 0 0 16 729 +730 730 731 729 0 0 16 730 +731 731 732 730 0 0 16 731 +732 732 733 731 0 0 16 732 +733 733 734 732 0 0 16 733 +734 734 735 733 0 0 16 734 +735 735 736 734 0 0 16 735 +736 736 737 735 0 0 16 736 +737 737 738 736 0 0 16 737 +738 738 739 737 0 0 16 738 +739 739 740 738 0 0 16 739 +740 740 741 739 0 0 16 740 +741 741 742 740 0 0 16 741 +742 742 743 741 0 0 16 742 +743 743 744 742 0 0 16 743 +744 744 745 743 0 0 16 744 +745 745 746 744 0 0 16 745 +746 746 747 745 0 0 16 746 +747 747 748 746 0 0 16 747 +748 748 749 747 0 0 16 748 +749 749 750 748 0 0 16 749 +750 750 751 749 0 0 16 750 +751 751 752 750 0 0 16 751 +752 752 753 751 0 0 16 752 +753 753 754 752 0 0 16 753 +754 754 755 753 0 0 16 754 +755 755 756 754 0 0 16 755 +756 756 757 755 0 0 16 756 +757 757 758 756 0 0 16 757 +758 758 759 757 0 0 16 758 +759 759 760 758 0 0 16 759 +760 760 761 759 0 0 16 760 +761 761 762 760 0 0 16 761 +762 762 763 761 0 0 16 762 +763 763 764 762 0 0 16 763 +764 764 765 763 0 0 16 764 +765 765 766 764 0 0 16 765 +766 766 767 765 0 0 16 766 +767 767 768 766 0 0 16 767 +768 768 769 767 0 0 16 768 +769 769 770 768 0 0 16 769 +770 770 771 769 0 0 16 770 +771 771 772 770 0 0 16 771 +772 772 773 771 0 0 16 772 +773 773 774 772 0 0 16 773 +774 774 775 773 0 0 16 774 +775 775 776 774 0 0 16 775 +776 776 777 775 0 0 16 776 +777 777 778 776 0 0 16 777 +778 778 779 777 0 0 16 778 +779 779 780 778 0 0 16 779 +780 780 781 779 0 0 16 780 +781 781 782 780 0 0 16 781 +782 782 783 781 0 0 16 782 +783 783 784 782 0 0 16 783 +784 784 785 783 0 0 16 784 +785 785 786 784 0 0 16 785 +786 786 787 785 0 0 16 786 +787 787 788 786 0 0 16 787 +788 788 789 787 0 0 16 788 +789 789 790 788 0 0 16 789 +790 790 791 789 0 0 16 790 +791 791 792 790 0 0 16 791 +792 792 793 791 0 0 16 792 +793 793 794 792 0 0 16 793 +794 794 795 793 0 0 16 794 +795 795 796 794 0 0 16 795 +796 796 797 795 0 0 16 796 +797 797 798 796 0 0 16 797 +798 798 799 797 0 0 16 798 +799 799 800 798 0 0 16 799 +800 800 801 799 0 0 16 800 +801 801 802 800 0 0 16 801 +802 802 803 801 0 0 16 802 +803 803 804 802 0 0 16 803 +804 804 805 803 0 0 16 804 +805 805 806 804 0 0 16 805 +806 806 807 805 0 0 16 806 +807 807 808 806 0 0 16 807 +808 808 809 807 0 0 16 808 +809 809 810 808 0 0 16 809 +810 810 811 809 0 0 16 810 +811 811 812 810 0 0 16 811 +812 812 813 811 0 0 16 812 +813 813 814 812 0 0 16 813 +814 814 815 813 0 0 16 814 +815 815 816 814 0 0 16 815 +816 816 817 815 0 0 16 816 +817 817 818 816 0 0 16 817 +818 818 819 817 0 0 16 818 +819 819 820 818 0 0 16 819 +820 820 821 819 0 0 16 820 +821 821 822 820 0 0 16 821 +822 822 823 821 0 0 16 822 +823 823 824 822 0 0 16 823 +824 824 825 823 0 0 16 824 +825 825 826 824 0 0 16 825 +826 826 827 825 0 0 16 826 +827 827 828 826 0 0 16 827 +828 828 829 827 0 0 16 828 +829 829 830 828 0 0 16 829 +830 830 831 829 0 0 16 830 +831 831 832 830 0 0 16 831 +832 832 833 831 0 0 16 832 +833 833 834 832 0 0 16 833 +834 834 835 833 0 0 16 834 +835 835 836 834 0 0 16 835 +836 836 837 835 0 0 16 836 +837 837 838 836 0 0 16 837 +838 838 839 837 0 0 16 838 +839 839 840 838 0 0 16 839 +840 840 841 839 0 0 16 840 +841 841 842 840 0 0 16 841 +842 842 843 841 0 0 16 842 +843 843 844 842 0 0 16 843 +844 844 845 843 0 0 16 844 +845 845 846 844 0 0 16 845 +846 846 847 845 0 0 16 846 +847 847 848 846 0 0 16 847 +848 848 849 847 0 0 16 848 +849 849 850 848 0 0 16 849 +850 850 851 849 0 0 16 850 +851 851 852 850 0 0 16 851 +852 852 853 851 0 0 16 852 +853 853 854 852 0 0 16 853 +854 854 855 853 0 0 16 854 +855 855 856 854 0 0 16 855 +856 856 857 855 0 0 16 856 +857 857 858 856 0 0 16 857 +858 858 859 857 0 0 16 858 +859 859 860 858 0 0 16 859 +860 860 861 859 0 0 16 860 +861 861 862 860 0 0 16 861 +862 862 863 861 0 0 16 862 +863 863 864 862 0 0 16 863 +864 864 865 863 0 0 16 864 +865 865 866 864 0 0 16 865 +866 866 867 865 0 0 16 866 +867 867 868 866 0 0 16 867 +868 868 869 867 0 0 16 868 +869 869 870 868 0 0 16 869 +870 870 871 869 0 0 16 870 +871 871 872 870 0 0 16 871 +872 872 873 871 0 0 16 872 +873 873 874 872 0 0 16 873 +874 874 875 873 0 0 16 874 +875 875 876 874 0 0 16 875 +876 876 877 875 0 0 16 876 +877 877 878 876 0 0 16 877 +878 878 879 877 0 0 16 878 +879 879 880 878 0 0 16 879 +880 880 881 879 0 0 16 880 +881 881 882 880 0 0 16 881 +882 882 883 881 0 0 16 882 +883 883 884 882 0 0 16 883 +884 884 885 883 0 0 16 884 +885 885 886 884 0 0 16 885 +886 886 887 885 0 0 16 886 +887 887 888 886 0 0 16 887 +888 888 889 887 0 0 16 888 +889 889 890 888 0 0 16 889 +890 890 891 889 0 0 16 890 +891 891 892 890 0 0 16 891 +892 892 893 891 0 0 16 892 +893 893 894 892 0 0 16 893 +894 894 895 893 0 0 16 894 +895 895 896 894 0 0 16 895 +896 896 897 895 0 0 16 896 +897 897 898 896 0 0 16 897 +898 898 899 897 0 0 16 898 +899 899 900 898 0 0 16 899 +900 900 901 899 0 0 16 900 +901 901 902 900 0 0 16 901 +902 902 903 901 0 0 16 902 +903 903 904 902 0 0 16 903 +904 904 905 903 0 0 16 904 +905 905 906 904 0 0 16 905 +906 906 907 905 0 0 16 906 +907 907 908 906 0 0 16 907 +908 908 909 907 0 0 16 908 +909 909 910 908 0 0 16 909 +910 910 911 909 0 0 16 910 +911 911 912 910 0 0 16 911 +912 912 913 911 0 0 16 912 +913 913 914 912 0 0 16 913 +914 914 915 913 0 0 16 914 +915 915 916 914 0 0 16 915 +916 916 917 915 0 0 16 916 +917 917 918 916 0 0 16 917 +918 918 919 917 0 0 16 918 +919 919 920 918 0 0 16 919 +920 920 921 919 0 0 16 920 +921 921 922 920 0 0 16 921 +922 922 923 921 0 0 16 922 +923 923 924 922 0 0 16 923 +924 924 925 923 0 0 16 924 +925 925 926 924 0 0 16 925 +926 926 927 925 0 0 16 926 +927 927 928 926 0 0 16 927 +928 928 929 927 0 0 16 928 +929 929 930 928 0 0 16 929 +930 930 931 929 0 0 16 930 +931 931 932 930 0 0 16 931 +932 932 933 931 0 0 16 932 +933 933 934 932 0 0 16 933 +934 934 935 933 0 0 16 934 +935 935 936 934 0 0 16 935 +936 936 937 935 0 0 16 936 +937 937 938 936 0 0 16 937 +938 938 939 937 0 0 16 938 +939 939 940 938 0 0 16 939 +940 940 941 939 0 0 16 940 +941 941 942 940 0 0 16 941 +942 942 943 941 0 0 16 942 +943 943 944 942 0 0 16 943 +944 944 945 943 0 0 16 944 +945 945 946 944 0 0 16 945 +946 946 947 945 0 0 16 946 +947 947 948 946 0 0 16 947 +948 948 949 947 0 0 16 948 +949 949 950 948 0 0 16 949 +950 950 951 949 0 0 16 950 +951 951 952 950 0 0 16 951 +952 952 953 951 0 0 16 952 +953 953 954 952 0 0 16 953 +954 954 955 953 0 0 16 954 +955 955 956 954 0 0 16 955 +956 956 957 955 0 0 16 956 +957 957 958 956 0 0 16 957 +958 958 959 957 0 0 16 958 +959 959 960 958 0 0 16 959 +960 960 961 959 0 0 16 960 +961 961 962 960 0 0 16 961 +962 962 963 961 0 0 16 962 +963 963 964 962 0 0 16 963 +964 964 965 963 0 0 16 964 +965 965 966 964 0 0 16 965 +966 966 967 965 0 0 16 966 +967 967 968 966 0 0 16 967 +968 968 969 967 0 0 16 968 +969 969 970 968 0 0 16 969 +970 970 971 969 0 0 16 970 +971 971 972 970 0 0 16 971 +972 972 973 971 0 0 16 972 +973 973 974 972 0 0 16 973 +974 974 975 973 0 0 16 974 +975 975 976 974 0 0 16 975 +976 976 977 975 0 0 16 976 +977 977 978 976 0 0 16 977 +978 978 979 977 0 0 16 978 +979 979 980 978 0 0 16 979 +980 980 981 979 0 0 16 980 +981 981 982 980 0 0 16 981 +982 982 983 981 0 0 16 982 +983 983 984 982 0 0 16 983 +984 984 985 983 0 0 16 984 +985 985 986 984 0 0 16 985 +986 986 987 985 0 0 16 986 +987 987 988 986 0 0 16 987 +988 988 989 987 0 0 16 988 +989 989 990 988 0 0 16 989 +990 990 991 989 0 0 16 990 +991 991 992 990 0 0 16 991 +992 992 993 991 0 0 16 992 +993 993 994 992 0 0 16 993 +994 994 995 993 0 0 16 994 +995 995 996 994 0 0 16 995 +996 996 997 995 0 0 16 996 +997 997 998 996 0 0 16 997 +998 998 999 997 0 0 16 998 +999 999 1000 998 0 0 16 999 +1000 1000 1001 999 0 0 16 1000 +1001 1001 1002 1000 0 0 16 1001 +1002 1002 1003 1001 0 0 16 1002 +1003 1003 1004 1002 0 0 16 1003 +1004 1004 1005 1003 0 0 16 1004 +1005 1005 1006 1004 0 0 16 1005 +1006 1006 1007 1005 0 0 16 1006 +1007 1007 1008 1006 0 0 16 1007 +1008 1008 1009 1007 0 0 16 1008 +1009 1009 1010 1008 0 0 16 1009 +1010 1010 1011 1009 0 0 16 1010 +1011 1011 1012 1010 0 0 16 1011 +1012 1012 1013 1011 0 0 16 1012 +1013 1013 1014 1012 0 0 16 1013 +1014 1014 1015 1013 0 0 16 1014 +1015 1015 1016 1014 0 0 16 1015 +1016 1016 1017 1015 0 0 16 1016 +1017 1017 1018 1016 0 0 16 1017 +1018 1018 1019 1017 0 0 16 1018 +1019 1019 1020 1018 0 0 16 1019 +1020 1020 1021 1019 0 0 16 1020 +1021 1021 1022 1020 0 0 16 1021 +1022 1022 0 1021 0 0 16 1022 +1023 1023 -1 0 0 0 16 1023 +====================================================== +=== [Queue after-freeing-0] Next: 0 First: 1 Last: 1023 +# seq next prev timeout retrans type cbp +1 1 2 -1 0 0 16 1 +2 2 3 1 0 0 16 2 +3 3 4 2 0 0 16 3 +4 4 5 3 0 0 16 4 +5 5 6 4 0 0 16 5 +6 6 7 5 0 0 16 6 +7 7 8 6 0 0 16 7 +8 8 9 7 0 0 16 8 +9 9 10 8 0 0 16 9 +10 10 11 9 0 0 16 10 +11 11 12 10 0 0 16 11 +12 12 13 11 0 0 16 12 +13 13 14 12 0 0 16 13 +14 14 15 13 0 0 16 14 +15 15 16 14 0 0 16 15 +16 16 17 15 0 0 16 16 +17 17 18 16 0 0 16 17 +18 18 19 17 0 0 16 18 +19 19 20 18 0 0 16 19 +20 20 21 19 0 0 16 20 +21 21 22 20 0 0 16 21 +22 22 23 21 0 0 16 22 +23 23 24 22 0 0 16 23 +24 24 25 23 0 0 16 24 +25 25 26 24 0 0 16 25 +26 26 27 25 0 0 16 26 +27 27 28 26 0 0 16 27 +28 28 29 27 0 0 16 28 +29 29 30 28 0 0 16 29 +30 30 31 29 0 0 16 30 +31 31 32 30 0 0 16 31 +32 32 33 31 0 0 16 32 +33 33 34 32 0 0 16 33 +34 34 35 33 0 0 16 34 +35 35 36 34 0 0 16 35 +36 36 37 35 0 0 16 36 +37 37 38 36 0 0 16 37 +38 38 39 37 0 0 16 38 +39 39 40 38 0 0 16 39 +40 40 41 39 0 0 16 40 +41 41 42 40 0 0 16 41 +42 42 43 41 0 0 16 42 +43 43 44 42 0 0 16 43 +44 44 45 43 0 0 16 44 +45 45 46 44 0 0 16 45 +46 46 47 45 0 0 16 46 +47 47 48 46 0 0 16 47 +48 48 49 47 0 0 16 48 +49 49 50 48 0 0 16 49 +50 50 51 49 0 0 16 50 +51 51 52 50 0 0 16 51 +52 52 53 51 0 0 16 52 +53 53 54 52 0 0 16 53 +54 54 55 53 0 0 16 54 +55 55 56 54 0 0 16 55 +56 56 57 55 0 0 16 56 +57 57 58 56 0 0 16 57 +58 58 59 57 0 0 16 58 +59 59 60 58 0 0 16 59 +60 60 61 59 0 0 16 60 +61 61 62 60 0 0 16 61 +62 62 63 61 0 0 16 62 +63 63 64 62 0 0 16 63 +64 64 65 63 0 0 16 64 +65 65 66 64 0 0 16 65 +66 66 67 65 0 0 16 66 +67 67 68 66 0 0 16 67 +68 68 69 67 0 0 16 68 +69 69 70 68 0 0 16 69 +70 70 71 69 0 0 16 70 +71 71 72 70 0 0 16 71 +72 72 73 71 0 0 16 72 +73 73 74 72 0 0 16 73 +74 74 75 73 0 0 16 74 +75 75 76 74 0 0 16 75 +76 76 77 75 0 0 16 76 +77 77 78 76 0 0 16 77 +78 78 79 77 0 0 16 78 +79 79 80 78 0 0 16 79 +80 80 81 79 0 0 16 80 +81 81 82 80 0 0 16 81 +82 82 83 81 0 0 16 82 +83 83 84 82 0 0 16 83 +84 84 85 83 0 0 16 84 +85 85 86 84 0 0 16 85 +86 86 87 85 0 0 16 86 +87 87 88 86 0 0 16 87 +88 88 89 87 0 0 16 88 +89 89 90 88 0 0 16 89 +90 90 91 89 0 0 16 90 +91 91 92 90 0 0 16 91 +92 92 93 91 0 0 16 92 +93 93 94 92 0 0 16 93 +94 94 95 93 0 0 16 94 +95 95 96 94 0 0 16 95 +96 96 97 95 0 0 16 96 +97 97 98 96 0 0 16 97 +98 98 99 97 0 0 16 98 +99 99 100 98 0 0 16 99 +100 100 101 99 0 0 16 100 +101 101 102 100 0 0 16 101 +102 102 103 101 0 0 16 102 +103 103 104 102 0 0 16 103 +104 104 105 103 0 0 16 104 +105 105 106 104 0 0 16 105 +106 106 107 105 0 0 16 106 +107 107 108 106 0 0 16 107 +108 108 109 107 0 0 16 108 +109 109 110 108 0 0 16 109 +110 110 111 109 0 0 16 110 +111 111 112 110 0 0 16 111 +112 112 113 111 0 0 16 112 +113 113 114 112 0 0 16 113 +114 114 115 113 0 0 16 114 +115 115 116 114 0 0 16 115 +116 116 117 115 0 0 16 116 +117 117 118 116 0 0 16 117 +118 118 119 117 0 0 16 118 +119 119 120 118 0 0 16 119 +120 120 121 119 0 0 16 120 +121 121 122 120 0 0 16 121 +122 122 123 121 0 0 16 122 +123 123 124 122 0 0 16 123 +124 124 125 123 0 0 16 124 +125 125 126 124 0 0 16 125 +126 126 127 125 0 0 16 126 +127 127 128 126 0 0 16 127 +128 128 129 127 0 0 16 128 +129 129 130 128 0 0 16 129 +130 130 131 129 0 0 16 130 +131 131 132 130 0 0 16 131 +132 132 133 131 0 0 16 132 +133 133 134 132 0 0 16 133 +134 134 135 133 0 0 16 134 +135 135 136 134 0 0 16 135 +136 136 137 135 0 0 16 136 +137 137 138 136 0 0 16 137 +138 138 139 137 0 0 16 138 +139 139 140 138 0 0 16 139 +140 140 141 139 0 0 16 140 +141 141 142 140 0 0 16 141 +142 142 143 141 0 0 16 142 +143 143 144 142 0 0 16 143 +144 144 145 143 0 0 16 144 +145 145 146 144 0 0 16 145 +146 146 147 145 0 0 16 146 +147 147 148 146 0 0 16 147 +148 148 149 147 0 0 16 148 +149 149 150 148 0 0 16 149 +150 150 151 149 0 0 16 150 +151 151 152 150 0 0 16 151 +152 152 153 151 0 0 16 152 +153 153 154 152 0 0 16 153 +154 154 155 153 0 0 16 154 +155 155 156 154 0 0 16 155 +156 156 157 155 0 0 16 156 +157 157 158 156 0 0 16 157 +158 158 159 157 0 0 16 158 +159 159 160 158 0 0 16 159 +160 160 161 159 0 0 16 160 +161 161 162 160 0 0 16 161 +162 162 163 161 0 0 16 162 +163 163 164 162 0 0 16 163 +164 164 165 163 0 0 16 164 +165 165 166 164 0 0 16 165 +166 166 167 165 0 0 16 166 +167 167 168 166 0 0 16 167 +168 168 169 167 0 0 16 168 +169 169 170 168 0 0 16 169 +170 170 171 169 0 0 16 170 +171 171 172 170 0 0 16 171 +172 172 173 171 0 0 16 172 +173 173 174 172 0 0 16 173 +174 174 175 173 0 0 16 174 +175 175 176 174 0 0 16 175 +176 176 177 175 0 0 16 176 +177 177 178 176 0 0 16 177 +178 178 179 177 0 0 16 178 +179 179 180 178 0 0 16 179 +180 180 181 179 0 0 16 180 +181 181 182 180 0 0 16 181 +182 182 183 181 0 0 16 182 +183 183 184 182 0 0 16 183 +184 184 185 183 0 0 16 184 +185 185 186 184 0 0 16 185 +186 186 187 185 0 0 16 186 +187 187 188 186 0 0 16 187 +188 188 189 187 0 0 16 188 +189 189 190 188 0 0 16 189 +190 190 191 189 0 0 16 190 +191 191 192 190 0 0 16 191 +192 192 193 191 0 0 16 192 +193 193 194 192 0 0 16 193 +194 194 195 193 0 0 16 194 +195 195 196 194 0 0 16 195 +196 196 197 195 0 0 16 196 +197 197 198 196 0 0 16 197 +198 198 199 197 0 0 16 198 +199 199 200 198 0 0 16 199 +200 200 201 199 0 0 16 200 +201 201 202 200 0 0 16 201 +202 202 203 201 0 0 16 202 +203 203 204 202 0 0 16 203 +204 204 205 203 0 0 16 204 +205 205 206 204 0 0 16 205 +206 206 207 205 0 0 16 206 +207 207 208 206 0 0 16 207 +208 208 209 207 0 0 16 208 +209 209 210 208 0 0 16 209 +210 210 211 209 0 0 16 210 +211 211 212 210 0 0 16 211 +212 212 213 211 0 0 16 212 +213 213 214 212 0 0 16 213 +214 214 215 213 0 0 16 214 +215 215 216 214 0 0 16 215 +216 216 217 215 0 0 16 216 +217 217 218 216 0 0 16 217 +218 218 219 217 0 0 16 218 +219 219 220 218 0 0 16 219 +220 220 221 219 0 0 16 220 +221 221 222 220 0 0 16 221 +222 222 223 221 0 0 16 222 +223 223 224 222 0 0 16 223 +224 224 225 223 0 0 16 224 +225 225 226 224 0 0 16 225 +226 226 227 225 0 0 16 226 +227 227 228 226 0 0 16 227 +228 228 229 227 0 0 16 228 +229 229 230 228 0 0 16 229 +230 230 231 229 0 0 16 230 +231 231 232 230 0 0 16 231 +232 232 233 231 0 0 16 232 +233 233 234 232 0 0 16 233 +234 234 235 233 0 0 16 234 +235 235 236 234 0 0 16 235 +236 236 237 235 0 0 16 236 +237 237 238 236 0 0 16 237 +238 238 239 237 0 0 16 238 +239 239 240 238 0 0 16 239 +240 240 241 239 0 0 16 240 +241 241 242 240 0 0 16 241 +242 242 243 241 0 0 16 242 +243 243 244 242 0 0 16 243 +244 244 245 243 0 0 16 244 +245 245 246 244 0 0 16 245 +246 246 247 245 0 0 16 246 +247 247 248 246 0 0 16 247 +248 248 249 247 0 0 16 248 +249 249 250 248 0 0 16 249 +250 250 251 249 0 0 16 250 +251 251 252 250 0 0 16 251 +252 252 253 251 0 0 16 252 +253 253 254 252 0 0 16 253 +254 254 255 253 0 0 16 254 +255 255 256 254 0 0 16 255 +256 256 257 255 0 0 16 256 +257 257 258 256 0 0 16 257 +258 258 259 257 0 0 16 258 +259 259 260 258 0 0 16 259 +260 260 261 259 0 0 16 260 +261 261 262 260 0 0 16 261 +262 262 263 261 0 0 16 262 +263 263 264 262 0 0 16 263 +264 264 265 263 0 0 16 264 +265 265 266 264 0 0 16 265 +266 266 267 265 0 0 16 266 +267 267 268 266 0 0 16 267 +268 268 269 267 0 0 16 268 +269 269 270 268 0 0 16 269 +270 270 271 269 0 0 16 270 +271 271 272 270 0 0 16 271 +272 272 273 271 0 0 16 272 +273 273 274 272 0 0 16 273 +274 274 275 273 0 0 16 274 +275 275 276 274 0 0 16 275 +276 276 277 275 0 0 16 276 +277 277 278 276 0 0 16 277 +278 278 279 277 0 0 16 278 +279 279 280 278 0 0 16 279 +280 280 281 279 0 0 16 280 +281 281 282 280 0 0 16 281 +282 282 283 281 0 0 16 282 +283 283 284 282 0 0 16 283 +284 284 285 283 0 0 16 284 +285 285 286 284 0 0 16 285 +286 286 287 285 0 0 16 286 +287 287 288 286 0 0 16 287 +288 288 289 287 0 0 16 288 +289 289 290 288 0 0 16 289 +290 290 291 289 0 0 16 290 +291 291 292 290 0 0 16 291 +292 292 293 291 0 0 16 292 +293 293 294 292 0 0 16 293 +294 294 295 293 0 0 16 294 +295 295 296 294 0 0 16 295 +296 296 297 295 0 0 16 296 +297 297 298 296 0 0 16 297 +298 298 299 297 0 0 16 298 +299 299 300 298 0 0 16 299 +300 300 301 299 0 0 16 300 +301 301 302 300 0 0 16 301 +302 302 303 301 0 0 16 302 +303 303 304 302 0 0 16 303 +304 304 305 303 0 0 16 304 +305 305 306 304 0 0 16 305 +306 306 307 305 0 0 16 306 +307 307 308 306 0 0 16 307 +308 308 309 307 0 0 16 308 +309 309 310 308 0 0 16 309 +310 310 311 309 0 0 16 310 +311 311 312 310 0 0 16 311 +312 312 313 311 0 0 16 312 +313 313 314 312 0 0 16 313 +314 314 315 313 0 0 16 314 +315 315 316 314 0 0 16 315 +316 316 317 315 0 0 16 316 +317 317 318 316 0 0 16 317 +318 318 319 317 0 0 16 318 +319 319 320 318 0 0 16 319 +320 320 321 319 0 0 16 320 +321 321 322 320 0 0 16 321 +322 322 323 321 0 0 16 322 +323 323 324 322 0 0 16 323 +324 324 325 323 0 0 16 324 +325 325 326 324 0 0 16 325 +326 326 327 325 0 0 16 326 +327 327 328 326 0 0 16 327 +328 328 329 327 0 0 16 328 +329 329 330 328 0 0 16 329 +330 330 331 329 0 0 16 330 +331 331 332 330 0 0 16 331 +332 332 333 331 0 0 16 332 +333 333 334 332 0 0 16 333 +334 334 335 333 0 0 16 334 +335 335 336 334 0 0 16 335 +336 336 337 335 0 0 16 336 +337 337 338 336 0 0 16 337 +338 338 339 337 0 0 16 338 +339 339 340 338 0 0 16 339 +340 340 341 339 0 0 16 340 +341 341 342 340 0 0 16 341 +342 342 343 341 0 0 16 342 +343 343 344 342 0 0 16 343 +344 344 345 343 0 0 16 344 +345 345 346 344 0 0 16 345 +346 346 347 345 0 0 16 346 +347 347 348 346 0 0 16 347 +348 348 349 347 0 0 16 348 +349 349 350 348 0 0 16 349 +350 350 351 349 0 0 16 350 +351 351 352 350 0 0 16 351 +352 352 353 351 0 0 16 352 +353 353 354 352 0 0 16 353 +354 354 355 353 0 0 16 354 +355 355 356 354 0 0 16 355 +356 356 357 355 0 0 16 356 +357 357 358 356 0 0 16 357 +358 358 359 357 0 0 16 358 +359 359 360 358 0 0 16 359 +360 360 361 359 0 0 16 360 +361 361 362 360 0 0 16 361 +362 362 363 361 0 0 16 362 +363 363 364 362 0 0 16 363 +364 364 365 363 0 0 16 364 +365 365 366 364 0 0 16 365 +366 366 367 365 0 0 16 366 +367 367 368 366 0 0 16 367 +368 368 369 367 0 0 16 368 +369 369 370 368 0 0 16 369 +370 370 371 369 0 0 16 370 +371 371 372 370 0 0 16 371 +372 372 373 371 0 0 16 372 +373 373 374 372 0 0 16 373 +374 374 375 373 0 0 16 374 +375 375 376 374 0 0 16 375 +376 376 377 375 0 0 16 376 +377 377 378 376 0 0 16 377 +378 378 379 377 0 0 16 378 +379 379 380 378 0 0 16 379 +380 380 381 379 0 0 16 380 +381 381 382 380 0 0 16 381 +382 382 383 381 0 0 16 382 +383 383 384 382 0 0 16 383 +384 384 385 383 0 0 16 384 +385 385 386 384 0 0 16 385 +386 386 387 385 0 0 16 386 +387 387 388 386 0 0 16 387 +388 388 389 387 0 0 16 388 +389 389 390 388 0 0 16 389 +390 390 391 389 0 0 16 390 +391 391 392 390 0 0 16 391 +392 392 393 391 0 0 16 392 +393 393 394 392 0 0 16 393 +394 394 395 393 0 0 16 394 +395 395 396 394 0 0 16 395 +396 396 397 395 0 0 16 396 +397 397 398 396 0 0 16 397 +398 398 399 397 0 0 16 398 +399 399 400 398 0 0 16 399 +400 400 401 399 0 0 16 400 +401 401 402 400 0 0 16 401 +402 402 403 401 0 0 16 402 +403 403 404 402 0 0 16 403 +404 404 405 403 0 0 16 404 +405 405 406 404 0 0 16 405 +406 406 407 405 0 0 16 406 +407 407 408 406 0 0 16 407 +408 408 409 407 0 0 16 408 +409 409 410 408 0 0 16 409 +410 410 411 409 0 0 16 410 +411 411 412 410 0 0 16 411 +412 412 413 411 0 0 16 412 +413 413 414 412 0 0 16 413 +414 414 415 413 0 0 16 414 +415 415 416 414 0 0 16 415 +416 416 417 415 0 0 16 416 +417 417 418 416 0 0 16 417 +418 418 419 417 0 0 16 418 +419 419 420 418 0 0 16 419 +420 420 421 419 0 0 16 420 +421 421 422 420 0 0 16 421 +422 422 423 421 0 0 16 422 +423 423 424 422 0 0 16 423 +424 424 425 423 0 0 16 424 +425 425 426 424 0 0 16 425 +426 426 427 425 0 0 16 426 +427 427 428 426 0 0 16 427 +428 428 429 427 0 0 16 428 +429 429 430 428 0 0 16 429 +430 430 431 429 0 0 16 430 +431 431 432 430 0 0 16 431 +432 432 433 431 0 0 16 432 +433 433 434 432 0 0 16 433 +434 434 435 433 0 0 16 434 +435 435 436 434 0 0 16 435 +436 436 437 435 0 0 16 436 +437 437 438 436 0 0 16 437 +438 438 439 437 0 0 16 438 +439 439 440 438 0 0 16 439 +440 440 441 439 0 0 16 440 +441 441 442 440 0 0 16 441 +442 442 443 441 0 0 16 442 +443 443 444 442 0 0 16 443 +444 444 445 443 0 0 16 444 +445 445 446 444 0 0 16 445 +446 446 447 445 0 0 16 446 +447 447 448 446 0 0 16 447 +448 448 449 447 0 0 16 448 +449 449 450 448 0 0 16 449 +450 450 451 449 0 0 16 450 +451 451 452 450 0 0 16 451 +452 452 453 451 0 0 16 452 +453 453 454 452 0 0 16 453 +454 454 455 453 0 0 16 454 +455 455 456 454 0 0 16 455 +456 456 457 455 0 0 16 456 +457 457 458 456 0 0 16 457 +458 458 459 457 0 0 16 458 +459 459 460 458 0 0 16 459 +460 460 461 459 0 0 16 460 +461 461 462 460 0 0 16 461 +462 462 463 461 0 0 16 462 +463 463 464 462 0 0 16 463 +464 464 465 463 0 0 16 464 +465 465 466 464 0 0 16 465 +466 466 467 465 0 0 16 466 +467 467 468 466 0 0 16 467 +468 468 469 467 0 0 16 468 +469 469 470 468 0 0 16 469 +470 470 471 469 0 0 16 470 +471 471 472 470 0 0 16 471 +472 472 473 471 0 0 16 472 +473 473 474 472 0 0 16 473 +474 474 475 473 0 0 16 474 +475 475 476 474 0 0 16 475 +476 476 477 475 0 0 16 476 +477 477 478 476 0 0 16 477 +478 478 479 477 0 0 16 478 +479 479 480 478 0 0 16 479 +480 480 481 479 0 0 16 480 +481 481 482 480 0 0 16 481 +482 482 483 481 0 0 16 482 +483 483 484 482 0 0 16 483 +484 484 485 483 0 0 16 484 +485 485 486 484 0 0 16 485 +486 486 487 485 0 0 16 486 +487 487 488 486 0 0 16 487 +488 488 489 487 0 0 16 488 +489 489 490 488 0 0 16 489 +490 490 491 489 0 0 16 490 +491 491 492 490 0 0 16 491 +492 492 493 491 0 0 16 492 +493 493 494 492 0 0 16 493 +494 494 495 493 0 0 16 494 +495 495 496 494 0 0 16 495 +496 496 497 495 0 0 16 496 +497 497 498 496 0 0 16 497 +498 498 499 497 0 0 16 498 +499 499 500 498 0 0 16 499 +500 500 501 499 0 0 16 500 +501 501 502 500 0 0 16 501 +502 502 503 501 0 0 16 502 +503 503 504 502 0 0 16 503 +504 504 505 503 0 0 16 504 +505 505 506 504 0 0 16 505 +506 506 507 505 0 0 16 506 +507 507 508 506 0 0 16 507 +508 508 509 507 0 0 16 508 +509 509 510 508 0 0 16 509 +510 510 511 509 0 0 16 510 +511 511 512 510 0 0 16 511 +512 512 513 511 0 0 16 512 +513 513 514 512 0 0 16 513 +514 514 515 513 0 0 16 514 +515 515 516 514 0 0 16 515 +516 516 517 515 0 0 16 516 +517 517 518 516 0 0 16 517 +518 518 519 517 0 0 16 518 +519 519 520 518 0 0 16 519 +520 520 521 519 0 0 16 520 +521 521 522 520 0 0 16 521 +522 522 523 521 0 0 16 522 +523 523 524 522 0 0 16 523 +524 524 525 523 0 0 16 524 +525 525 526 524 0 0 16 525 +526 526 527 525 0 0 16 526 +527 527 528 526 0 0 16 527 +528 528 529 527 0 0 16 528 +529 529 530 528 0 0 16 529 +530 530 531 529 0 0 16 530 +531 531 532 530 0 0 16 531 +532 532 533 531 0 0 16 532 +533 533 534 532 0 0 16 533 +534 534 535 533 0 0 16 534 +535 535 536 534 0 0 16 535 +536 536 537 535 0 0 16 536 +537 537 538 536 0 0 16 537 +538 538 539 537 0 0 16 538 +539 539 540 538 0 0 16 539 +540 540 541 539 0 0 16 540 +541 541 542 540 0 0 16 541 +542 542 543 541 0 0 16 542 +543 543 544 542 0 0 16 543 +544 544 545 543 0 0 16 544 +545 545 546 544 0 0 16 545 +546 546 547 545 0 0 16 546 +547 547 548 546 0 0 16 547 +548 548 549 547 0 0 16 548 +549 549 550 548 0 0 16 549 +550 550 551 549 0 0 16 550 +551 551 552 550 0 0 16 551 +552 552 553 551 0 0 16 552 +553 553 554 552 0 0 16 553 +554 554 555 553 0 0 16 554 +555 555 556 554 0 0 16 555 +556 556 557 555 0 0 16 556 +557 557 558 556 0 0 16 557 +558 558 559 557 0 0 16 558 +559 559 560 558 0 0 16 559 +560 560 561 559 0 0 16 560 +561 561 562 560 0 0 16 561 +562 562 563 561 0 0 16 562 +563 563 564 562 0 0 16 563 +564 564 565 563 0 0 16 564 +565 565 566 564 0 0 16 565 +566 566 567 565 0 0 16 566 +567 567 568 566 0 0 16 567 +568 568 569 567 0 0 16 568 +569 569 570 568 0 0 16 569 +570 570 571 569 0 0 16 570 +571 571 572 570 0 0 16 571 +572 572 573 571 0 0 16 572 +573 573 574 572 0 0 16 573 +574 574 575 573 0 0 16 574 +575 575 576 574 0 0 16 575 +576 576 577 575 0 0 16 576 +577 577 578 576 0 0 16 577 +578 578 579 577 0 0 16 578 +579 579 580 578 0 0 16 579 +580 580 581 579 0 0 16 580 +581 581 582 580 0 0 16 581 +582 582 583 581 0 0 16 582 +583 583 584 582 0 0 16 583 +584 584 585 583 0 0 16 584 +585 585 586 584 0 0 16 585 +586 586 587 585 0 0 16 586 +587 587 588 586 0 0 16 587 +588 588 589 587 0 0 16 588 +589 589 590 588 0 0 16 589 +590 590 591 589 0 0 16 590 +591 591 592 590 0 0 16 591 +592 592 593 591 0 0 16 592 +593 593 594 592 0 0 16 593 +594 594 595 593 0 0 16 594 +595 595 596 594 0 0 16 595 +596 596 597 595 0 0 16 596 +597 597 598 596 0 0 16 597 +598 598 599 597 0 0 16 598 +599 599 600 598 0 0 16 599 +600 600 601 599 0 0 16 600 +601 601 602 600 0 0 16 601 +602 602 603 601 0 0 16 602 +603 603 604 602 0 0 16 603 +604 604 605 603 0 0 16 604 +605 605 606 604 0 0 16 605 +606 606 607 605 0 0 16 606 +607 607 608 606 0 0 16 607 +608 608 609 607 0 0 16 608 +609 609 610 608 0 0 16 609 +610 610 611 609 0 0 16 610 +611 611 612 610 0 0 16 611 +612 612 613 611 0 0 16 612 +613 613 614 612 0 0 16 613 +614 614 615 613 0 0 16 614 +615 615 616 614 0 0 16 615 +616 616 617 615 0 0 16 616 +617 617 618 616 0 0 16 617 +618 618 619 617 0 0 16 618 +619 619 620 618 0 0 16 619 +620 620 621 619 0 0 16 620 +621 621 622 620 0 0 16 621 +622 622 623 621 0 0 16 622 +623 623 624 622 0 0 16 623 +624 624 625 623 0 0 16 624 +625 625 626 624 0 0 16 625 +626 626 627 625 0 0 16 626 +627 627 628 626 0 0 16 627 +628 628 629 627 0 0 16 628 +629 629 630 628 0 0 16 629 +630 630 631 629 0 0 16 630 +631 631 632 630 0 0 16 631 +632 632 633 631 0 0 16 632 +633 633 634 632 0 0 16 633 +634 634 635 633 0 0 16 634 +635 635 636 634 0 0 16 635 +636 636 637 635 0 0 16 636 +637 637 638 636 0 0 16 637 +638 638 639 637 0 0 16 638 +639 639 640 638 0 0 16 639 +640 640 641 639 0 0 16 640 +641 641 642 640 0 0 16 641 +642 642 643 641 0 0 16 642 +643 643 644 642 0 0 16 643 +644 644 645 643 0 0 16 644 +645 645 646 644 0 0 16 645 +646 646 647 645 0 0 16 646 +647 647 648 646 0 0 16 647 +648 648 649 647 0 0 16 648 +649 649 650 648 0 0 16 649 +650 650 651 649 0 0 16 650 +651 651 652 650 0 0 16 651 +652 652 653 651 0 0 16 652 +653 653 654 652 0 0 16 653 +654 654 655 653 0 0 16 654 +655 655 656 654 0 0 16 655 +656 656 657 655 0 0 16 656 +657 657 658 656 0 0 16 657 +658 658 659 657 0 0 16 658 +659 659 660 658 0 0 16 659 +660 660 661 659 0 0 16 660 +661 661 662 660 0 0 16 661 +662 662 663 661 0 0 16 662 +663 663 664 662 0 0 16 663 +664 664 665 663 0 0 16 664 +665 665 666 664 0 0 16 665 +666 666 667 665 0 0 16 666 +667 667 668 666 0 0 16 667 +668 668 669 667 0 0 16 668 +669 669 670 668 0 0 16 669 +670 670 671 669 0 0 16 670 +671 671 672 670 0 0 16 671 +672 672 673 671 0 0 16 672 +673 673 674 672 0 0 16 673 +674 674 675 673 0 0 16 674 +675 675 676 674 0 0 16 675 +676 676 677 675 0 0 16 676 +677 677 678 676 0 0 16 677 +678 678 679 677 0 0 16 678 +679 679 680 678 0 0 16 679 +680 680 681 679 0 0 16 680 +681 681 682 680 0 0 16 681 +682 682 683 681 0 0 16 682 +683 683 684 682 0 0 16 683 +684 684 685 683 0 0 16 684 +685 685 686 684 0 0 16 685 +686 686 687 685 0 0 16 686 +687 687 688 686 0 0 16 687 +688 688 689 687 0 0 16 688 +689 689 690 688 0 0 16 689 +690 690 691 689 0 0 16 690 +691 691 692 690 0 0 16 691 +692 692 693 691 0 0 16 692 +693 693 694 692 0 0 16 693 +694 694 695 693 0 0 16 694 +695 695 696 694 0 0 16 695 +696 696 697 695 0 0 16 696 +697 697 698 696 0 0 16 697 +698 698 699 697 0 0 16 698 +699 699 700 698 0 0 16 699 +700 700 701 699 0 0 16 700 +701 701 702 700 0 0 16 701 +702 702 703 701 0 0 16 702 +703 703 704 702 0 0 16 703 +704 704 705 703 0 0 16 704 +705 705 706 704 0 0 16 705 +706 706 707 705 0 0 16 706 +707 707 708 706 0 0 16 707 +708 708 709 707 0 0 16 708 +709 709 710 708 0 0 16 709 +710 710 711 709 0 0 16 710 +711 711 712 710 0 0 16 711 +712 712 713 711 0 0 16 712 +713 713 714 712 0 0 16 713 +714 714 715 713 0 0 16 714 +715 715 716 714 0 0 16 715 +716 716 717 715 0 0 16 716 +717 717 718 716 0 0 16 717 +718 718 719 717 0 0 16 718 +719 719 720 718 0 0 16 719 +720 720 721 719 0 0 16 720 +721 721 722 720 0 0 16 721 +722 722 723 721 0 0 16 722 +723 723 724 722 0 0 16 723 +724 724 725 723 0 0 16 724 +725 725 726 724 0 0 16 725 +726 726 727 725 0 0 16 726 +727 727 728 726 0 0 16 727 +728 728 729 727 0 0 16 728 +729 729 730 728 0 0 16 729 +730 730 731 729 0 0 16 730 +731 731 732 730 0 0 16 731 +732 732 733 731 0 0 16 732 +733 733 734 732 0 0 16 733 +734 734 735 733 0 0 16 734 +735 735 736 734 0 0 16 735 +736 736 737 735 0 0 16 736 +737 737 738 736 0 0 16 737 +738 738 739 737 0 0 16 738 +739 739 740 738 0 0 16 739 +740 740 741 739 0 0 16 740 +741 741 742 740 0 0 16 741 +742 742 743 741 0 0 16 742 +743 743 744 742 0 0 16 743 +744 744 745 743 0 0 16 744 +745 745 746 744 0 0 16 745 +746 746 747 745 0 0 16 746 +747 747 748 746 0 0 16 747 +748 748 749 747 0 0 16 748 +749 749 750 748 0 0 16 749 +750 750 751 749 0 0 16 750 +751 751 752 750 0 0 16 751 +752 752 753 751 0 0 16 752 +753 753 754 752 0 0 16 753 +754 754 755 753 0 0 16 754 +755 755 756 754 0 0 16 755 +756 756 757 755 0 0 16 756 +757 757 758 756 0 0 16 757 +758 758 759 757 0 0 16 758 +759 759 760 758 0 0 16 759 +760 760 761 759 0 0 16 760 +761 761 762 760 0 0 16 761 +762 762 763 761 0 0 16 762 +763 763 764 762 0 0 16 763 +764 764 765 763 0 0 16 764 +765 765 766 764 0 0 16 765 +766 766 767 765 0 0 16 766 +767 767 768 766 0 0 16 767 +768 768 769 767 0 0 16 768 +769 769 770 768 0 0 16 769 +770 770 771 769 0 0 16 770 +771 771 772 770 0 0 16 771 +772 772 773 771 0 0 16 772 +773 773 774 772 0 0 16 773 +774 774 775 773 0 0 16 774 +775 775 776 774 0 0 16 775 +776 776 777 775 0 0 16 776 +777 777 778 776 0 0 16 777 +778 778 779 777 0 0 16 778 +779 779 780 778 0 0 16 779 +780 780 781 779 0 0 16 780 +781 781 782 780 0 0 16 781 +782 782 783 781 0 0 16 782 +783 783 784 782 0 0 16 783 +784 784 785 783 0 0 16 784 +785 785 786 784 0 0 16 785 +786 786 787 785 0 0 16 786 +787 787 788 786 0 0 16 787 +788 788 789 787 0 0 16 788 +789 789 790 788 0 0 16 789 +790 790 791 789 0 0 16 790 +791 791 792 790 0 0 16 791 +792 792 793 791 0 0 16 792 +793 793 794 792 0 0 16 793 +794 794 795 793 0 0 16 794 +795 795 796 794 0 0 16 795 +796 796 797 795 0 0 16 796 +797 797 798 796 0 0 16 797 +798 798 799 797 0 0 16 798 +799 799 800 798 0 0 16 799 +800 800 801 799 0 0 16 800 +801 801 802 800 0 0 16 801 +802 802 803 801 0 0 16 802 +803 803 804 802 0 0 16 803 +804 804 805 803 0 0 16 804 +805 805 806 804 0 0 16 805 +806 806 807 805 0 0 16 806 +807 807 808 806 0 0 16 807 +808 808 809 807 0 0 16 808 +809 809 810 808 0 0 16 809 +810 810 811 809 0 0 16 810 +811 811 812 810 0 0 16 811 +812 812 813 811 0 0 16 812 +813 813 814 812 0 0 16 813 +814 814 815 813 0 0 16 814 +815 815 816 814 0 0 16 815 +816 816 817 815 0 0 16 816 +817 817 818 816 0 0 16 817 +818 818 819 817 0 0 16 818 +819 819 820 818 0 0 16 819 +820 820 821 819 0 0 16 820 +821 821 822 820 0 0 16 821 +822 822 823 821 0 0 16 822 +823 823 824 822 0 0 16 823 +824 824 825 823 0 0 16 824 +825 825 826 824 0 0 16 825 +826 826 827 825 0 0 16 826 +827 827 828 826 0 0 16 827 +828 828 829 827 0 0 16 828 +829 829 830 828 0 0 16 829 +830 830 831 829 0 0 16 830 +831 831 832 830 0 0 16 831 +832 832 833 831 0 0 16 832 +833 833 834 832 0 0 16 833 +834 834 835 833 0 0 16 834 +835 835 836 834 0 0 16 835 +836 836 837 835 0 0 16 836 +837 837 838 836 0 0 16 837 +838 838 839 837 0 0 16 838 +839 839 840 838 0 0 16 839 +840 840 841 839 0 0 16 840 +841 841 842 840 0 0 16 841 +842 842 843 841 0 0 16 842 +843 843 844 842 0 0 16 843 +844 844 845 843 0 0 16 844 +845 845 846 844 0 0 16 845 +846 846 847 845 0 0 16 846 +847 847 848 846 0 0 16 847 +848 848 849 847 0 0 16 848 +849 849 850 848 0 0 16 849 +850 850 851 849 0 0 16 850 +851 851 852 850 0 0 16 851 +852 852 853 851 0 0 16 852 +853 853 854 852 0 0 16 853 +854 854 855 853 0 0 16 854 +855 855 856 854 0 0 16 855 +856 856 857 855 0 0 16 856 +857 857 858 856 0 0 16 857 +858 858 859 857 0 0 16 858 +859 859 860 858 0 0 16 859 +860 860 861 859 0 0 16 860 +861 861 862 860 0 0 16 861 +862 862 863 861 0 0 16 862 +863 863 864 862 0 0 16 863 +864 864 865 863 0 0 16 864 +865 865 866 864 0 0 16 865 +866 866 867 865 0 0 16 866 +867 867 868 866 0 0 16 867 +868 868 869 867 0 0 16 868 +869 869 870 868 0 0 16 869 +870 870 871 869 0 0 16 870 +871 871 872 870 0 0 16 871 +872 872 873 871 0 0 16 872 +873 873 874 872 0 0 16 873 +874 874 875 873 0 0 16 874 +875 875 876 874 0 0 16 875 +876 876 877 875 0 0 16 876 +877 877 878 876 0 0 16 877 +878 878 879 877 0 0 16 878 +879 879 880 878 0 0 16 879 +880 880 881 879 0 0 16 880 +881 881 882 880 0 0 16 881 +882 882 883 881 0 0 16 882 +883 883 884 882 0 0 16 883 +884 884 885 883 0 0 16 884 +885 885 886 884 0 0 16 885 +886 886 887 885 0 0 16 886 +887 887 888 886 0 0 16 887 +888 888 889 887 0 0 16 888 +889 889 890 888 0 0 16 889 +890 890 891 889 0 0 16 890 +891 891 892 890 0 0 16 891 +892 892 893 891 0 0 16 892 +893 893 894 892 0 0 16 893 +894 894 895 893 0 0 16 894 +895 895 896 894 0 0 16 895 +896 896 897 895 0 0 16 896 +897 897 898 896 0 0 16 897 +898 898 899 897 0 0 16 898 +899 899 900 898 0 0 16 899 +900 900 901 899 0 0 16 900 +901 901 902 900 0 0 16 901 +902 902 903 901 0 0 16 902 +903 903 904 902 0 0 16 903 +904 904 905 903 0 0 16 904 +905 905 906 904 0 0 16 905 +906 906 907 905 0 0 16 906 +907 907 908 906 0 0 16 907 +908 908 909 907 0 0 16 908 +909 909 910 908 0 0 16 909 +910 910 911 909 0 0 16 910 +911 911 912 910 0 0 16 911 +912 912 913 911 0 0 16 912 +913 913 914 912 0 0 16 913 +914 914 915 913 0 0 16 914 +915 915 916 914 0 0 16 915 +916 916 917 915 0 0 16 916 +917 917 918 916 0 0 16 917 +918 918 919 917 0 0 16 918 +919 919 920 918 0 0 16 919 +920 920 921 919 0 0 16 920 +921 921 922 920 0 0 16 921 +922 922 923 921 0 0 16 922 +923 923 924 922 0 0 16 923 +924 924 925 923 0 0 16 924 +925 925 926 924 0 0 16 925 +926 926 927 925 0 0 16 926 +927 927 928 926 0 0 16 927 +928 928 929 927 0 0 16 928 +929 929 930 928 0 0 16 929 +930 930 931 929 0 0 16 930 +931 931 932 930 0 0 16 931 +932 932 933 931 0 0 16 932 +933 933 934 932 0 0 16 933 +934 934 935 933 0 0 16 934 +935 935 936 934 0 0 16 935 +936 936 937 935 0 0 16 936 +937 937 938 936 0 0 16 937 +938 938 939 937 0 0 16 938 +939 939 940 938 0 0 16 939 +940 940 941 939 0 0 16 940 +941 941 942 940 0 0 16 941 +942 942 943 941 0 0 16 942 +943 943 944 942 0 0 16 943 +944 944 945 943 0 0 16 944 +945 945 946 944 0 0 16 945 +946 946 947 945 0 0 16 946 +947 947 948 946 0 0 16 947 +948 948 949 947 0 0 16 948 +949 949 950 948 0 0 16 949 +950 950 951 949 0 0 16 950 +951 951 952 950 0 0 16 951 +952 952 953 951 0 0 16 952 +953 953 954 952 0 0 16 953 +954 954 955 953 0 0 16 954 +955 955 956 954 0 0 16 955 +956 956 957 955 0 0 16 956 +957 957 958 956 0 0 16 957 +958 958 959 957 0 0 16 958 +959 959 960 958 0 0 16 959 +960 960 961 959 0 0 16 960 +961 961 962 960 0 0 16 961 +962 962 963 961 0 0 16 962 +963 963 964 962 0 0 16 963 +964 964 965 963 0 0 16 964 +965 965 966 964 0 0 16 965 +966 966 967 965 0 0 16 966 +967 967 968 966 0 0 16 967 +968 968 969 967 0 0 16 968 +969 969 970 968 0 0 16 969 +970 970 971 969 0 0 16 970 +971 971 972 970 0 0 16 971 +972 972 973 971 0 0 16 972 +973 973 974 972 0 0 16 973 +974 974 975 973 0 0 16 974 +975 975 976 974 0 0 16 975 +976 976 977 975 0 0 16 976 +977 977 978 976 0 0 16 977 +978 978 979 977 0 0 16 978 +979 979 980 978 0 0 16 979 +980 980 981 979 0 0 16 980 +981 981 982 980 0 0 16 981 +982 982 983 981 0 0 16 982 +983 983 984 982 0 0 16 983 +984 984 985 983 0 0 16 984 +985 985 986 984 0 0 16 985 +986 986 987 985 0 0 16 986 +987 987 988 986 0 0 16 987 +988 988 989 987 0 0 16 988 +989 989 990 988 0 0 16 989 +990 990 991 989 0 0 16 990 +991 991 992 990 0 0 16 991 +992 992 993 991 0 0 16 992 +993 993 994 992 0 0 16 993 +994 994 995 993 0 0 16 994 +995 995 996 994 0 0 16 995 +996 996 997 995 0 0 16 996 +997 997 998 996 0 0 16 997 +998 998 999 997 0 0 16 998 +999 999 1000 998 0 0 16 999 +1000 1000 1001 999 0 0 16 1000 +1001 1001 1002 1000 0 0 16 1001 +1002 1002 1003 1001 0 0 16 1002 +1003 1003 1004 1002 0 0 16 1003 +1004 1004 1005 1003 0 0 16 1004 +1005 1005 1006 1004 0 0 16 1005 +1006 1006 1007 1005 0 0 16 1006 +1007 1007 1008 1006 0 0 16 1007 +1008 1008 1009 1007 0 0 16 1008 +1009 1009 1010 1008 0 0 16 1009 +1010 1010 1011 1009 0 0 16 1010 +1011 1011 1012 1010 0 0 16 1011 +1012 1012 1013 1011 0 0 16 1012 +1013 1013 1014 1012 0 0 16 1013 +1014 1014 1015 1013 0 0 16 1014 +1015 1015 1016 1014 0 0 16 1015 +1016 1016 1017 1015 0 0 16 1016 +1017 1017 1018 1016 0 0 16 1017 +1018 1018 1019 1017 0 0 16 1018 +1019 1019 1020 1018 0 0 16 1019 +1020 1020 1021 1019 0 0 16 1020 +1021 1021 1022 1020 0 0 16 1021 +1022 1022 1023 1021 0 0 16 1022 +1023 1023 -1 1022 0 0 16 1023 +====================================================== +=== [Queue after-refilling-0] Next: 1 First: 1 Last: 0 +# seq next prev timeout retrans type cbp +0 0 -1 1023 0 0 16 0 +1 1 2 -1 0 0 16 1 +2 2 3 1 0 0 16 2 +3 3 4 2 0 0 16 3 +4 4 5 3 0 0 16 4 +5 5 6 4 0 0 16 5 +6 6 7 5 0 0 16 6 +7 7 8 6 0 0 16 7 +8 8 9 7 0 0 16 8 +9 9 10 8 0 0 16 9 +10 10 11 9 0 0 16 10 +11 11 12 10 0 0 16 11 +12 12 13 11 0 0 16 12 +13 13 14 12 0 0 16 13 +14 14 15 13 0 0 16 14 +15 15 16 14 0 0 16 15 +16 16 17 15 0 0 16 16 +17 17 18 16 0 0 16 17 +18 18 19 17 0 0 16 18 +19 19 20 18 0 0 16 19 +20 20 21 19 0 0 16 20 +21 21 22 20 0 0 16 21 +22 22 23 21 0 0 16 22 +23 23 24 22 0 0 16 23 +24 24 25 23 0 0 16 24 +25 25 26 24 0 0 16 25 +26 26 27 25 0 0 16 26 +27 27 28 26 0 0 16 27 +28 28 29 27 0 0 16 28 +29 29 30 28 0 0 16 29 +30 30 31 29 0 0 16 30 +31 31 32 30 0 0 16 31 +32 32 33 31 0 0 16 32 +33 33 34 32 0 0 16 33 +34 34 35 33 0 0 16 34 +35 35 36 34 0 0 16 35 +36 36 37 35 0 0 16 36 +37 37 38 36 0 0 16 37 +38 38 39 37 0 0 16 38 +39 39 40 38 0 0 16 39 +40 40 41 39 0 0 16 40 +41 41 42 40 0 0 16 41 +42 42 43 41 0 0 16 42 +43 43 44 42 0 0 16 43 +44 44 45 43 0 0 16 44 +45 45 46 44 0 0 16 45 +46 46 47 45 0 0 16 46 +47 47 48 46 0 0 16 47 +48 48 49 47 0 0 16 48 +49 49 50 48 0 0 16 49 +50 50 51 49 0 0 16 50 +51 51 52 50 0 0 16 51 +52 52 53 51 0 0 16 52 +53 53 54 52 0 0 16 53 +54 54 55 53 0 0 16 54 +55 55 56 54 0 0 16 55 +56 56 57 55 0 0 16 56 +57 57 58 56 0 0 16 57 +58 58 59 57 0 0 16 58 +59 59 60 58 0 0 16 59 +60 60 61 59 0 0 16 60 +61 61 62 60 0 0 16 61 +62 62 63 61 0 0 16 62 +63 63 64 62 0 0 16 63 +64 64 65 63 0 0 16 64 +65 65 66 64 0 0 16 65 +66 66 67 65 0 0 16 66 +67 67 68 66 0 0 16 67 +68 68 69 67 0 0 16 68 +69 69 70 68 0 0 16 69 +70 70 71 69 0 0 16 70 +71 71 72 70 0 0 16 71 +72 72 73 71 0 0 16 72 +73 73 74 72 0 0 16 73 +74 74 75 73 0 0 16 74 +75 75 76 74 0 0 16 75 +76 76 77 75 0 0 16 76 +77 77 78 76 0 0 16 77 +78 78 79 77 0 0 16 78 +79 79 80 78 0 0 16 79 +80 80 81 79 0 0 16 80 +81 81 82 80 0 0 16 81 +82 82 83 81 0 0 16 82 +83 83 84 82 0 0 16 83 +84 84 85 83 0 0 16 84 +85 85 86 84 0 0 16 85 +86 86 87 85 0 0 16 86 +87 87 88 86 0 0 16 87 +88 88 89 87 0 0 16 88 +89 89 90 88 0 0 16 89 +90 90 91 89 0 0 16 90 +91 91 92 90 0 0 16 91 +92 92 93 91 0 0 16 92 +93 93 94 92 0 0 16 93 +94 94 95 93 0 0 16 94 +95 95 96 94 0 0 16 95 +96 96 97 95 0 0 16 96 +97 97 98 96 0 0 16 97 +98 98 99 97 0 0 16 98 +99 99 100 98 0 0 16 99 +100 100 101 99 0 0 16 100 +101 101 102 100 0 0 16 101 +102 102 103 101 0 0 16 102 +103 103 104 102 0 0 16 103 +104 104 105 103 0 0 16 104 +105 105 106 104 0 0 16 105 +106 106 107 105 0 0 16 106 +107 107 108 106 0 0 16 107 +108 108 109 107 0 0 16 108 +109 109 110 108 0 0 16 109 +110 110 111 109 0 0 16 110 +111 111 112 110 0 0 16 111 +112 112 113 111 0 0 16 112 +113 113 114 112 0 0 16 113 +114 114 115 113 0 0 16 114 +115 115 116 114 0 0 16 115 +116 116 117 115 0 0 16 116 +117 117 118 116 0 0 16 117 +118 118 119 117 0 0 16 118 +119 119 120 118 0 0 16 119 +120 120 121 119 0 0 16 120 +121 121 122 120 0 0 16 121 +122 122 123 121 0 0 16 122 +123 123 124 122 0 0 16 123 +124 124 125 123 0 0 16 124 +125 125 126 124 0 0 16 125 +126 126 127 125 0 0 16 126 +127 127 128 126 0 0 16 127 +128 128 129 127 0 0 16 128 +129 129 130 128 0 0 16 129 +130 130 131 129 0 0 16 130 +131 131 132 130 0 0 16 131 +132 132 133 131 0 0 16 132 +133 133 134 132 0 0 16 133 +134 134 135 133 0 0 16 134 +135 135 136 134 0 0 16 135 +136 136 137 135 0 0 16 136 +137 137 138 136 0 0 16 137 +138 138 139 137 0 0 16 138 +139 139 140 138 0 0 16 139 +140 140 141 139 0 0 16 140 +141 141 142 140 0 0 16 141 +142 142 143 141 0 0 16 142 +143 143 144 142 0 0 16 143 +144 144 145 143 0 0 16 144 +145 145 146 144 0 0 16 145 +146 146 147 145 0 0 16 146 +147 147 148 146 0 0 16 147 +148 148 149 147 0 0 16 148 +149 149 150 148 0 0 16 149 +150 150 151 149 0 0 16 150 +151 151 152 150 0 0 16 151 +152 152 153 151 0 0 16 152 +153 153 154 152 0 0 16 153 +154 154 155 153 0 0 16 154 +155 155 156 154 0 0 16 155 +156 156 157 155 0 0 16 156 +157 157 158 156 0 0 16 157 +158 158 159 157 0 0 16 158 +159 159 160 158 0 0 16 159 +160 160 161 159 0 0 16 160 +161 161 162 160 0 0 16 161 +162 162 163 161 0 0 16 162 +163 163 164 162 0 0 16 163 +164 164 165 163 0 0 16 164 +165 165 166 164 0 0 16 165 +166 166 167 165 0 0 16 166 +167 167 168 166 0 0 16 167 +168 168 169 167 0 0 16 168 +169 169 170 168 0 0 16 169 +170 170 171 169 0 0 16 170 +171 171 172 170 0 0 16 171 +172 172 173 171 0 0 16 172 +173 173 174 172 0 0 16 173 +174 174 175 173 0 0 16 174 +175 175 176 174 0 0 16 175 +176 176 177 175 0 0 16 176 +177 177 178 176 0 0 16 177 +178 178 179 177 0 0 16 178 +179 179 180 178 0 0 16 179 +180 180 181 179 0 0 16 180 +181 181 182 180 0 0 16 181 +182 182 183 181 0 0 16 182 +183 183 184 182 0 0 16 183 +184 184 185 183 0 0 16 184 +185 185 186 184 0 0 16 185 +186 186 187 185 0 0 16 186 +187 187 188 186 0 0 16 187 +188 188 189 187 0 0 16 188 +189 189 190 188 0 0 16 189 +190 190 191 189 0 0 16 190 +191 191 192 190 0 0 16 191 +192 192 193 191 0 0 16 192 +193 193 194 192 0 0 16 193 +194 194 195 193 0 0 16 194 +195 195 196 194 0 0 16 195 +196 196 197 195 0 0 16 196 +197 197 198 196 0 0 16 197 +198 198 199 197 0 0 16 198 +199 199 200 198 0 0 16 199 +200 200 201 199 0 0 16 200 +201 201 202 200 0 0 16 201 +202 202 203 201 0 0 16 202 +203 203 204 202 0 0 16 203 +204 204 205 203 0 0 16 204 +205 205 206 204 0 0 16 205 +206 206 207 205 0 0 16 206 +207 207 208 206 0 0 16 207 +208 208 209 207 0 0 16 208 +209 209 210 208 0 0 16 209 +210 210 211 209 0 0 16 210 +211 211 212 210 0 0 16 211 +212 212 213 211 0 0 16 212 +213 213 214 212 0 0 16 213 +214 214 215 213 0 0 16 214 +215 215 216 214 0 0 16 215 +216 216 217 215 0 0 16 216 +217 217 218 216 0 0 16 217 +218 218 219 217 0 0 16 218 +219 219 220 218 0 0 16 219 +220 220 221 219 0 0 16 220 +221 221 222 220 0 0 16 221 +222 222 223 221 0 0 16 222 +223 223 224 222 0 0 16 223 +224 224 225 223 0 0 16 224 +225 225 226 224 0 0 16 225 +226 226 227 225 0 0 16 226 +227 227 228 226 0 0 16 227 +228 228 229 227 0 0 16 228 +229 229 230 228 0 0 16 229 +230 230 231 229 0 0 16 230 +231 231 232 230 0 0 16 231 +232 232 233 231 0 0 16 232 +233 233 234 232 0 0 16 233 +234 234 235 233 0 0 16 234 +235 235 236 234 0 0 16 235 +236 236 237 235 0 0 16 236 +237 237 238 236 0 0 16 237 +238 238 239 237 0 0 16 238 +239 239 240 238 0 0 16 239 +240 240 241 239 0 0 16 240 +241 241 242 240 0 0 16 241 +242 242 243 241 0 0 16 242 +243 243 244 242 0 0 16 243 +244 244 245 243 0 0 16 244 +245 245 246 244 0 0 16 245 +246 246 247 245 0 0 16 246 +247 247 248 246 0 0 16 247 +248 248 249 247 0 0 16 248 +249 249 250 248 0 0 16 249 +250 250 251 249 0 0 16 250 +251 251 252 250 0 0 16 251 +252 252 253 251 0 0 16 252 +253 253 254 252 0 0 16 253 +254 254 255 253 0 0 16 254 +255 255 256 254 0 0 16 255 +256 256 257 255 0 0 16 256 +257 257 258 256 0 0 16 257 +258 258 259 257 0 0 16 258 +259 259 260 258 0 0 16 259 +260 260 261 259 0 0 16 260 +261 261 262 260 0 0 16 261 +262 262 263 261 0 0 16 262 +263 263 264 262 0 0 16 263 +264 264 265 263 0 0 16 264 +265 265 266 264 0 0 16 265 +266 266 267 265 0 0 16 266 +267 267 268 266 0 0 16 267 +268 268 269 267 0 0 16 268 +269 269 270 268 0 0 16 269 +270 270 271 269 0 0 16 270 +271 271 272 270 0 0 16 271 +272 272 273 271 0 0 16 272 +273 273 274 272 0 0 16 273 +274 274 275 273 0 0 16 274 +275 275 276 274 0 0 16 275 +276 276 277 275 0 0 16 276 +277 277 278 276 0 0 16 277 +278 278 279 277 0 0 16 278 +279 279 280 278 0 0 16 279 +280 280 281 279 0 0 16 280 +281 281 282 280 0 0 16 281 +282 282 283 281 0 0 16 282 +283 283 284 282 0 0 16 283 +284 284 285 283 0 0 16 284 +285 285 286 284 0 0 16 285 +286 286 287 285 0 0 16 286 +287 287 288 286 0 0 16 287 +288 288 289 287 0 0 16 288 +289 289 290 288 0 0 16 289 +290 290 291 289 0 0 16 290 +291 291 292 290 0 0 16 291 +292 292 293 291 0 0 16 292 +293 293 294 292 0 0 16 293 +294 294 295 293 0 0 16 294 +295 295 296 294 0 0 16 295 +296 296 297 295 0 0 16 296 +297 297 298 296 0 0 16 297 +298 298 299 297 0 0 16 298 +299 299 300 298 0 0 16 299 +300 300 301 299 0 0 16 300 +301 301 302 300 0 0 16 301 +302 302 303 301 0 0 16 302 +303 303 304 302 0 0 16 303 +304 304 305 303 0 0 16 304 +305 305 306 304 0 0 16 305 +306 306 307 305 0 0 16 306 +307 307 308 306 0 0 16 307 +308 308 309 307 0 0 16 308 +309 309 310 308 0 0 16 309 +310 310 311 309 0 0 16 310 +311 311 312 310 0 0 16 311 +312 312 313 311 0 0 16 312 +313 313 314 312 0 0 16 313 +314 314 315 313 0 0 16 314 +315 315 316 314 0 0 16 315 +316 316 317 315 0 0 16 316 +317 317 318 316 0 0 16 317 +318 318 319 317 0 0 16 318 +319 319 320 318 0 0 16 319 +320 320 321 319 0 0 16 320 +321 321 322 320 0 0 16 321 +322 322 323 321 0 0 16 322 +323 323 324 322 0 0 16 323 +324 324 325 323 0 0 16 324 +325 325 326 324 0 0 16 325 +326 326 327 325 0 0 16 326 +327 327 328 326 0 0 16 327 +328 328 329 327 0 0 16 328 +329 329 330 328 0 0 16 329 +330 330 331 329 0 0 16 330 +331 331 332 330 0 0 16 331 +332 332 333 331 0 0 16 332 +333 333 334 332 0 0 16 333 +334 334 335 333 0 0 16 334 +335 335 336 334 0 0 16 335 +336 336 337 335 0 0 16 336 +337 337 338 336 0 0 16 337 +338 338 339 337 0 0 16 338 +339 339 340 338 0 0 16 339 +340 340 341 339 0 0 16 340 +341 341 342 340 0 0 16 341 +342 342 343 341 0 0 16 342 +343 343 344 342 0 0 16 343 +344 344 345 343 0 0 16 344 +345 345 346 344 0 0 16 345 +346 346 347 345 0 0 16 346 +347 347 348 346 0 0 16 347 +348 348 349 347 0 0 16 348 +349 349 350 348 0 0 16 349 +350 350 351 349 0 0 16 350 +351 351 352 350 0 0 16 351 +352 352 353 351 0 0 16 352 +353 353 354 352 0 0 16 353 +354 354 355 353 0 0 16 354 +355 355 356 354 0 0 16 355 +356 356 357 355 0 0 16 356 +357 357 358 356 0 0 16 357 +358 358 359 357 0 0 16 358 +359 359 360 358 0 0 16 359 +360 360 361 359 0 0 16 360 +361 361 362 360 0 0 16 361 +362 362 363 361 0 0 16 362 +363 363 364 362 0 0 16 363 +364 364 365 363 0 0 16 364 +365 365 366 364 0 0 16 365 +366 366 367 365 0 0 16 366 +367 367 368 366 0 0 16 367 +368 368 369 367 0 0 16 368 +369 369 370 368 0 0 16 369 +370 370 371 369 0 0 16 370 +371 371 372 370 0 0 16 371 +372 372 373 371 0 0 16 372 +373 373 374 372 0 0 16 373 +374 374 375 373 0 0 16 374 +375 375 376 374 0 0 16 375 +376 376 377 375 0 0 16 376 +377 377 378 376 0 0 16 377 +378 378 379 377 0 0 16 378 +379 379 380 378 0 0 16 379 +380 380 381 379 0 0 16 380 +381 381 382 380 0 0 16 381 +382 382 383 381 0 0 16 382 +383 383 384 382 0 0 16 383 +384 384 385 383 0 0 16 384 +385 385 386 384 0 0 16 385 +386 386 387 385 0 0 16 386 +387 387 388 386 0 0 16 387 +388 388 389 387 0 0 16 388 +389 389 390 388 0 0 16 389 +390 390 391 389 0 0 16 390 +391 391 392 390 0 0 16 391 +392 392 393 391 0 0 16 392 +393 393 394 392 0 0 16 393 +394 394 395 393 0 0 16 394 +395 395 396 394 0 0 16 395 +396 396 397 395 0 0 16 396 +397 397 398 396 0 0 16 397 +398 398 399 397 0 0 16 398 +399 399 400 398 0 0 16 399 +400 400 401 399 0 0 16 400 +401 401 402 400 0 0 16 401 +402 402 403 401 0 0 16 402 +403 403 404 402 0 0 16 403 +404 404 405 403 0 0 16 404 +405 405 406 404 0 0 16 405 +406 406 407 405 0 0 16 406 +407 407 408 406 0 0 16 407 +408 408 409 407 0 0 16 408 +409 409 410 408 0 0 16 409 +410 410 411 409 0 0 16 410 +411 411 412 410 0 0 16 411 +412 412 413 411 0 0 16 412 +413 413 414 412 0 0 16 413 +414 414 415 413 0 0 16 414 +415 415 416 414 0 0 16 415 +416 416 417 415 0 0 16 416 +417 417 418 416 0 0 16 417 +418 418 419 417 0 0 16 418 +419 419 420 418 0 0 16 419 +420 420 421 419 0 0 16 420 +421 421 422 420 0 0 16 421 +422 422 423 421 0 0 16 422 +423 423 424 422 0 0 16 423 +424 424 425 423 0 0 16 424 +425 425 426 424 0 0 16 425 +426 426 427 425 0 0 16 426 +427 427 428 426 0 0 16 427 +428 428 429 427 0 0 16 428 +429 429 430 428 0 0 16 429 +430 430 431 429 0 0 16 430 +431 431 432 430 0 0 16 431 +432 432 433 431 0 0 16 432 +433 433 434 432 0 0 16 433 +434 434 435 433 0 0 16 434 +435 435 436 434 0 0 16 435 +436 436 437 435 0 0 16 436 +437 437 438 436 0 0 16 437 +438 438 439 437 0 0 16 438 +439 439 440 438 0 0 16 439 +440 440 441 439 0 0 16 440 +441 441 442 440 0 0 16 441 +442 442 443 441 0 0 16 442 +443 443 444 442 0 0 16 443 +444 444 445 443 0 0 16 444 +445 445 446 444 0 0 16 445 +446 446 447 445 0 0 16 446 +447 447 448 446 0 0 16 447 +448 448 449 447 0 0 16 448 +449 449 450 448 0 0 16 449 +450 450 451 449 0 0 16 450 +451 451 452 450 0 0 16 451 +452 452 453 451 0 0 16 452 +453 453 454 452 0 0 16 453 +454 454 455 453 0 0 16 454 +455 455 456 454 0 0 16 455 +456 456 457 455 0 0 16 456 +457 457 458 456 0 0 16 457 +458 458 459 457 0 0 16 458 +459 459 460 458 0 0 16 459 +460 460 461 459 0 0 16 460 +461 461 462 460 0 0 16 461 +462 462 463 461 0 0 16 462 +463 463 464 462 0 0 16 463 +464 464 465 463 0 0 16 464 +465 465 466 464 0 0 16 465 +466 466 467 465 0 0 16 466 +467 467 468 466 0 0 16 467 +468 468 469 467 0 0 16 468 +469 469 470 468 0 0 16 469 +470 470 471 469 0 0 16 470 +471 471 472 470 0 0 16 471 +472 472 473 471 0 0 16 472 +473 473 474 472 0 0 16 473 +474 474 475 473 0 0 16 474 +475 475 476 474 0 0 16 475 +476 476 477 475 0 0 16 476 +477 477 478 476 0 0 16 477 +478 478 479 477 0 0 16 478 +479 479 480 478 0 0 16 479 +480 480 481 479 0 0 16 480 +481 481 482 480 0 0 16 481 +482 482 483 481 0 0 16 482 +483 483 484 482 0 0 16 483 +484 484 485 483 0 0 16 484 +485 485 486 484 0 0 16 485 +486 486 487 485 0 0 16 486 +487 487 488 486 0 0 16 487 +488 488 489 487 0 0 16 488 +489 489 490 488 0 0 16 489 +490 490 491 489 0 0 16 490 +491 491 492 490 0 0 16 491 +492 492 493 491 0 0 16 492 +493 493 494 492 0 0 16 493 +494 494 495 493 0 0 16 494 +495 495 496 494 0 0 16 495 +496 496 497 495 0 0 16 496 +497 497 498 496 0 0 16 497 +498 498 499 497 0 0 16 498 +499 499 500 498 0 0 16 499 +500 500 501 499 0 0 16 500 +501 501 502 500 0 0 16 501 +502 502 503 501 0 0 16 502 +503 503 504 502 0 0 16 503 +504 504 505 503 0 0 16 504 +505 505 506 504 0 0 16 505 +506 506 507 505 0 0 16 506 +507 507 508 506 0 0 16 507 +508 508 509 507 0 0 16 508 +509 509 510 508 0 0 16 509 +510 510 511 509 0 0 16 510 +511 511 512 510 0 0 16 511 +512 512 513 511 0 0 16 512 +513 513 514 512 0 0 16 513 +514 514 515 513 0 0 16 514 +515 515 516 514 0 0 16 515 +516 516 517 515 0 0 16 516 +517 517 518 516 0 0 16 517 +518 518 519 517 0 0 16 518 +519 519 520 518 0 0 16 519 +520 520 521 519 0 0 16 520 +521 521 522 520 0 0 16 521 +522 522 523 521 0 0 16 522 +523 523 524 522 0 0 16 523 +524 524 525 523 0 0 16 524 +525 525 526 524 0 0 16 525 +526 526 527 525 0 0 16 526 +527 527 528 526 0 0 16 527 +528 528 529 527 0 0 16 528 +529 529 530 528 0 0 16 529 +530 530 531 529 0 0 16 530 +531 531 532 530 0 0 16 531 +532 532 533 531 0 0 16 532 +533 533 534 532 0 0 16 533 +534 534 535 533 0 0 16 534 +535 535 536 534 0 0 16 535 +536 536 537 535 0 0 16 536 +537 537 538 536 0 0 16 537 +538 538 539 537 0 0 16 538 +539 539 540 538 0 0 16 539 +540 540 541 539 0 0 16 540 +541 541 542 540 0 0 16 541 +542 542 543 541 0 0 16 542 +543 543 544 542 0 0 16 543 +544 544 545 543 0 0 16 544 +545 545 546 544 0 0 16 545 +546 546 547 545 0 0 16 546 +547 547 548 546 0 0 16 547 +548 548 549 547 0 0 16 548 +549 549 550 548 0 0 16 549 +550 550 551 549 0 0 16 550 +551 551 552 550 0 0 16 551 +552 552 553 551 0 0 16 552 +553 553 554 552 0 0 16 553 +554 554 555 553 0 0 16 554 +555 555 556 554 0 0 16 555 +556 556 557 555 0 0 16 556 +557 557 558 556 0 0 16 557 +558 558 559 557 0 0 16 558 +559 559 560 558 0 0 16 559 +560 560 561 559 0 0 16 560 +561 561 562 560 0 0 16 561 +562 562 563 561 0 0 16 562 +563 563 564 562 0 0 16 563 +564 564 565 563 0 0 16 564 +565 565 566 564 0 0 16 565 +566 566 567 565 0 0 16 566 +567 567 568 566 0 0 16 567 +568 568 569 567 0 0 16 568 +569 569 570 568 0 0 16 569 +570 570 571 569 0 0 16 570 +571 571 572 570 0 0 16 571 +572 572 573 571 0 0 16 572 +573 573 574 572 0 0 16 573 +574 574 575 573 0 0 16 574 +575 575 576 574 0 0 16 575 +576 576 577 575 0 0 16 576 +577 577 578 576 0 0 16 577 +578 578 579 577 0 0 16 578 +579 579 580 578 0 0 16 579 +580 580 581 579 0 0 16 580 +581 581 582 580 0 0 16 581 +582 582 583 581 0 0 16 582 +583 583 584 582 0 0 16 583 +584 584 585 583 0 0 16 584 +585 585 586 584 0 0 16 585 +586 586 587 585 0 0 16 586 +587 587 588 586 0 0 16 587 +588 588 589 587 0 0 16 588 +589 589 590 588 0 0 16 589 +590 590 591 589 0 0 16 590 +591 591 592 590 0 0 16 591 +592 592 593 591 0 0 16 592 +593 593 594 592 0 0 16 593 +594 594 595 593 0 0 16 594 +595 595 596 594 0 0 16 595 +596 596 597 595 0 0 16 596 +597 597 598 596 0 0 16 597 +598 598 599 597 0 0 16 598 +599 599 600 598 0 0 16 599 +600 600 601 599 0 0 16 600 +601 601 602 600 0 0 16 601 +602 602 603 601 0 0 16 602 +603 603 604 602 0 0 16 603 +604 604 605 603 0 0 16 604 +605 605 606 604 0 0 16 605 +606 606 607 605 0 0 16 606 +607 607 608 606 0 0 16 607 +608 608 609 607 0 0 16 608 +609 609 610 608 0 0 16 609 +610 610 611 609 0 0 16 610 +611 611 612 610 0 0 16 611 +612 612 613 611 0 0 16 612 +613 613 614 612 0 0 16 613 +614 614 615 613 0 0 16 614 +615 615 616 614 0 0 16 615 +616 616 617 615 0 0 16 616 +617 617 618 616 0 0 16 617 +618 618 619 617 0 0 16 618 +619 619 620 618 0 0 16 619 +620 620 621 619 0 0 16 620 +621 621 622 620 0 0 16 621 +622 622 623 621 0 0 16 622 +623 623 624 622 0 0 16 623 +624 624 625 623 0 0 16 624 +625 625 626 624 0 0 16 625 +626 626 627 625 0 0 16 626 +627 627 628 626 0 0 16 627 +628 628 629 627 0 0 16 628 +629 629 630 628 0 0 16 629 +630 630 631 629 0 0 16 630 +631 631 632 630 0 0 16 631 +632 632 633 631 0 0 16 632 +633 633 634 632 0 0 16 633 +634 634 635 633 0 0 16 634 +635 635 636 634 0 0 16 635 +636 636 637 635 0 0 16 636 +637 637 638 636 0 0 16 637 +638 638 639 637 0 0 16 638 +639 639 640 638 0 0 16 639 +640 640 641 639 0 0 16 640 +641 641 642 640 0 0 16 641 +642 642 643 641 0 0 16 642 +643 643 644 642 0 0 16 643 +644 644 645 643 0 0 16 644 +645 645 646 644 0 0 16 645 +646 646 647 645 0 0 16 646 +647 647 648 646 0 0 16 647 +648 648 649 647 0 0 16 648 +649 649 650 648 0 0 16 649 +650 650 651 649 0 0 16 650 +651 651 652 650 0 0 16 651 +652 652 653 651 0 0 16 652 +653 653 654 652 0 0 16 653 +654 654 655 653 0 0 16 654 +655 655 656 654 0 0 16 655 +656 656 657 655 0 0 16 656 +657 657 658 656 0 0 16 657 +658 658 659 657 0 0 16 658 +659 659 660 658 0 0 16 659 +660 660 661 659 0 0 16 660 +661 661 662 660 0 0 16 661 +662 662 663 661 0 0 16 662 +663 663 664 662 0 0 16 663 +664 664 665 663 0 0 16 664 +665 665 666 664 0 0 16 665 +666 666 667 665 0 0 16 666 +667 667 668 666 0 0 16 667 +668 668 669 667 0 0 16 668 +669 669 670 668 0 0 16 669 +670 670 671 669 0 0 16 670 +671 671 672 670 0 0 16 671 +672 672 673 671 0 0 16 672 +673 673 674 672 0 0 16 673 +674 674 675 673 0 0 16 674 +675 675 676 674 0 0 16 675 +676 676 677 675 0 0 16 676 +677 677 678 676 0 0 16 677 +678 678 679 677 0 0 16 678 +679 679 680 678 0 0 16 679 +680 680 681 679 0 0 16 680 +681 681 682 680 0 0 16 681 +682 682 683 681 0 0 16 682 +683 683 684 682 0 0 16 683 +684 684 685 683 0 0 16 684 +685 685 686 684 0 0 16 685 +686 686 687 685 0 0 16 686 +687 687 688 686 0 0 16 687 +688 688 689 687 0 0 16 688 +689 689 690 688 0 0 16 689 +690 690 691 689 0 0 16 690 +691 691 692 690 0 0 16 691 +692 692 693 691 0 0 16 692 +693 693 694 692 0 0 16 693 +694 694 695 693 0 0 16 694 +695 695 696 694 0 0 16 695 +696 696 697 695 0 0 16 696 +697 697 698 696 0 0 16 697 +698 698 699 697 0 0 16 698 +699 699 700 698 0 0 16 699 +700 700 701 699 0 0 16 700 +701 701 702 700 0 0 16 701 +702 702 703 701 0 0 16 702 +703 703 704 702 0 0 16 703 +704 704 705 703 0 0 16 704 +705 705 706 704 0 0 16 705 +706 706 707 705 0 0 16 706 +707 707 708 706 0 0 16 707 +708 708 709 707 0 0 16 708 +709 709 710 708 0 0 16 709 +710 710 711 709 0 0 16 710 +711 711 712 710 0 0 16 711 +712 712 713 711 0 0 16 712 +713 713 714 712 0 0 16 713 +714 714 715 713 0 0 16 714 +715 715 716 714 0 0 16 715 +716 716 717 715 0 0 16 716 +717 717 718 716 0 0 16 717 +718 718 719 717 0 0 16 718 +719 719 720 718 0 0 16 719 +720 720 721 719 0 0 16 720 +721 721 722 720 0 0 16 721 +722 722 723 721 0 0 16 722 +723 723 724 722 0 0 16 723 +724 724 725 723 0 0 16 724 +725 725 726 724 0 0 16 725 +726 726 727 725 0 0 16 726 +727 727 728 726 0 0 16 727 +728 728 729 727 0 0 16 728 +729 729 730 728 0 0 16 729 +730 730 731 729 0 0 16 730 +731 731 732 730 0 0 16 731 +732 732 733 731 0 0 16 732 +733 733 734 732 0 0 16 733 +734 734 735 733 0 0 16 734 +735 735 736 734 0 0 16 735 +736 736 737 735 0 0 16 736 +737 737 738 736 0 0 16 737 +738 738 739 737 0 0 16 738 +739 739 740 738 0 0 16 739 +740 740 741 739 0 0 16 740 +741 741 742 740 0 0 16 741 +742 742 743 741 0 0 16 742 +743 743 744 742 0 0 16 743 +744 744 745 743 0 0 16 744 +745 745 746 744 0 0 16 745 +746 746 747 745 0 0 16 746 +747 747 748 746 0 0 16 747 +748 748 749 747 0 0 16 748 +749 749 750 748 0 0 16 749 +750 750 751 749 0 0 16 750 +751 751 752 750 0 0 16 751 +752 752 753 751 0 0 16 752 +753 753 754 752 0 0 16 753 +754 754 755 753 0 0 16 754 +755 755 756 754 0 0 16 755 +756 756 757 755 0 0 16 756 +757 757 758 756 0 0 16 757 +758 758 759 757 0 0 16 758 +759 759 760 758 0 0 16 759 +760 760 761 759 0 0 16 760 +761 761 762 760 0 0 16 761 +762 762 763 761 0 0 16 762 +763 763 764 762 0 0 16 763 +764 764 765 763 0 0 16 764 +765 765 766 764 0 0 16 765 +766 766 767 765 0 0 16 766 +767 767 768 766 0 0 16 767 +768 768 769 767 0 0 16 768 +769 769 770 768 0 0 16 769 +770 770 771 769 0 0 16 770 +771 771 772 770 0 0 16 771 +772 772 773 771 0 0 16 772 +773 773 774 772 0 0 16 773 +774 774 775 773 0 0 16 774 +775 775 776 774 0 0 16 775 +776 776 777 775 0 0 16 776 +777 777 778 776 0 0 16 777 +778 778 779 777 0 0 16 778 +779 779 780 778 0 0 16 779 +780 780 781 779 0 0 16 780 +781 781 782 780 0 0 16 781 +782 782 783 781 0 0 16 782 +783 783 784 782 0 0 16 783 +784 784 785 783 0 0 16 784 +785 785 786 784 0 0 16 785 +786 786 787 785 0 0 16 786 +787 787 788 786 0 0 16 787 +788 788 789 787 0 0 16 788 +789 789 790 788 0 0 16 789 +790 790 791 789 0 0 16 790 +791 791 792 790 0 0 16 791 +792 792 793 791 0 0 16 792 +793 793 794 792 0 0 16 793 +794 794 795 793 0 0 16 794 +795 795 796 794 0 0 16 795 +796 796 797 795 0 0 16 796 +797 797 798 796 0 0 16 797 +798 798 799 797 0 0 16 798 +799 799 800 798 0 0 16 799 +800 800 801 799 0 0 16 800 +801 801 802 800 0 0 16 801 +802 802 803 801 0 0 16 802 +803 803 804 802 0 0 16 803 +804 804 805 803 0 0 16 804 +805 805 806 804 0 0 16 805 +806 806 807 805 0 0 16 806 +807 807 808 806 0 0 16 807 +808 808 809 807 0 0 16 808 +809 809 810 808 0 0 16 809 +810 810 811 809 0 0 16 810 +811 811 812 810 0 0 16 811 +812 812 813 811 0 0 16 812 +813 813 814 812 0 0 16 813 +814 814 815 813 0 0 16 814 +815 815 816 814 0 0 16 815 +816 816 817 815 0 0 16 816 +817 817 818 816 0 0 16 817 +818 818 819 817 0 0 16 818 +819 819 820 818 0 0 16 819 +820 820 821 819 0 0 16 820 +821 821 822 820 0 0 16 821 +822 822 823 821 0 0 16 822 +823 823 824 822 0 0 16 823 +824 824 825 823 0 0 16 824 +825 825 826 824 0 0 16 825 +826 826 827 825 0 0 16 826 +827 827 828 826 0 0 16 827 +828 828 829 827 0 0 16 828 +829 829 830 828 0 0 16 829 +830 830 831 829 0 0 16 830 +831 831 832 830 0 0 16 831 +832 832 833 831 0 0 16 832 +833 833 834 832 0 0 16 833 +834 834 835 833 0 0 16 834 +835 835 836 834 0 0 16 835 +836 836 837 835 0 0 16 836 +837 837 838 836 0 0 16 837 +838 838 839 837 0 0 16 838 +839 839 840 838 0 0 16 839 +840 840 841 839 0 0 16 840 +841 841 842 840 0 0 16 841 +842 842 843 841 0 0 16 842 +843 843 844 842 0 0 16 843 +844 844 845 843 0 0 16 844 +845 845 846 844 0 0 16 845 +846 846 847 845 0 0 16 846 +847 847 848 846 0 0 16 847 +848 848 849 847 0 0 16 848 +849 849 850 848 0 0 16 849 +850 850 851 849 0 0 16 850 +851 851 852 850 0 0 16 851 +852 852 853 851 0 0 16 852 +853 853 854 852 0 0 16 853 +854 854 855 853 0 0 16 854 +855 855 856 854 0 0 16 855 +856 856 857 855 0 0 16 856 +857 857 858 856 0 0 16 857 +858 858 859 857 0 0 16 858 +859 859 860 858 0 0 16 859 +860 860 861 859 0 0 16 860 +861 861 862 860 0 0 16 861 +862 862 863 861 0 0 16 862 +863 863 864 862 0 0 16 863 +864 864 865 863 0 0 16 864 +865 865 866 864 0 0 16 865 +866 866 867 865 0 0 16 866 +867 867 868 866 0 0 16 867 +868 868 869 867 0 0 16 868 +869 869 870 868 0 0 16 869 +870 870 871 869 0 0 16 870 +871 871 872 870 0 0 16 871 +872 872 873 871 0 0 16 872 +873 873 874 872 0 0 16 873 +874 874 875 873 0 0 16 874 +875 875 876 874 0 0 16 875 +876 876 877 875 0 0 16 876 +877 877 878 876 0 0 16 877 +878 878 879 877 0 0 16 878 +879 879 880 878 0 0 16 879 +880 880 881 879 0 0 16 880 +881 881 882 880 0 0 16 881 +882 882 883 881 0 0 16 882 +883 883 884 882 0 0 16 883 +884 884 885 883 0 0 16 884 +885 885 886 884 0 0 16 885 +886 886 887 885 0 0 16 886 +887 887 888 886 0 0 16 887 +888 888 889 887 0 0 16 888 +889 889 890 888 0 0 16 889 +890 890 891 889 0 0 16 890 +891 891 892 890 0 0 16 891 +892 892 893 891 0 0 16 892 +893 893 894 892 0 0 16 893 +894 894 895 893 0 0 16 894 +895 895 896 894 0 0 16 895 +896 896 897 895 0 0 16 896 +897 897 898 896 0 0 16 897 +898 898 899 897 0 0 16 898 +899 899 900 898 0 0 16 899 +900 900 901 899 0 0 16 900 +901 901 902 900 0 0 16 901 +902 902 903 901 0 0 16 902 +903 903 904 902 0 0 16 903 +904 904 905 903 0 0 16 904 +905 905 906 904 0 0 16 905 +906 906 907 905 0 0 16 906 +907 907 908 906 0 0 16 907 +908 908 909 907 0 0 16 908 +909 909 910 908 0 0 16 909 +910 910 911 909 0 0 16 910 +911 911 912 910 0 0 16 911 +912 912 913 911 0 0 16 912 +913 913 914 912 0 0 16 913 +914 914 915 913 0 0 16 914 +915 915 916 914 0 0 16 915 +916 916 917 915 0 0 16 916 +917 917 918 916 0 0 16 917 +918 918 919 917 0 0 16 918 +919 919 920 918 0 0 16 919 +920 920 921 919 0 0 16 920 +921 921 922 920 0 0 16 921 +922 922 923 921 0 0 16 922 +923 923 924 922 0 0 16 923 +924 924 925 923 0 0 16 924 +925 925 926 924 0 0 16 925 +926 926 927 925 0 0 16 926 +927 927 928 926 0 0 16 927 +928 928 929 927 0 0 16 928 +929 929 930 928 0 0 16 929 +930 930 931 929 0 0 16 930 +931 931 932 930 0 0 16 931 +932 932 933 931 0 0 16 932 +933 933 934 932 0 0 16 933 +934 934 935 933 0 0 16 934 +935 935 936 934 0 0 16 935 +936 936 937 935 0 0 16 936 +937 937 938 936 0 0 16 937 +938 938 939 937 0 0 16 938 +939 939 940 938 0 0 16 939 +940 940 941 939 0 0 16 940 +941 941 942 940 0 0 16 941 +942 942 943 941 0 0 16 942 +943 943 944 942 0 0 16 943 +944 944 945 943 0 0 16 944 +945 945 946 944 0 0 16 945 +946 946 947 945 0 0 16 946 +947 947 948 946 0 0 16 947 +948 948 949 947 0 0 16 948 +949 949 950 948 0 0 16 949 +950 950 951 949 0 0 16 950 +951 951 952 950 0 0 16 951 +952 952 953 951 0 0 16 952 +953 953 954 952 0 0 16 953 +954 954 955 953 0 0 16 954 +955 955 956 954 0 0 16 955 +956 956 957 955 0 0 16 956 +957 957 958 956 0 0 16 957 +958 958 959 957 0 0 16 958 +959 959 960 958 0 0 16 959 +960 960 961 959 0 0 16 960 +961 961 962 960 0 0 16 961 +962 962 963 961 0 0 16 962 +963 963 964 962 0 0 16 963 +964 964 965 963 0 0 16 964 +965 965 966 964 0 0 16 965 +966 966 967 965 0 0 16 966 +967 967 968 966 0 0 16 967 +968 968 969 967 0 0 16 968 +969 969 970 968 0 0 16 969 +970 970 971 969 0 0 16 970 +971 971 972 970 0 0 16 971 +972 972 973 971 0 0 16 972 +973 973 974 972 0 0 16 973 +974 974 975 973 0 0 16 974 +975 975 976 974 0 0 16 975 +976 976 977 975 0 0 16 976 +977 977 978 976 0 0 16 977 +978 978 979 977 0 0 16 978 +979 979 980 978 0 0 16 979 +980 980 981 979 0 0 16 980 +981 981 982 980 0 0 16 981 +982 982 983 981 0 0 16 982 +983 983 984 982 0 0 16 983 +984 984 985 983 0 0 16 984 +985 985 986 984 0 0 16 985 +986 986 987 985 0 0 16 986 +987 987 988 986 0 0 16 987 +988 988 989 987 0 0 16 988 +989 989 990 988 0 0 16 989 +990 990 991 989 0 0 16 990 +991 991 992 990 0 0 16 991 +992 992 993 991 0 0 16 992 +993 993 994 992 0 0 16 993 +994 994 995 993 0 0 16 994 +995 995 996 994 0 0 16 995 +996 996 997 995 0 0 16 996 +997 997 998 996 0 0 16 997 +998 998 999 997 0 0 16 998 +999 999 1000 998 0 0 16 999 +1000 1000 1001 999 0 0 16 1000 +1001 1001 1002 1000 0 0 16 1001 +1002 1002 1003 1001 0 0 16 1002 +1003 1003 1004 1002 0 0 16 1003 +1004 1004 1005 1003 0 0 16 1004 +1005 1005 1006 1004 0 0 16 1005 +1006 1006 1007 1005 0 0 16 1006 +1007 1007 1008 1006 0 0 16 1007 +1008 1008 1009 1007 0 0 16 1008 +1009 1009 1010 1008 0 0 16 1009 +1010 1010 1011 1009 0 0 16 1010 +1011 1011 1012 1010 0 0 16 1011 +1012 1012 1013 1011 0 0 16 1012 +1013 1013 1014 1012 0 0 16 1013 +1014 1014 1015 1013 0 0 16 1014 +1015 1015 1016 1014 0 0 16 1015 +1016 1016 1017 1015 0 0 16 1016 +1017 1017 1018 1016 0 0 16 1017 +1018 1018 1019 1017 0 0 16 1018 +1019 1019 1020 1018 0 0 16 1019 +1020 1020 1021 1019 0 0 16 1020 +1021 1021 1022 1020 0 0 16 1021 +1022 1022 1023 1021 0 0 16 1022 +1023 1023 0 1022 0 0 16 1023 +====================================================== +=== [Queue after-first-half-free] Next: 1 First: 512 Last: 1023 +# seq next prev timeout retrans type cbp +512 512 513 -1 0 0 16 512 +513 513 514 512 0 0 16 513 +514 514 515 513 0 0 16 514 +515 515 516 514 0 0 16 515 +516 516 517 515 0 0 16 516 +517 517 518 516 0 0 16 517 +518 518 519 517 0 0 16 518 +519 519 520 518 0 0 16 519 +520 520 521 519 0 0 16 520 +521 521 522 520 0 0 16 521 +522 522 523 521 0 0 16 522 +523 523 524 522 0 0 16 523 +524 524 525 523 0 0 16 524 +525 525 526 524 0 0 16 525 +526 526 527 525 0 0 16 526 +527 527 528 526 0 0 16 527 +528 528 529 527 0 0 16 528 +529 529 530 528 0 0 16 529 +530 530 531 529 0 0 16 530 +531 531 532 530 0 0 16 531 +532 532 533 531 0 0 16 532 +533 533 534 532 0 0 16 533 +534 534 535 533 0 0 16 534 +535 535 536 534 0 0 16 535 +536 536 537 535 0 0 16 536 +537 537 538 536 0 0 16 537 +538 538 539 537 0 0 16 538 +539 539 540 538 0 0 16 539 +540 540 541 539 0 0 16 540 +541 541 542 540 0 0 16 541 +542 542 543 541 0 0 16 542 +543 543 544 542 0 0 16 543 +544 544 545 543 0 0 16 544 +545 545 546 544 0 0 16 545 +546 546 547 545 0 0 16 546 +547 547 548 546 0 0 16 547 +548 548 549 547 0 0 16 548 +549 549 550 548 0 0 16 549 +550 550 551 549 0 0 16 550 +551 551 552 550 0 0 16 551 +552 552 553 551 0 0 16 552 +553 553 554 552 0 0 16 553 +554 554 555 553 0 0 16 554 +555 555 556 554 0 0 16 555 +556 556 557 555 0 0 16 556 +557 557 558 556 0 0 16 557 +558 558 559 557 0 0 16 558 +559 559 560 558 0 0 16 559 +560 560 561 559 0 0 16 560 +561 561 562 560 0 0 16 561 +562 562 563 561 0 0 16 562 +563 563 564 562 0 0 16 563 +564 564 565 563 0 0 16 564 +565 565 566 564 0 0 16 565 +566 566 567 565 0 0 16 566 +567 567 568 566 0 0 16 567 +568 568 569 567 0 0 16 568 +569 569 570 568 0 0 16 569 +570 570 571 569 0 0 16 570 +571 571 572 570 0 0 16 571 +572 572 573 571 0 0 16 572 +573 573 574 572 0 0 16 573 +574 574 575 573 0 0 16 574 +575 575 576 574 0 0 16 575 +576 576 577 575 0 0 16 576 +577 577 578 576 0 0 16 577 +578 578 579 577 0 0 16 578 +579 579 580 578 0 0 16 579 +580 580 581 579 0 0 16 580 +581 581 582 580 0 0 16 581 +582 582 583 581 0 0 16 582 +583 583 584 582 0 0 16 583 +584 584 585 583 0 0 16 584 +585 585 586 584 0 0 16 585 +586 586 587 585 0 0 16 586 +587 587 588 586 0 0 16 587 +588 588 589 587 0 0 16 588 +589 589 590 588 0 0 16 589 +590 590 591 589 0 0 16 590 +591 591 592 590 0 0 16 591 +592 592 593 591 0 0 16 592 +593 593 594 592 0 0 16 593 +594 594 595 593 0 0 16 594 +595 595 596 594 0 0 16 595 +596 596 597 595 0 0 16 596 +597 597 598 596 0 0 16 597 +598 598 599 597 0 0 16 598 +599 599 600 598 0 0 16 599 +600 600 601 599 0 0 16 600 +601 601 602 600 0 0 16 601 +602 602 603 601 0 0 16 602 +603 603 604 602 0 0 16 603 +604 604 605 603 0 0 16 604 +605 605 606 604 0 0 16 605 +606 606 607 605 0 0 16 606 +607 607 608 606 0 0 16 607 +608 608 609 607 0 0 16 608 +609 609 610 608 0 0 16 609 +610 610 611 609 0 0 16 610 +611 611 612 610 0 0 16 611 +612 612 613 611 0 0 16 612 +613 613 614 612 0 0 16 613 +614 614 615 613 0 0 16 614 +615 615 616 614 0 0 16 615 +616 616 617 615 0 0 16 616 +617 617 618 616 0 0 16 617 +618 618 619 617 0 0 16 618 +619 619 620 618 0 0 16 619 +620 620 621 619 0 0 16 620 +621 621 622 620 0 0 16 621 +622 622 623 621 0 0 16 622 +623 623 624 622 0 0 16 623 +624 624 625 623 0 0 16 624 +625 625 626 624 0 0 16 625 +626 626 627 625 0 0 16 626 +627 627 628 626 0 0 16 627 +628 628 629 627 0 0 16 628 +629 629 630 628 0 0 16 629 +630 630 631 629 0 0 16 630 +631 631 632 630 0 0 16 631 +632 632 633 631 0 0 16 632 +633 633 634 632 0 0 16 633 +634 634 635 633 0 0 16 634 +635 635 636 634 0 0 16 635 +636 636 637 635 0 0 16 636 +637 637 638 636 0 0 16 637 +638 638 639 637 0 0 16 638 +639 639 640 638 0 0 16 639 +640 640 641 639 0 0 16 640 +641 641 642 640 0 0 16 641 +642 642 643 641 0 0 16 642 +643 643 644 642 0 0 16 643 +644 644 645 643 0 0 16 644 +645 645 646 644 0 0 16 645 +646 646 647 645 0 0 16 646 +647 647 648 646 0 0 16 647 +648 648 649 647 0 0 16 648 +649 649 650 648 0 0 16 649 +650 650 651 649 0 0 16 650 +651 651 652 650 0 0 16 651 +652 652 653 651 0 0 16 652 +653 653 654 652 0 0 16 653 +654 654 655 653 0 0 16 654 +655 655 656 654 0 0 16 655 +656 656 657 655 0 0 16 656 +657 657 658 656 0 0 16 657 +658 658 659 657 0 0 16 658 +659 659 660 658 0 0 16 659 +660 660 661 659 0 0 16 660 +661 661 662 660 0 0 16 661 +662 662 663 661 0 0 16 662 +663 663 664 662 0 0 16 663 +664 664 665 663 0 0 16 664 +665 665 666 664 0 0 16 665 +666 666 667 665 0 0 16 666 +667 667 668 666 0 0 16 667 +668 668 669 667 0 0 16 668 +669 669 670 668 0 0 16 669 +670 670 671 669 0 0 16 670 +671 671 672 670 0 0 16 671 +672 672 673 671 0 0 16 672 +673 673 674 672 0 0 16 673 +674 674 675 673 0 0 16 674 +675 675 676 674 0 0 16 675 +676 676 677 675 0 0 16 676 +677 677 678 676 0 0 16 677 +678 678 679 677 0 0 16 678 +679 679 680 678 0 0 16 679 +680 680 681 679 0 0 16 680 +681 681 682 680 0 0 16 681 +682 682 683 681 0 0 16 682 +683 683 684 682 0 0 16 683 +684 684 685 683 0 0 16 684 +685 685 686 684 0 0 16 685 +686 686 687 685 0 0 16 686 +687 687 688 686 0 0 16 687 +688 688 689 687 0 0 16 688 +689 689 690 688 0 0 16 689 +690 690 691 689 0 0 16 690 +691 691 692 690 0 0 16 691 +692 692 693 691 0 0 16 692 +693 693 694 692 0 0 16 693 +694 694 695 693 0 0 16 694 +695 695 696 694 0 0 16 695 +696 696 697 695 0 0 16 696 +697 697 698 696 0 0 16 697 +698 698 699 697 0 0 16 698 +699 699 700 698 0 0 16 699 +700 700 701 699 0 0 16 700 +701 701 702 700 0 0 16 701 +702 702 703 701 0 0 16 702 +703 703 704 702 0 0 16 703 +704 704 705 703 0 0 16 704 +705 705 706 704 0 0 16 705 +706 706 707 705 0 0 16 706 +707 707 708 706 0 0 16 707 +708 708 709 707 0 0 16 708 +709 709 710 708 0 0 16 709 +710 710 711 709 0 0 16 710 +711 711 712 710 0 0 16 711 +712 712 713 711 0 0 16 712 +713 713 714 712 0 0 16 713 +714 714 715 713 0 0 16 714 +715 715 716 714 0 0 16 715 +716 716 717 715 0 0 16 716 +717 717 718 716 0 0 16 717 +718 718 719 717 0 0 16 718 +719 719 720 718 0 0 16 719 +720 720 721 719 0 0 16 720 +721 721 722 720 0 0 16 721 +722 722 723 721 0 0 16 722 +723 723 724 722 0 0 16 723 +724 724 725 723 0 0 16 724 +725 725 726 724 0 0 16 725 +726 726 727 725 0 0 16 726 +727 727 728 726 0 0 16 727 +728 728 729 727 0 0 16 728 +729 729 730 728 0 0 16 729 +730 730 731 729 0 0 16 730 +731 731 732 730 0 0 16 731 +732 732 733 731 0 0 16 732 +733 733 734 732 0 0 16 733 +734 734 735 733 0 0 16 734 +735 735 736 734 0 0 16 735 +736 736 737 735 0 0 16 736 +737 737 738 736 0 0 16 737 +738 738 739 737 0 0 16 738 +739 739 740 738 0 0 16 739 +740 740 741 739 0 0 16 740 +741 741 742 740 0 0 16 741 +742 742 743 741 0 0 16 742 +743 743 744 742 0 0 16 743 +744 744 745 743 0 0 16 744 +745 745 746 744 0 0 16 745 +746 746 747 745 0 0 16 746 +747 747 748 746 0 0 16 747 +748 748 749 747 0 0 16 748 +749 749 750 748 0 0 16 749 +750 750 751 749 0 0 16 750 +751 751 752 750 0 0 16 751 +752 752 753 751 0 0 16 752 +753 753 754 752 0 0 16 753 +754 754 755 753 0 0 16 754 +755 755 756 754 0 0 16 755 +756 756 757 755 0 0 16 756 +757 757 758 756 0 0 16 757 +758 758 759 757 0 0 16 758 +759 759 760 758 0 0 16 759 +760 760 761 759 0 0 16 760 +761 761 762 760 0 0 16 761 +762 762 763 761 0 0 16 762 +763 763 764 762 0 0 16 763 +764 764 765 763 0 0 16 764 +765 765 766 764 0 0 16 765 +766 766 767 765 0 0 16 766 +767 767 768 766 0 0 16 767 +768 768 769 767 0 0 16 768 +769 769 770 768 0 0 16 769 +770 770 771 769 0 0 16 770 +771 771 772 770 0 0 16 771 +772 772 773 771 0 0 16 772 +773 773 774 772 0 0 16 773 +774 774 775 773 0 0 16 774 +775 775 776 774 0 0 16 775 +776 776 777 775 0 0 16 776 +777 777 778 776 0 0 16 777 +778 778 779 777 0 0 16 778 +779 779 780 778 0 0 16 779 +780 780 781 779 0 0 16 780 +781 781 782 780 0 0 16 781 +782 782 783 781 0 0 16 782 +783 783 784 782 0 0 16 783 +784 784 785 783 0 0 16 784 +785 785 786 784 0 0 16 785 +786 786 787 785 0 0 16 786 +787 787 788 786 0 0 16 787 +788 788 789 787 0 0 16 788 +789 789 790 788 0 0 16 789 +790 790 791 789 0 0 16 790 +791 791 792 790 0 0 16 791 +792 792 793 791 0 0 16 792 +793 793 794 792 0 0 16 793 +794 794 795 793 0 0 16 794 +795 795 796 794 0 0 16 795 +796 796 797 795 0 0 16 796 +797 797 798 796 0 0 16 797 +798 798 799 797 0 0 16 798 +799 799 800 798 0 0 16 799 +800 800 801 799 0 0 16 800 +801 801 802 800 0 0 16 801 +802 802 803 801 0 0 16 802 +803 803 804 802 0 0 16 803 +804 804 805 803 0 0 16 804 +805 805 806 804 0 0 16 805 +806 806 807 805 0 0 16 806 +807 807 808 806 0 0 16 807 +808 808 809 807 0 0 16 808 +809 809 810 808 0 0 16 809 +810 810 811 809 0 0 16 810 +811 811 812 810 0 0 16 811 +812 812 813 811 0 0 16 812 +813 813 814 812 0 0 16 813 +814 814 815 813 0 0 16 814 +815 815 816 814 0 0 16 815 +816 816 817 815 0 0 16 816 +817 817 818 816 0 0 16 817 +818 818 819 817 0 0 16 818 +819 819 820 818 0 0 16 819 +820 820 821 819 0 0 16 820 +821 821 822 820 0 0 16 821 +822 822 823 821 0 0 16 822 +823 823 824 822 0 0 16 823 +824 824 825 823 0 0 16 824 +825 825 826 824 0 0 16 825 +826 826 827 825 0 0 16 826 +827 827 828 826 0 0 16 827 +828 828 829 827 0 0 16 828 +829 829 830 828 0 0 16 829 +830 830 831 829 0 0 16 830 +831 831 832 830 0 0 16 831 +832 832 833 831 0 0 16 832 +833 833 834 832 0 0 16 833 +834 834 835 833 0 0 16 834 +835 835 836 834 0 0 16 835 +836 836 837 835 0 0 16 836 +837 837 838 836 0 0 16 837 +838 838 839 837 0 0 16 838 +839 839 840 838 0 0 16 839 +840 840 841 839 0 0 16 840 +841 841 842 840 0 0 16 841 +842 842 843 841 0 0 16 842 +843 843 844 842 0 0 16 843 +844 844 845 843 0 0 16 844 +845 845 846 844 0 0 16 845 +846 846 847 845 0 0 16 846 +847 847 848 846 0 0 16 847 +848 848 849 847 0 0 16 848 +849 849 850 848 0 0 16 849 +850 850 851 849 0 0 16 850 +851 851 852 850 0 0 16 851 +852 852 853 851 0 0 16 852 +853 853 854 852 0 0 16 853 +854 854 855 853 0 0 16 854 +855 855 856 854 0 0 16 855 +856 856 857 855 0 0 16 856 +857 857 858 856 0 0 16 857 +858 858 859 857 0 0 16 858 +859 859 860 858 0 0 16 859 +860 860 861 859 0 0 16 860 +861 861 862 860 0 0 16 861 +862 862 863 861 0 0 16 862 +863 863 864 862 0 0 16 863 +864 864 865 863 0 0 16 864 +865 865 866 864 0 0 16 865 +866 866 867 865 0 0 16 866 +867 867 868 866 0 0 16 867 +868 868 869 867 0 0 16 868 +869 869 870 868 0 0 16 869 +870 870 871 869 0 0 16 870 +871 871 872 870 0 0 16 871 +872 872 873 871 0 0 16 872 +873 873 874 872 0 0 16 873 +874 874 875 873 0 0 16 874 +875 875 876 874 0 0 16 875 +876 876 877 875 0 0 16 876 +877 877 878 876 0 0 16 877 +878 878 879 877 0 0 16 878 +879 879 880 878 0 0 16 879 +880 880 881 879 0 0 16 880 +881 881 882 880 0 0 16 881 +882 882 883 881 0 0 16 882 +883 883 884 882 0 0 16 883 +884 884 885 883 0 0 16 884 +885 885 886 884 0 0 16 885 +886 886 887 885 0 0 16 886 +887 887 888 886 0 0 16 887 +888 888 889 887 0 0 16 888 +889 889 890 888 0 0 16 889 +890 890 891 889 0 0 16 890 +891 891 892 890 0 0 16 891 +892 892 893 891 0 0 16 892 +893 893 894 892 0 0 16 893 +894 894 895 893 0 0 16 894 +895 895 896 894 0 0 16 895 +896 896 897 895 0 0 16 896 +897 897 898 896 0 0 16 897 +898 898 899 897 0 0 16 898 +899 899 900 898 0 0 16 899 +900 900 901 899 0 0 16 900 +901 901 902 900 0 0 16 901 +902 902 903 901 0 0 16 902 +903 903 904 902 0 0 16 903 +904 904 905 903 0 0 16 904 +905 905 906 904 0 0 16 905 +906 906 907 905 0 0 16 906 +907 907 908 906 0 0 16 907 +908 908 909 907 0 0 16 908 +909 909 910 908 0 0 16 909 +910 910 911 909 0 0 16 910 +911 911 912 910 0 0 16 911 +912 912 913 911 0 0 16 912 +913 913 914 912 0 0 16 913 +914 914 915 913 0 0 16 914 +915 915 916 914 0 0 16 915 +916 916 917 915 0 0 16 916 +917 917 918 916 0 0 16 917 +918 918 919 917 0 0 16 918 +919 919 920 918 0 0 16 919 +920 920 921 919 0 0 16 920 +921 921 922 920 0 0 16 921 +922 922 923 921 0 0 16 922 +923 923 924 922 0 0 16 923 +924 924 925 923 0 0 16 924 +925 925 926 924 0 0 16 925 +926 926 927 925 0 0 16 926 +927 927 928 926 0 0 16 927 +928 928 929 927 0 0 16 928 +929 929 930 928 0 0 16 929 +930 930 931 929 0 0 16 930 +931 931 932 930 0 0 16 931 +932 932 933 931 0 0 16 932 +933 933 934 932 0 0 16 933 +934 934 935 933 0 0 16 934 +935 935 936 934 0 0 16 935 +936 936 937 935 0 0 16 936 +937 937 938 936 0 0 16 937 +938 938 939 937 0 0 16 938 +939 939 940 938 0 0 16 939 +940 940 941 939 0 0 16 940 +941 941 942 940 0 0 16 941 +942 942 943 941 0 0 16 942 +943 943 944 942 0 0 16 943 +944 944 945 943 0 0 16 944 +945 945 946 944 0 0 16 945 +946 946 947 945 0 0 16 946 +947 947 948 946 0 0 16 947 +948 948 949 947 0 0 16 948 +949 949 950 948 0 0 16 949 +950 950 951 949 0 0 16 950 +951 951 952 950 0 0 16 951 +952 952 953 951 0 0 16 952 +953 953 954 952 0 0 16 953 +954 954 955 953 0 0 16 954 +955 955 956 954 0 0 16 955 +956 956 957 955 0 0 16 956 +957 957 958 956 0 0 16 957 +958 958 959 957 0 0 16 958 +959 959 960 958 0 0 16 959 +960 960 961 959 0 0 16 960 +961 961 962 960 0 0 16 961 +962 962 963 961 0 0 16 962 +963 963 964 962 0 0 16 963 +964 964 965 963 0 0 16 964 +965 965 966 964 0 0 16 965 +966 966 967 965 0 0 16 966 +967 967 968 966 0 0 16 967 +968 968 969 967 0 0 16 968 +969 969 970 968 0 0 16 969 +970 970 971 969 0 0 16 970 +971 971 972 970 0 0 16 971 +972 972 973 971 0 0 16 972 +973 973 974 972 0 0 16 973 +974 974 975 973 0 0 16 974 +975 975 976 974 0 0 16 975 +976 976 977 975 0 0 16 976 +977 977 978 976 0 0 16 977 +978 978 979 977 0 0 16 978 +979 979 980 978 0 0 16 979 +980 980 981 979 0 0 16 980 +981 981 982 980 0 0 16 981 +982 982 983 981 0 0 16 982 +983 983 984 982 0 0 16 983 +984 984 985 983 0 0 16 984 +985 985 986 984 0 0 16 985 +986 986 987 985 0 0 16 986 +987 987 988 986 0 0 16 987 +988 988 989 987 0 0 16 988 +989 989 990 988 0 0 16 989 +990 990 991 989 0 0 16 990 +991 991 992 990 0 0 16 991 +992 992 993 991 0 0 16 992 +993 993 994 992 0 0 16 993 +994 994 995 993 0 0 16 994 +995 995 996 994 0 0 16 995 +996 996 997 995 0 0 16 996 +997 997 998 996 0 0 16 997 +998 998 999 997 0 0 16 998 +999 999 1000 998 0 0 16 999 +1000 1000 1001 999 0 0 16 1000 +1001 1001 1002 1000 0 0 16 1001 +1002 1002 1003 1001 0 0 16 1002 +1003 1003 1004 1002 0 0 16 1003 +1004 1004 1005 1003 0 0 16 1004 +1005 1005 1006 1004 0 0 16 1005 +1006 1006 1007 1005 0 0 16 1006 +1007 1007 1008 1006 0 0 16 1007 +1008 1008 1009 1007 0 0 16 1008 +1009 1009 1010 1008 0 0 16 1009 +1010 1010 1011 1009 0 0 16 1010 +1011 1011 1012 1010 0 0 16 1011 +1012 1012 1013 1011 0 0 16 1012 +1013 1013 1014 1012 0 0 16 1013 +1014 1014 1015 1013 0 0 16 1014 +1015 1015 1016 1014 0 0 16 1015 +1016 1016 1017 1015 0 0 16 1016 +1017 1017 1018 1016 0 0 16 1017 +1018 1018 1019 1017 0 0 16 1018 +1019 1019 1020 1018 0 0 16 1019 +1020 1020 1021 1019 0 0 16 1020 +1021 1021 1022 1020 0 0 16 1021 +1022 1022 1023 1021 0 0 16 1022 +1023 1023 -1 1022 0 0 16 1023 +====================================================== +=== [Queue after-second-half-free] Next: 1 First: -1 Last: -1 +# seq next prev timeout retrans type cbp +====================================================== diff --git a/tests/testsuite.at b/tests/testsuite.at index fa94db3..2602a3a 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -32,3 +32,9 @@ cat $abs_srcdir/gtp/gtpie_test.ok > expout AT_CHECK([$abs_top_builddir/tests/gtp/gtpie_test], [], [expout], []) AT_CLEANUP + +AT_SETUP([queue]) +AT_KEYWORDS([queue]) +cat $abs_srcdir/gtp/queue_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/gtp/queue_test], [], [expout], []) +AT_CLEANUP -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Id09bc5e23aa7a4b864822bc92cc23a4b60db52c3 Gerrit-Change-Number: 14558 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 Fri Jun 21 11:53:21 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 21 Jun 2019 11:53:21 +0000 Subject: Change in ...libosmo-abis[master]: ipaccess: allow tcp keepalive for ipa clients, too Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/14562 Change subject: ipaccess: allow tcp keepalive for ipa clients, too ...................................................................... ipaccess: allow tcp keepalive for ipa clients, too This allows using the e1_line x keepalive y z setting for clients like osmo-bts Change-Id: Ie9fb070cbd208096e1713b902b22de2686fcb68d --- M src/input/ipaccess.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/62/14562/1 diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c index 136aa79..d0fa023 100644 --- a/src/input/ipaccess.c +++ b/src/input/ipaccess.c @@ -667,8 +667,10 @@ { struct e1inp_line *line = link->line; - if (up) - return; + if (up) { + update_fd_settings(line, link->ofd->fd); + return; + } if (line->ops->sign_link_down) line->ops->sign_link_down(line); -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/14562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ie9fb070cbd208096e1713b902b22de2686fcb68d Gerrit-Change-Number: 14562 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 21 12:28:20 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 21 Jun 2019 12:28:20 +0000 Subject: Change in ...libosmo-abis[master]: ipaccess: allow tcp keepalive for ipa clients, add TCP_USER_TIMEOUT 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/+/14562 to look at the new patch set (#2). Change subject: ipaccess: allow tcp keepalive for ipa clients, add TCP_USER_TIMEOUT ...................................................................... ipaccess: allow tcp keepalive for ipa clients, add TCP_USER_TIMEOUT This allows using the e1_line x keepalive y z setting for clients like osmo-bts. The patch sets TCP_USER_TIMEOUT to the same timoeut value, since keepalive only applies to idle connections, but we obviously want to fail as fast as possible even if there is data to send and it's not acked. Change-Id: Ie9fb070cbd208096e1713b902b22de2686fcb68d --- M src/input/ipaccess.c 1 file changed, 15 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/62/14562/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/14562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ie9fb070cbd208096e1713b902b22de2686fcb68d Gerrit-Change-Number: 14562 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 12:40:45 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Jun 2019 12:40:45 +0000 Subject: Change in ...libosmo-abis[master]: ipaccess: allow tcp keepalive for ipa clients, add TCP_USER_TIMEOUT In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/14562 ) Change subject: ipaccess: allow tcp keepalive for ipa clients, add TCP_USER_TIMEOUT ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/14562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ie9fb070cbd208096e1713b902b22de2686fcb68d Gerrit-Change-Number: 14562 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 21 Jun 2019 12:40:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 12:47:39 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 21 Jun 2019 12:47:39 +0000 Subject: Change in ...docker-playground[master]: ttcn3-hlr-test: log to file and gsmtap Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/14563 Change subject: ttcn3-hlr-test: log to file and gsmtap ...................................................................... ttcn3-hlr-test: log to file and gsmtap Store the log output of OsmoHLR in osmo-hlr.log and directly in the pcap file of each test with gsmtap. Related: OS#4067 Change-Id: Ifb4a39e6e2987f4dc04369508fe0dff0913a02ff --- M ttcn3-hlr-test/osmo-hlr.cfg 1 file changed, 22 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/63/14563/1 diff --git a/ttcn3-hlr-test/osmo-hlr.cfg b/ttcn3-hlr-test/osmo-hlr.cfg index 8ed77d4..88c2d21 100644 --- a/ttcn3-hlr-test/osmo-hlr.cfg +++ b/ttcn3-hlr-test/osmo-hlr.cfg @@ -9,7 +9,28 @@ logging print extended-timestamp 1 logging level all debug logging level linp error -! + +log file osmo-hlr.log + logging filter all 1 + logging color 0 + logging print level 1 + logging print category 1 + logging print category-hex 0 + logging print file basename last + logging print extended-timestamp 1 + logging level set-all debug + +# Send gsmtap logging to docker container with testsuite (which runs tcpdump) +log gsmtap 172.18.10.103 + logging filter all 1 + logging color 1 + logging print level 1 + logging print category 1 + logging print category-hex 0 + logging print file basename last + logging print extended-timestamp 1 + logging level set-all debug + line vty bind 0.0.0.0 ctrl -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifb4a39e6e2987f4dc04369508fe0dff0913a02ff Gerrit-Change-Number: 14563 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 21 12:50:43 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 21 Jun 2019 12:50:43 +0000 Subject: Change in ...docker-playground[master]: ttcn3-hlr-test: log to file and gsmtap In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/14563 to look at the new patch set (#2). Change subject: ttcn3-hlr-test: log to file and gsmtap ...................................................................... ttcn3-hlr-test: log to file and gsmtap Store the log output of OsmoHLR in osmo-hlr.log and directly in the pcap file of each test with gsmtap. Related: OS#4067 Change-Id: Ifb4a39e6e2987f4dc04369508fe0dff0913a02ff --- M ttcn3-hlr-test/osmo-hlr.cfg 1 file changed, 22 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/63/14563/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifb4a39e6e2987f4dc04369508fe0dff0913a02ff Gerrit-Change-Number: 14563 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 12:52:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Jun 2019 12:52:05 +0000 Subject: Change in ...libosmo-abis[master]: ipaccess: allow tcp keepalive for ipa clients, add TCP_USER_TIMEOUT In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/14562 ) Change subject: ipaccess: allow tcp keepalive for ipa clients, add TCP_USER_TIMEOUT ...................................................................... Patch Set 2: This patch should be split into 2, you are adding 2 non-related things afaiu. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/14562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ie9fb070cbd208096e1713b902b22de2686fcb68d Gerrit-Change-Number: 14562 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 12:52:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 12:53:58 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Jun 2019 12:53:58 +0000 Subject: Change in ...docker-playground[master]: ttcn3-hlr-test: log to file and gsmtap In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14563 ) Change subject: ttcn3-hlr-test: log to file and gsmtap ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14563/2/ttcn3-hlr-test/osmo-hlr.cfg File ttcn3-hlr-test/osmo-hlr.cfg: https://gerrit.osmocom.org/#/c/14563/2/ttcn3-hlr-test/osmo-hlr.cfg at 24 PS2, Line 24: log gsmtap 172.18.10.103 I personally don't like having log in gsmtap, and I think we are not doing that in any test so far, so we should either do it for all or for no test suite. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifb4a39e6e2987f4dc04369508fe0dff0913a02ff Gerrit-Change-Number: 14563 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 12:53:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 12:59:00 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 21 Jun 2019 12:59:00 +0000 Subject: Change in ...docker-playground[master]: ttcn3-hlr-test: log to file and gsmtap In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14563 ) Change subject: ttcn3-hlr-test: log to file and gsmtap ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14563/2/ttcn3-hlr-test/osmo-hlr.cfg File ttcn3-hlr-test/osmo-hlr.cfg: https://gerrit.osmocom.org/#/c/14563/2/ttcn3-hlr-test/osmo-hlr.cfg at 24 PS2, Line 24: log gsmtap 172.18.10.103 > I personally don't like having log in gsmtap, and I think we are not doing that in any test so far, [?] Is there any downside to having gsmtap in tests? I find it useful to have the logs in the same pcap file as the trace of the test, and if somebody gets distracted from it, they could simply filter it away in the wireshark UI. I agree that having it the same for every test suite would be best. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifb4a39e6e2987f4dc04369508fe0dff0913a02ff Gerrit-Change-Number: 14563 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 12:59:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 13:24:27 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 21 Jun 2019 13:24:27 +0000 Subject: Change in ...libosmo-abis[master]: ipaccess: allow tcp keepalive for ipa clients, add TCP_USER_TIMEOUT In-Reply-To: References: Message-ID: Hoernchen has abandoned this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/14562 ) Change subject: ipaccess: allow tcp keepalive for ipa clients, add TCP_USER_TIMEOUT ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/14562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ie9fb070cbd208096e1713b902b22de2686fcb68d Gerrit-Change-Number: 14562 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 13:25:33 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 21 Jun 2019 13:25:33 +0000 Subject: Change in ...libosmo-abis[master]: ipaccess: allow tcp keepalive for ipa clients, add TCP_USER_TIMEOUT Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/14564 Change subject: ipaccess: allow tcp keepalive for ipa clients, add TCP_USER_TIMEOUT ...................................................................... ipaccess: allow tcp keepalive for ipa clients, add TCP_USER_TIMEOUT This allows using the e1_line x keepalive y z setting for clients like osmo-bts. Change-Id: Iadf22934ca6d3c44adac5573709ba53e75fa07da --- M src/input/ipaccess.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/64/14564/1 diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c index 136aa79..d0fa023 100644 --- a/src/input/ipaccess.c +++ b/src/input/ipaccess.c @@ -667,8 +667,10 @@ { struct e1inp_line *line = link->line; - if (up) - return; + if (up) { + update_fd_settings(line, link->ofd->fd); + return; + } if (line->ops->sign_link_down) line->ops->sign_link_down(line); -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/14564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Iadf22934ca6d3c44adac5573709ba53e75fa07da Gerrit-Change-Number: 14564 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 21 13:26:49 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 21 Jun 2019 13:26:49 +0000 Subject: Change in ...libosmo-abis[master]: add TCP_USER_TIMEOUT to keepalive Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/14565 Change subject: add TCP_USER_TIMEOUT to keepalive ...................................................................... add TCP_USER_TIMEOUT to keepalive The patch sets TCP_USER_TIMEOUT to the same timeout value, since keepalive only applies to idle connections, but we obviously want to fail as fast as possible even if there is data to send and it's not acked. Change-Id: I5e7425958472aa5d758e09bfbefc7d7d37bf6f5f --- M src/input/ipaccess.c 1 file changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/65/14565/1 diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c index d0fa023..fb6ad10 100644 --- a/src/input/ipaccess.c +++ b/src/input/ipaccess.c @@ -459,6 +459,17 @@ LOGP(DLINP, LOGL_NOTICE, "Failed to set keepalive count: %s\n", strerror(errno)); +#if defined(TCP_USER_TIMEOUT) + val = 1000 * line->keepalive_num_probes * + line->keepalive_probe_interval + + line->keepalive_idle_timeout; + ret = setsockopt(fd, IPPROTO_TCP, TCP_USER_TIMEOUT, + &val, sizeof(val)); + if (ret < 0) + LOGP(DLINP, LOGL_NOTICE, + "Failed to set user timoeut: %s\n", + strerror(errno)); +#endif #endif } } -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/14565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5e7425958472aa5d758e09bfbefc7d7d37bf6f5f Gerrit-Change-Number: 14565 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 21 13:27:09 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 21 Jun 2019 13:27:09 +0000 Subject: Change in ...libosmo-abis[master]: ipaccess: allow tcp keepalive for ipa clients 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/+/14564 to look at the new patch set (#2). Change subject: ipaccess: allow tcp keepalive for ipa clients ...................................................................... ipaccess: allow tcp keepalive for ipa clients This allows using the e1_line x keepalive y z setting for clients like osmo-bts. Change-Id: Iadf22934ca6d3c44adac5573709ba53e75fa07da --- M src/input/ipaccess.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/64/14564/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/14564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Iadf22934ca6d3c44adac5573709ba53e75fa07da Gerrit-Change-Number: 14564 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 13:30:41 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 21 Jun 2019 13:30:41 +0000 Subject: Change in ...docker-playground[master]: ttcn3-hlr-test: log to file and gsmtap In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14563 ) Change subject: ttcn3-hlr-test: log to file and gsmtap ...................................................................... Patch Set 2: I vote for having GSMTAP logs in all projects (not only for HLR). It's much easier to correlate the protocol traces with the logs in time. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifb4a39e6e2987f4dc04369508fe0dff0913a02ff Gerrit-Change-Number: 14563 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 13:30: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 Fri Jun 21 13:32:24 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Jun 2019 13:32:24 +0000 Subject: Change in ...libosmocore[master]: gsm: lapd_core: Log timeout used upon start of T200 Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14566 Change subject: gsm: lapd_core: Log timeout used upon start of T200 ...................................................................... gsm: lapd_core: Log timeout used upon start of T200 The timeout is calculated dynamically in t200_by_lchan() based on FN advance value estimated by bts_get_avg_fn_advance(), so it's informative to have the final value printed out. Change-Id: Ib50a9c23de881c66c9218833703cc41101e06bfd --- M src/gsm/lapd_core.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/66/14566/1 diff --git a/src/gsm/lapd_core.c b/src/gsm/lapd_core.c index 19dff4f..4019b7c 100644 --- a/src/gsm/lapd_core.c +++ b/src/gsm/lapd_core.c @@ -203,7 +203,8 @@ { if (osmo_timer_pending(&dl->t200)) return; - LOGP(DLLAPD, LOGL_INFO, "start T200 (dl=%p)\n", dl); + LOGP(DLLAPD, LOGL_INFO, "start T200 (dl=%p, timeout=%ld.%06lds)\n", + dl, dl->t200_sec, dl->t200_usec); osmo_timer_schedule(&dl->t200, dl->t200_sec, dl->t200_usec); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib50a9c23de881c66c9218833703cc41101e06bfd Gerrit-Change-Number: 14566 Gerrit-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 21 13:43:44 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Jun 2019 13:43:44 +0000 Subject: Change in ...libosmo-abis[master]: add TCP_USER_TIMEOUT to keepalive In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/14565 ) Change subject: add TCP_USER_TIMEOUT to keepalive ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/14565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5e7425958472aa5d758e09bfbefc7d7d37bf6f5f Gerrit-Change-Number: 14565 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 13:43: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 21 13:44:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Jun 2019 13:44:46 +0000 Subject: Change in ...libosmo-abis[master]: ipaccess: allow tcp keepalive for ipa clients In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/14564 ) Change subject: ipaccess: allow tcp keepalive for ipa clients ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/14564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Iadf22934ca6d3c44adac5573709ba53e75fa07da Gerrit-Change-Number: 14564 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 13:44:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 13:45:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Jun 2019 13:45:43 +0000 Subject: Change in ...docker-playground[master]: ttcn3-hlr-test: log to file and gsmtap In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14563 ) Change subject: ttcn3-hlr-test: log to file and gsmtap ...................................................................... Patch Set 2: Then if you want to push it forward, add it for all subdirectories. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifb4a39e6e2987f4dc04369508fe0dff0913a02ff Gerrit-Change-Number: 14563 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 13:45:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 14:36:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Jun 2019 14:36:08 +0000 Subject: Change in ...libosmo-abis[master]: ipaccess: allow tcp keepalive for ipa clients In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/14564 ) Change subject: ipaccess: allow tcp keepalive for ipa clients ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/14564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Iadf22934ca6d3c44adac5573709ba53e75fa07da Gerrit-Change-Number: 14564 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 14:36:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 14:36:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Jun 2019 14:36:31 +0000 Subject: Change in ...libosmo-abis[master]: add TCP_USER_TIMEOUT to keepalive In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/14565 ) Change subject: add TCP_USER_TIMEOUT to keepalive ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/14565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5e7425958472aa5d758e09bfbefc7d7d37bf6f5f Gerrit-Change-Number: 14565 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 14:36:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 15:24:31 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 21 Jun 2019 15:24:31 +0000 Subject: Change in ...libosmo-abis[master]: ipaccess: allow tcp keepalive for ipa clients In-Reply-To: References: Message-ID: Hoernchen has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmo-abis/+/14564 ) Change subject: ipaccess: allow tcp keepalive for ipa clients ...................................................................... ipaccess: allow tcp keepalive for ipa clients This allows using the e1_line x keepalive y z setting for clients like osmo-bts. Change-Id: Iadf22934ca6d3c44adac5573709ba53e75fa07da --- M src/input/ipaccess.c 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c index 136aa79..d0fa023 100644 --- a/src/input/ipaccess.c +++ b/src/input/ipaccess.c @@ -667,8 +667,10 @@ { struct e1inp_line *line = link->line; - if (up) - return; + if (up) { + update_fd_settings(line, link->ofd->fd); + return; + } if (line->ops->sign_link_down) line->ops->sign_link_down(line); -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/14564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Iadf22934ca6d3c44adac5573709ba53e75fa07da Gerrit-Change-Number: 14564 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen 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 Fri Jun 21 15:24:41 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 21 Jun 2019 15:24:41 +0000 Subject: Change in ...libosmo-abis[master]: add TCP_USER_TIMEOUT to keepalive In-Reply-To: References: Message-ID: Hoernchen has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmo-abis/+/14565 ) Change subject: add TCP_USER_TIMEOUT to keepalive ...................................................................... add TCP_USER_TIMEOUT to keepalive The patch sets TCP_USER_TIMEOUT to the same timeout value, since keepalive only applies to idle connections, but we obviously want to fail as fast as possible even if there is data to send and it's not acked. Change-Id: I5e7425958472aa5d758e09bfbefc7d7d37bf6f5f --- M src/input/ipaccess.c 1 file changed, 11 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/input/ipaccess.c b/src/input/ipaccess.c index d0fa023..fb6ad10 100644 --- a/src/input/ipaccess.c +++ b/src/input/ipaccess.c @@ -459,6 +459,17 @@ LOGP(DLINP, LOGL_NOTICE, "Failed to set keepalive count: %s\n", strerror(errno)); +#if defined(TCP_USER_TIMEOUT) + val = 1000 * line->keepalive_num_probes * + line->keepalive_probe_interval + + line->keepalive_idle_timeout; + ret = setsockopt(fd, IPPROTO_TCP, TCP_USER_TIMEOUT, + &val, sizeof(val)); + if (ret < 0) + LOGP(DLINP, LOGL_NOTICE, + "Failed to set user timoeut: %s\n", + strerror(errno)); +#endif #endif } } -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/14565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5e7425958472aa5d758e09bfbefc7d7d37bf6f5f Gerrit-Change-Number: 14565 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen 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 Fri Jun 21 16:38:40 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 21 Jun 2019 16:38:40 +0000 Subject: Change in ...osmo-bts[master]: revert changes to T200 Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14567 Change subject: revert changes to T200 ...................................................................... revert changes to T200 The timers are unfortunately completely broken, so let's go back to the long default timeout values. Change-Id: Ia44310245a348675dbbf3ffc3dc5b6d207fd62d3 --- M src/common/oml.c 1 file changed, 17 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/67/14567/1 diff --git a/src/common/oml.c b/src/common/oml.c index 8ecafbb..3defa49 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -479,13 +479,13 @@ /* The defaults below correspond to various sources/recommendations that could be found online. * The BSC should override this via OML anyway. */ const unsigned int oml_default_t200_ms[7] = { - [T200_SDCCH] = 220, - [T200_SDCCH_SAPI3] = 450, - [T200_SACCH_SDCCH] = 900, - [T200_FACCH_F] = 250, - [T200_FACCH_H] = 250, - [T200_SACCH_TCH_SAPI0] = 1500, - [T200_SACCH_TCH_SAPI3] = 1500, + [T200_SDCCH] = 1000, + [T200_FACCH_F] = 1000, + [T200_FACCH_H] = 1000, + [T200_SACCH_TCH_SAPI0] = 2000, + [T200_SACCH_SDCCH] = 2000, + [T200_SDCCH_SAPI3] = 1000, + [T200_SACCH_TCH_SAPI3] = 2000, }; /* 3GPP TS 52.021 ?8.11.1 Get Attributes has been received */ @@ -626,10 +626,20 @@ payload = TLVP_VAL(&tp, NM_ATT_T200); for (i = 0; i < ARRAY_SIZE(bts->t200_ms); i++) { uint32_t t200_ms = payload[i] * abis_nm_t200_ms[i]; +#if 0 bts->t200_ms[i] = t200_ms; DEBUGPFOH(DOML, foh, "T200[%u]: OML=%u, mult=%u => %u ms\n", i, payload[i], abis_nm_t200_ms[i], bts->t200_ms[i]); +#else + /* we'd rather use the 1s/2s (long) defaults by + * libosmocore, as we appear to have some bug(s) + * related to handling T200 expiration in + * libosmogsm lapd(m) code? */ + LOGPFOH(DOML, LOGL_NOTICE, foh, "Ignoring T200[%u] (%u ms) " + "as sent by BSC due to suspected LAPDm bug!\n", + i, t200_ms); +#endif } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia44310245a348675dbbf3ffc3dc5b6d207fd62d3 Gerrit-Change-Number: 14567 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 21 16:44:52 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Jun 2019 16:44:52 +0000 Subject: Change in ...osmo-bts[master]: revert changes to T200 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14567 ) Change subject: revert changes to T200 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14567/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14567/1//COMMIT_MSG at 12 PS1, Line 12: Change-Id: Ia44310245a348675dbbf3ffc3dc5b6d207fd62d3 May be worth adding a reference to #4066 and #4074 Also a reference where "new" values come from (1ff0a2addd04de5bfe1601e84b013c65e500faf0) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia44310245a348675dbbf3ffc3dc5b6d207fd62d3 Gerrit-Change-Number: 14567 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-CC: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 16:44: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 Fri Jun 21 16:46:22 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Jun 2019 16:46:22 +0000 Subject: Change in ...osmo-bts[master]: revert changes to T200 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14567 ) Change subject: revert changes to T200 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14567/1/src/common/oml.c File src/common/oml.c: https://gerrit.osmocom.org/#/c/14567/1/src/common/oml.c at 636 PS1, Line 636: * libosmocore, as we appear to have some bug(s) Defaults are actually from BTS, not libosmocore. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia44310245a348675dbbf3ffc3dc5b6d207fd62d3 Gerrit-Change-Number: 14567 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-CC: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 16:46:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 16:47:49 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 21 Jun 2019 16:47:49 +0000 Subject: Change in ...osmo-bts[master]: revert changes to T200 In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14567 ) Change subject: revert changes to T200 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14567/1/src/common/oml.c File src/common/oml.c: https://gerrit.osmocom.org/#/c/14567/1/src/common/oml.c at 636 PS1, Line 636: * libosmocore, as we appear to have some bug(s) > Defaults are actually from BTS, not libosmocore. This is literally a partial undo of the previous commits, i changed nothing... -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia44310245a348675dbbf3ffc3dc5b6d207fd62d3 Gerrit-Change-Number: 14567 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-CC: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 16:47:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 16:54:58 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 21 Jun 2019 16:54:58 +0000 Subject: Change in ...osmo-bts[master]: revert changes to T200 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/+/14567 to look at the new patch set (#2). Change subject: revert changes to T200 ...................................................................... revert changes to T200 The timers are unfortunately completely broken, so let's go back to the long default timeout values from 1ff0a2addd04de5bfe1601e84b013c65e500faf0 See related issues OS#4066 and OS#4074 Change-Id: Ia44310245a348675dbbf3ffc3dc5b6d207fd62d3 --- M src/common/oml.c 1 file changed, 17 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/67/14567/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia44310245a348675dbbf3ffc3dc5b6d207fd62d3 Gerrit-Change-Number: 14567 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen 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 21 16:55:13 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 21 Jun 2019 16:55:13 +0000 Subject: Change in ...osmo-bts[master]: revert changes to T200 In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14567 ) Change subject: revert changes to T200 ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14567/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14567/1//COMMIT_MSG at 12 PS1, Line 12: Change-Id: Ia44310245a348675dbbf3ffc3dc5b6d207fd62d3 > May be worth adding a reference to #4066 and #4074 [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia44310245a348675dbbf3ffc3dc5b6d207fd62d3 Gerrit-Change-Number: 14567 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 16:55: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 Fri Jun 21 16:56:20 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Jun 2019 16:56:20 +0000 Subject: Change in ...osmo-bts[master]: revert changes to T200 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14567 ) Change subject: revert changes to T200 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia44310245a348675dbbf3ffc3dc5b6d207fd62d3 Gerrit-Change-Number: 14567 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 16: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 Fri Jun 21 16:56:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Jun 2019 16:56:41 +0000 Subject: Change in ...libosmocore[master]: gsm: lapd_core: Log timeout used upon start of T200 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/+/14566 to look at the new patch set (#2). Change subject: gsm: lapd_core: Log timeout used upon start of T200 ...................................................................... gsm: lapd_core: Log timeout used upon start of T200 The timeout is calculated dynamically in t200_by_lchan() based on FN advance value estimated by bts_get_avg_fn_advance(), so it's informative to have the final value printed out. Change-Id: Ib50a9c23de881c66c9218833703cc41101e06bfd --- M src/gsm/lapd_core.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/66/14566/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib50a9c23de881c66c9218833703cc41101e06bfd Gerrit-Change-Number: 14566 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 16:57:18 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 21 Jun 2019 16:57:18 +0000 Subject: Change in ...osmo-bts[master]: revert changes to T200 In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14567 ) Change subject: revert changes to T200 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia44310245a348675dbbf3ffc3dc5b6d207fd62d3 Gerrit-Change-Number: 14567 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 16:57:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 16:59:48 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 21 Jun 2019 16:59:48 +0000 Subject: Change in ...osmo-bts[master]: RSL: Fix fixed MS power control in RSL CHAN ACTIV In-Reply-To: References: Message-ID: Hoernchen has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14489 ) Change subject: RSL: Fix fixed MS power control in RSL CHAN ACTIV ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0bbe171a287b10d71fc853cd721f66e4c84db8c5 Gerrit-Change-Number: 14489 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen 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 21 17:00:07 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 21 Jun 2019 17:00:07 +0000 Subject: Change in ...osmo-bts[master]: revert changes to T200 In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14567 ) Change subject: revert changes to T200 ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia44310245a348675dbbf3ffc3dc5b6d207fd62d3 Gerrit-Change-Number: 14567 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 17:00:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 17:00:12 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 21 Jun 2019 17:00:12 +0000 Subject: Change in ...osmo-bts[master]: revert changes to T200 In-Reply-To: References: Message-ID: Hoernchen has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14567 ) Change subject: revert changes to T200 ...................................................................... revert changes to T200 The timers are unfortunately completely broken, so let's go back to the long default timeout values from 1ff0a2addd04de5bfe1601e84b013c65e500faf0 See related issues OS#4066 and OS#4074 Change-Id: Ia44310245a348675dbbf3ffc3dc5b6d207fd62d3 --- M src/common/oml.c 1 file changed, 17 insertions(+), 7 deletions(-) Approvals: Hoernchen: Looks good to me, approved; Verified pespin: Looks good to me, approved diff --git a/src/common/oml.c b/src/common/oml.c index 8ecafbb..3defa49 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -479,13 +479,13 @@ /* The defaults below correspond to various sources/recommendations that could be found online. * The BSC should override this via OML anyway. */ const unsigned int oml_default_t200_ms[7] = { - [T200_SDCCH] = 220, - [T200_SDCCH_SAPI3] = 450, - [T200_SACCH_SDCCH] = 900, - [T200_FACCH_F] = 250, - [T200_FACCH_H] = 250, - [T200_SACCH_TCH_SAPI0] = 1500, - [T200_SACCH_TCH_SAPI3] = 1500, + [T200_SDCCH] = 1000, + [T200_FACCH_F] = 1000, + [T200_FACCH_H] = 1000, + [T200_SACCH_TCH_SAPI0] = 2000, + [T200_SACCH_SDCCH] = 2000, + [T200_SDCCH_SAPI3] = 1000, + [T200_SACCH_TCH_SAPI3] = 2000, }; /* 3GPP TS 52.021 ?8.11.1 Get Attributes has been received */ @@ -626,10 +626,20 @@ payload = TLVP_VAL(&tp, NM_ATT_T200); for (i = 0; i < ARRAY_SIZE(bts->t200_ms); i++) { uint32_t t200_ms = payload[i] * abis_nm_t200_ms[i]; +#if 0 bts->t200_ms[i] = t200_ms; DEBUGPFOH(DOML, foh, "T200[%u]: OML=%u, mult=%u => %u ms\n", i, payload[i], abis_nm_t200_ms[i], bts->t200_ms[i]); +#else + /* we'd rather use the 1s/2s (long) defaults by + * libosmocore, as we appear to have some bug(s) + * related to handling T200 expiration in + * libosmogsm lapd(m) code? */ + LOGPFOH(DOML, LOGL_NOTICE, foh, "Ignoring T200[%u] (%u ms) " + "as sent by BSC due to suspected LAPDm bug!\n", + i, t200_ms); +#endif } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia44310245a348675dbbf3ffc3dc5b6d207fd62d3 Gerrit-Change-Number: 14567 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen 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 21 17:00:20 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 21 Jun 2019 17:00:20 +0000 Subject: Change in ...osmo-bts[master]: RSL: Fix fixed MS power control in RSL CHAN ACTIV In-Reply-To: References: Message-ID: Hoernchen has restored this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14489 ) Change subject: RSL: Fix fixed MS power control in RSL CHAN ACTIV ...................................................................... Restored -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0bbe171a287b10d71fc853cd721f66e4c84db8c5 Gerrit-Change-Number: 14489 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: restore -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 17:08:31 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Jun 2019 17:08:31 +0000 Subject: Change in ...osmo-bts[master]: bts: Set T200 DCCH values for CCCH Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14568 Change subject: bts: Set T200 DCCH values for CCCH ...................................................................... bts: Set T200 DCCH values for CCCH Otherwise t200_ms_dcch array values are left uninitialized with random values, and passed later on to lapdm_channel_init2(). Catched due to some strange values seen in log (see D0 and D3): osmo-bts/src/common/bts.c:421 (bts=0,trx=0,ts=0,ss=4) Setting T200 D0=1028672, D3=2, S0=520, S3=520 (all in ms) There doesn't seem to be any related field passed by BSC to specifically set T200 for this chan type, so let's use the one from SDCCH. Related: OS#4066 Change-Id: I3d7e1883811acf97aac97325739f2ff97fc2aa08 --- M src/common/bts.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/68/14568/1 diff --git a/src/common/bts.c b/src/common/bts.c index b912f33..80c7834 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -392,6 +392,7 @@ t200_ms_acch[DL_SAPI3] = bts->t200_ms[T200_SACCH_SDCCH] + fn_advance_ms; switch (lchan->type) { + case GSM_LCHAN_CCCH: case GSM_LCHAN_SDCCH: t200_ms_dcch[DL_SAPI0] = bts->t200_ms[T200_SDCCH] + fn_advance_ms; t200_ms_dcch[DL_SAPI3] = bts->t200_ms[T200_SDCCH_SAPI3] + fn_advance_ms; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3d7e1883811acf97aac97325739f2ff97fc2aa08 Gerrit-Change-Number: 14568 Gerrit-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 21 17:09:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 21 Jun 2019 17:09:15 +0000 Subject: Change in ...osmo-bts[master]: bts: Set T200 DCCH values for CCCH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14568 ) Change subject: bts: Set T200 DCCH values for CCCH ...................................................................... Patch Set 1: I'm not sure this is the best approach or even really correct, comments welcome. If that type of value is really not used in the end, we'd still then set it to 0 for instance. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3d7e1883811acf97aac97325739f2ff97fc2aa08 Gerrit-Change-Number: 14568 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 21 Jun 2019 17:09: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 21 17:30:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Jun 2019 17:30:31 +0000 Subject: Change in ...osmo-bts[master]: bts: Set T200 DCCH values for CCCH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14568 ) Change subject: bts: Set T200 DCCH values for CCCH ...................................................................... Patch Set 1: Code-Review-1 The CCCH is a uni-directional downlink-only logical channel whcih doesn't run any LAPDm. So in fact, we should never end up initializing lapdm_dl related structures for that channel. I guess it's some generic code that doesn't "know" that we use sub-slot 4 for CCCH/BCCH (0..3 are the SDCCH/4 on a combined CCCH+SDCCH4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3d7e1883811acf97aac97325739f2ff97fc2aa08 Gerrit-Change-Number: 14568 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 17:30: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 21 17:31:07 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Jun 2019 17:31:07 +0000 Subject: Change in ...libosmocore[master]: gsm: lapd_core: Log timeout used upon start of T200 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14566 ) Change subject: gsm: lapd_core: Log timeout used upon start of T200 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib50a9c23de881c66c9218833703cc41101e06bfd Gerrit-Change-Number: 14566 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 21 Jun 2019 17:31:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 21 17:31:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Jun 2019 17:31:09 +0000 Subject: Change in ...libosmocore[master]: gsm: lapd_core: Log timeout used upon start of T200 In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14566 ) Change subject: gsm: lapd_core: Log timeout used upon start of T200 ...................................................................... gsm: lapd_core: Log timeout used upon start of T200 The timeout is calculated dynamically in t200_by_lchan() based on FN advance value estimated by bts_get_avg_fn_advance(), so it's informative to have the final value printed out. Change-Id: Ib50a9c23de881c66c9218833703cc41101e06bfd --- M src/gsm/lapd_core.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gsm/lapd_core.c b/src/gsm/lapd_core.c index 19dff4f..a0f3c2b 100644 --- a/src/gsm/lapd_core.c +++ b/src/gsm/lapd_core.c @@ -203,7 +203,8 @@ { if (osmo_timer_pending(&dl->t200)) return; - LOGP(DLLAPD, LOGL_INFO, "start T200 (dl=%p)\n", dl); + LOGP(DLLAPD, LOGL_INFO, "start T200 (dl=%p, timeout=%d.%06ds)\n", + dl, dl->t200_sec, dl->t200_usec); osmo_timer_schedule(&dl->t200, dl->t200_sec, dl->t200_usec); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib50a9c23de881c66c9218833703cc41101e06bfd Gerrit-Change-Number: 14566 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 21 17:33:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Jun 2019 17:33:20 +0000 Subject: Change in ...docker-playground[master]: ttcn3-hlr-test: log to file and gsmtap In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14563 ) Change subject: ttcn3-hlr-test: log to file and gsmtap ...................................................................... Patch Set 2: I think those are actually separate patches: 1) add the missing file output which all other tests normally have to osmo-hlr test (trivial, can be merged immediately) 2) adding GSMTAP logging everywhere, which seems to be a change of policy that not everyone likes and hence needs some discussion -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifb4a39e6e2987f4dc04369508fe0dff0913a02ff Gerrit-Change-Number: 14563 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 17:33: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 21 17:33:34 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Jun 2019 17:33:34 +0000 Subject: Change in ...docker-playground[master]: Have only one bts/bsc configured in osmo-bsc and bscnat In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14546 ) Change subject: Have only one bts/bsc configured in osmo-bsc and bscnat ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I57468d983580b5ed4f15961ac1eac9bed9096556 Gerrit-Change-Number: 14546 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 21 Jun 2019 17:33: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 21 17:47:38 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 21 Jun 2019 17:47:38 +0000 Subject: Change in ...osmo-bts[master]: revert changes to T200 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14567 ) Change subject: revert changes to T200 ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/14567/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14567/3//COMMIT_MSG at 12 PS3, Line 12: See related issues OS#4066 and OS#4074 We actually put those in a specific format so they can be machine-parsed. Please use that syntax ("Related: OS#...") or ("Closes: OS#...."). -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia44310245a348675dbbf3ffc3dc5b6d207fd62d3 Gerrit-Change-Number: 14567 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 21 Jun 2019 17:47:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Jun 22 02:43:47 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 22 Jun 2019 02:43:47 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0d95f3a7084_4e3c62c5f03580ec@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 716s] -Returned: 0, Current node: 1 '%s> ' [ 716s] -Going to execute 'ambiguous_str' [ 716s] -Called: 'ambiguous_str [ARG]' (argc=0) [ 716s] -Returned: 0, Current node: 1 '%s> ' [ 716s] -Going to execute 'ambiguous_str arg' [ 716s] -Called: 'ambiguous_str [ARG]' (argc=1) [ 716s] -Returned: 0, Current node: 1 '%s> ' [ 716s] -Going to execute 'ambiguous_str arg keyword' [ 716s] -Called: 'ambiguous_str ARG keyword' [ 716s] -Returned: 0, Current node: 1 '%s> ' [ 716s] -All tests passed [ 716s] ./testsuite.at:196: exit code was 139, expected 0 [ 716s] 31. testsuite.at:192: 31. vty (testsuite.at:192): FAILED (testsuite.at:196) [ 716s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 716s] make[1]: *** [override_dh_auto_test] Error 1 [ 716s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 716s] debian/rules:15: recipe for target 'build' failed [ 716s] make: *** [build] Error 2 [ 716s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 716s] [ 716s] obs-arm-6 failed "build libosmocore_1.1.0.72.28a1.dsc" at Sat Jun 22 02:43:37 UTC 2019. [ 716s] [ 716s] ### VM INTERACTION START ### [ 718s] [ 690.857251] sysrq: SysRq : Power Off [ 718s] [ 690.859622] reboot: Power down [ 719s] ### VM INTERACTION END ### [ 719s] [ 719s] obs-arm-6 failed "build libosmocore_1.1.0.72.28a1.dsc" at Sat Jun 22 02:43:41 UTC 2019. [ 719s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 22 02:58:55 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 22 Jun 2019 02:58:55 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0d9979e672_4e3c62c5f03588a8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 380s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 380s] ./src/common/bts.c:423: undefined reference to `lapdm_channel_init2' [ 380s] collect2: error: ld returned 1 exit status [ 380s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 380s] make[4]: *** [osmo-bts-virtual] Error 1 [ 380s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 380s] Makefile:385: recipe for target 'all-recursive' failed [ 380s] make[3]: *** [all-recursive] Error 1 [ 380s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 380s] Makefile:434: recipe for target 'all-recursive' failed [ 380s] make[2]: *** [all-recursive] Error 1 [ 380s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 380s] Makefile:366: recipe for target 'all' failed [ 380s] make[1]: *** [all] Error 2 [ 380s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 380s] dh_auto_build: make -j1 returned exit code 2 [ 380s] debian/rules:12: recipe for target 'build' failed [ 380s] make: *** [build] Error 2 [ 380s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 380s] [ 380s] armbuild21 failed "build osmo-bts_0.8.1.328.5b92.dsc" at Sat Jun 22 02:58:51 UTC 2019. [ 380s] [ 380s] ### VM INTERACTION START ### [ 383s] [ 360.979669] sysrq: SysRq : Power Off [ 384s] [ 361.016924] reboot: Power down [ 384s] ### VM INTERACTION END ### [ 384s] [ 384s] armbuild21 failed "build osmo-bts_0.8.1.328.5b92.dsc" at Sat Jun 22 02:58:54 UTC 2019. [ 384s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 22 03:39:12 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 22 Jun 2019 03:39:12 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0da2f545603_4e3c62c5f0360620@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-sgsn failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 403s] bss_ptmsi = bss_ptmsi | GSM23003_TMSI_SGSN_MASK; [ 403s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 403s] gb_proxy.c:246:28: note: each undeclared identifier is reported only once for each function it appears in [ 403s] Makefile:615: recipe for target 'gb_proxy.o' failed [ 403s] make[4]: *** [gb_proxy.o] Error 1 [ 403s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/gprs' [ 403s] Makefile:391: recipe for target 'all-recursive' failed [ 403s] make[3]: *** [all-recursive] Error 1 [ 403s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 403s] Makefile:453: recipe for target 'all-recursive' failed [ 403s] make[2]: *** [all-recursive] Error 1 [ 403s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 403s] Makefile:385: recipe for target 'all' failed [ 403s] make[1]: *** [all] Error 2 [ 403s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 403s] dh_auto_build: make -j1 returned exit code 2 [ 403s] debian/rules:45: recipe for target 'build' failed [ 403s] make: *** [build] Error 2 [ 403s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 403s] [ 403s] obs-arm-6 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Sat Jun 22 03:39:00 UTC 2019. [ 403s] [ 403s] ### VM INTERACTION START ### [ 407s] [ 379.570917] sysrq: SysRq : Power Off [ 407s] [ 379.589575] reboot: Power down [ 407s] ### VM INTERACTION END ### [ 407s] [ 407s] obs-arm-6 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Sat Jun 22 03:39:04 UTC 2019. [ 407s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 22 03:40:21 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 22 Jun 2019 03:40:21 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0da32f325fb_4e3c62c5f036111a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-msc failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 477s] tmsi |= GSM23003_TMSI_SGSN_MASK; [ 477s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 477s] vlr.c:339:12: note: each undeclared identifier is reported only once for each function it appears in [ 477s] Makefile:442: recipe for target 'vlr.o' failed [ 477s] make[4]: *** [vlr.o] Error 1 [ 477s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/libvlr' [ 477s] Makefile:422: recipe for target 'all-recursive' failed [ 477s] make[3]: *** [all-recursive] Error 1 [ 477s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 477s] Makefile:462: recipe for target 'all-recursive' failed [ 477s] make[2]: *** [all-recursive] Error 1 [ 477s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 477s] Makefile:394: recipe for target 'all' failed [ 477s] make[1]: *** [all] Error 2 [ 477s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 477s] dh_auto_build: make -j1 returned exit code 2 [ 477s] debian/rules:45: recipe for target 'build' failed [ 477s] make: *** [build] Error 2 [ 477s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 477s] [ 477s] armbuild22 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Sat Jun 22 03:40:07 UTC 2019. [ 477s] [ 477s] ### VM INTERACTION START ### [ 480s] [ 459.562448] sysrq: SysRq : Power Off [ 480s] [ 459.586993] reboot: Power down [ 480s] ### VM INTERACTION END ### [ 480s] [ 480s] armbuild22 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Sat Jun 22 03:40:10 UTC 2019. [ 480s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat Jun 22 08:01:40 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 Jun 2019 08:01:40 +0000 Subject: Change in ...osmo-bts[master]: RSL: Fix fixed MS power control in RSL CHAN ACTIV In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14489 ) Change subject: RSL: Fix fixed MS power control in RSL CHAN ACTIV ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0bbe171a287b10d71fc853cd721f66e4c84db8c5 Gerrit-Change-Number: 14489 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sat, 22 Jun 2019 08:01:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 22 08:12:25 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 Jun 2019 08:12:25 +0000 Subject: Change in ...osmo-pcu[master]: decompress_crbb: replace int8_t with uint8_t as length In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14480 ) Change subject: decompress_crbb: replace int8_t with uint8_t as length ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/#/c/14480/1/src/egprs_rlc_compression.cpp File src/egprs_rlc_compression.cpp: https://gerrit.osmocom.org/#/c/14480/1/src/egprs_rlc_compression.cpp at 512 PS1, Line 512: while (compress_bmap_len > 0) So this condition becomes meaningless. https://gerrit.osmocom.org/#/c/14480/1/src/egprs_rlc_compression.cpp at 539 PS1, Line 539: compress_bmap_len = compress_bmap_len - nbits; ... and here we can get unexpected results. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7099bff92eba3bf4db8601a2575c721e2579ce8e Gerrit-Change-Number: 14480 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 22 Jun 2019 08:12:25 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 22 13:59:08 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 22 Jun 2019 13:59:08 +0000 Subject: Change in ...osmo-pcu[master]: decompress_crbb: replace int8_t with uint8_t as length In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14480 ) Change subject: decompress_crbb: replace int8_t with uint8_t as length ...................................................................... Patch Set 1: Thanks fixeria, will need to look further. Will mark this for now as WIP. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7099bff92eba3bf4db8601a2575c721e2579ce8e Gerrit-Change-Number: 14480 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 22 Jun 2019 13:59: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 Sat Jun 22 13:59:13 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 22 Jun 2019 13:59:13 +0000 Subject: Change in ...osmo-pcu[master]: decompress_crbb: add length argument for search_runlen In-Reply-To: References: Message-ID: Hello pespin, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/14481 to look at the new patch set (#2). Change subject: decompress_crbb: add length argument for search_runlen ...................................................................... decompress_crbb: add length argument for search_runlen search_runlen() must know the exact size in bits when parsing the bits otherwise it read over the buffer. Fixes testcase #7 which was wrongly decoded. Change-Id: Ie34a0651e7e7efea4e9ecff1e3a467588113cf47 --- M src/egprs_rlc_compression.cpp M tests/bitcomp/BitcompTest.cpp M tests/bitcomp/BitcompTest.err 3 files changed, 14 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/81/14481/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie34a0651e7e7efea4e9ecff1e3a467588113cf47 Gerrit-Change-Number: 14481 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 22 14:13:21 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 22 Jun 2019 14:13:21 +0000 Subject: Change in ...osmo-pcu[master]: rlc: replace int with uint16_t Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14569 Change subject: rlc: replace int with uint16_t ...................................................................... rlc: replace int with uint16_t The i value will only count forward and is limited to 11 bit. The integer is also converted when returning to uint16_t Change-Id: Ib8a9081bbcb8b4344498254c58941002d17f9381 --- M src/rlc.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/69/14569/1 diff --git a/src/rlc.cpp b/src/rlc.cpp index e5067c9..c6d4330 100644 --- a/src/rlc.cpp +++ b/src/rlc.cpp @@ -91,7 +91,7 @@ /* Update the receive block bitmap */ uint16_t gprs_rlc_ul_window::update_egprs_rbb(uint8_t *rbb) { - int i; + uint16_t i; uint16_t bsn; uint16_t bitmask = 0x80; int8_t pos = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib8a9081bbcb8b4344498254c58941002d17f9381 Gerrit-Change-Number: 14569 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 22 14:13:22 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 22 Jun 2019 14:13:22 +0000 Subject: Change in ...osmo-pcu[master]: Encoding: drop struct gprs_rlcmac_bts* from all functions Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14570 Change subject: Encoding: drop struct gprs_rlcmac_bts* from all functions ...................................................................... Encoding: drop struct gprs_rlcmac_bts* from all functions The bts is not used at all. Change-Id: Ia07755e825913a16352ab13f6cf55f2918de8681 --- M src/encoding.cpp M src/encoding.h M src/tbf.cpp M src/tbf_ul.cpp 4 files changed, 12 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/70/14570/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index 530cba7..a290c65 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -543,7 +543,6 @@ /* generate uplink assignment */ void Encoding::write_packet_uplink_assignment( - struct gprs_rlcmac_bts *bts, bitvec * dest, uint8_t old_tfi, uint8_t old_downlink, uint32_t tlli, uint8_t use_tlli, struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, uint8_t alpha, @@ -787,7 +786,7 @@ } static void write_packet_ack_nack_desc_gprs( - struct gprs_rlcmac_bts *bts, bitvec * dest, unsigned& wp, + bitvec * dest, unsigned& wp, gprs_rlc_ul_window *window, bool is_final) { char rbb[65]; @@ -809,12 +808,12 @@ } static void write_packet_uplink_ack_gprs( - struct gprs_rlcmac_bts *bts, bitvec * dest, unsigned& wp, + bitvec * dest, unsigned& wp, struct gprs_rlcmac_ul_tbf *tbf, bool is_final) { bitvec_write_field(dest, &wp, mcs_chan_code(tbf->current_cs()), 2); // CHANNEL_CODING_COMMAND - write_packet_ack_nack_desc_gprs(bts, dest, wp, tbf->window(), is_final); + write_packet_ack_nack_desc_gprs(dest, wp, tbf->window(), is_final); bitvec_write_field(dest, &wp, 1, 1); // 1: have CONTENTION_RESOLUTION_TLLI bitvec_write_field(dest, &wp, tbf->tlli(), 32); // CONTENTION_RESOLUTION_TLLI @@ -830,7 +829,7 @@ }; static void write_packet_ack_nack_desc_egprs( - struct gprs_rlcmac_bts *bts, bitvec * dest, unsigned& wp, + bitvec * dest, unsigned& wp, gprs_rlc_ul_window *window, bool is_final, unsigned& rest_bits) { unsigned int urbb_len = 0; @@ -988,7 +987,7 @@ } static void write_packet_uplink_ack_egprs( - struct gprs_rlcmac_bts *bts, bitvec * dest, unsigned& wp, + bitvec * dest, unsigned& wp, struct gprs_rlcmac_ul_tbf *tbf, bool is_final) { bitvec_write_field(dest, &wp, 0, 2); // fixed 00 @@ -1010,15 +1009,14 @@ /* -2 for last bit 0 mandatory and REL5 not supported */ unsigned bits_ack_nack = dest->data_len * 8 - wp - 2; - write_packet_ack_nack_desc_egprs(bts, dest, wp, tbf->window(), is_final, bits_ack_nack); + write_packet_ack_nack_desc_egprs(dest, wp, tbf->window(), is_final, bits_ack_nack); bitvec_write_field(dest, &wp, 0, 1); // fixed 0 bitvec_write_field(dest, &wp, 0, 1); // 0: don't have REL 5 }; void Encoding::write_packet_uplink_ack( - struct gprs_rlcmac_bts *bts, bitvec * dest, - struct gprs_rlcmac_ul_tbf *tbf, bool is_final, + bitvec * dest, struct gprs_rlcmac_ul_tbf *tbf, bool is_final, uint8_t rrbp) { unsigned wp = 0; @@ -1039,11 +1037,11 @@ if (tbf->is_egprs_enabled()) { /* PU_AckNack_EGPRS = on */ bitvec_write_field(dest, &wp, 1, 1); // 1: EGPRS - write_packet_uplink_ack_egprs(bts, dest, wp, tbf, is_final); + write_packet_uplink_ack_egprs(dest, wp, tbf, is_final); } else { /* PU_AckNack_GPRS = on */ bitvec_write_field(dest, &wp, 0, 1); // 0: GPRS - write_packet_uplink_ack_gprs(bts, dest, wp, tbf, is_final); + write_packet_uplink_ack_gprs(dest, wp, tbf, is_final); } LOGP(DRLCMACUL, LOGL_DEBUG, diff --git a/src/encoding.h b/src/encoding.h index 2309dc3..6dcced0 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -27,7 +27,6 @@ #include } -struct gprs_rlcmac_bts; struct gprs_rlcmac_tbf; struct bitvec; struct gprs_llc; @@ -57,7 +56,6 @@ ); static void write_packet_uplink_assignment( - struct gprs_rlcmac_bts *bts, bitvec * dest, uint8_t old_tfi, uint8_t old_downlink, uint32_t tlli, uint8_t use_tlli, struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, @@ -76,8 +74,7 @@ bitvec * dest, uint32_t tlli); static void write_packet_uplink_ack( - struct gprs_rlcmac_bts *bts, bitvec * dest, - struct gprs_rlcmac_ul_tbf *tbf, bool is_final, + bitvec * dest, struct gprs_rlcmac_ul_tbf *tbf, bool is_final, uint8_t rrbp); static int write_paging_request(bitvec * dest, uint8_t *ptmsi, uint16_t ptmsi_len); diff --git a/src/tbf.cpp b/src/tbf.cpp index dc90dbb..a099322 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -1365,7 +1365,7 @@ return NULL; } bitvec_unhex(ass_vec, DUMMY_VEC); - Encoding::write_packet_uplink_assignment(bts_data(), ass_vec, m_tfi, + Encoding::write_packet_uplink_assignment(ass_vec, m_tfi, (direction == GPRS_RLCMAC_DL_TBF), tlli(), is_tlli_valid(), new_tbf, 1, rrbp, bts_data()->alpha, bts_data()->gamma, -1, is_egprs_enabled()); diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index e1a0fbd..55c83e7 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -153,7 +153,7 @@ return NULL; } bitvec_unhex(ack_vec, DUMMY_VEC); - Encoding::write_packet_uplink_ack(bts_data(), ack_vec, this, final, rrbp); + Encoding::write_packet_uplink_ack(ack_vec, this, final, rrbp); bitvec_pack(ack_vec, msgb_put(msg, 23)); bitvec_free(ack_vec); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia07755e825913a16352ab13f6cf55f2918de8681 Gerrit-Change-Number: 14570 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 22 14:13:22 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 22 Jun 2019 14:13:22 +0000 Subject: Change in ...osmo-pcu[master]: Encoding: use uint16_t when interacting with the window object Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14571 Change subject: Encoding: use uint16_t when interacting with the window object ...................................................................... Encoding: use uint16_t when interacting with the window object The ESN, SSN and uncompress bitmap len are uint16_t. The Window is using uint16_t in function arguments and return values. Don't do so many integer conversions. Change-Id: If62fa09d7bfa8e91ce707824f7019edb1b83da9e --- M src/encoding.cpp 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/71/14571/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index a290c65..e868379 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -837,14 +837,14 @@ uint8_t len; bool bow = true; bool eow = true; - int ssn = window->mod_sns(window->v_q() + 1); + uint16_t ssn = window->mod_sns(window->v_q() + 1); unsigned int num_blocks = window->mod_sns(window->v_r() - window->v_q()); - int esn_crbb = window->mod_sns(ssn - 1); + uint16_t esn_crbb = window->mod_sns(ssn - 1); static uint8_t rbb[RLC_EGPRS_MAX_WS] = {'\0'}; uint8_t iter = 0; int is_compressed = 0; bool try_compression = false; - uint8_t ucmp_bmplen; + uint16_t ucmp_bmplen; uint8_t crbb_bitmap[23] = {'\0'}; bitvec ucmp_vec; bitvec crbb_vec; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If62fa09d7bfa8e91ce707824f7019edb1b83da9e Gerrit-Change-Number: 14571 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 22 14:33:03 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 Jun 2019 14:33:03 +0000 Subject: Change in ...osmo-pcu[master]: rlc: replace int with uint16_t In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14569 ) Change subject: rlc: replace int with uint16_t ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib8a9081bbcb8b4344498254c58941002d17f9381 Gerrit-Change-Number: 14569 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sat, 22 Jun 2019 14:33: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 22 14:36:11 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 Jun 2019 14:36:11 +0000 Subject: Change in ...osmo-pcu[master]: Encoding: drop struct gprs_rlcmac_bts* from all functions In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14570 ) Change subject: Encoding: drop struct gprs_rlcmac_bts* from all functions ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia07755e825913a16352ab13f6cf55f2918de8681 Gerrit-Change-Number: 14570 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 22 Jun 2019 14: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 Sat Jun 22 14:45:58 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 Jun 2019 14:45:58 +0000 Subject: Change in ...osmo-pcu[master]: tests/BitcompTest: fix wording in log message In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14482 ) Change subject: tests/BitcompTest: fix wording in log message ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie7a2b31e305dffb2776698d1bc8e80d6a435c135 Gerrit-Change-Number: 14482 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 22 Jun 2019 14:45: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 Sat Jun 22 14:46:57 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 22 Jun 2019 14:46:57 +0000 Subject: Change in ...osmo-pcu[master]: tests/BitcompTest: fix wording in log message In-Reply-To: References: Message-ID: lynxis lazus has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14482 ) Change subject: tests/BitcompTest: fix wording in log message ...................................................................... tests/BitcompTest: fix wording in log message The testcase is showing the compressed rbb. Change-Id: Ie7a2b31e305dffb2776698d1bc8e80d6a435c135 --- M tests/bitcomp/BitcompTest.cpp M tests/bitcomp/BitcompTest.err 2 files changed, 10 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved pespin: Looks good to me, approved diff --git a/tests/bitcomp/BitcompTest.cpp b/tests/bitcomp/BitcompTest.cpp index 98bb2cc..3fd3b1a 100644 --- a/tests/bitcomp/BitcompTest.cpp +++ b/tests/bitcomp/BitcompTest.cpp @@ -140,7 +140,7 @@ dest.cur_bit = 0; _LOG("\nTest:%d\n" "Tree based decoding:\n" - "uncompressed data = %s\n" + "compressed data = %s\n" "len = %d\n", itr + 1, osmo_hexdump(test[itr].crbb_data, diff --git a/tests/bitcomp/BitcompTest.err b/tests/bitcomp/BitcompTest.err index 2eabd78..0642845 100644 --- a/tests/bitcomp/BitcompTest.err +++ b/tests/bitcomp/BitcompTest.err @@ -1,7 +1,7 @@ Test:1 Tree based decoding: -uncompressed data = 02 0c a0 30 cb 1a 0c e3 6c +compressed data = 02 0c a0 30 cb 1a 0c e3 6c len = 67 Run_length = 29 Run_length = 26 @@ -19,7 +19,7 @@ Test:2 Tree based decoding: -uncompressed data = 53 06 c5 40 6d +compressed data = 53 06 c5 40 6d len = 40 Run_length = 50 Run_length = 40 @@ -34,7 +34,7 @@ Test:3 Tree based decoding: -uncompressed data = 02 +compressed data = 02 len = 8 Run_length = 29 rc = 0 @@ -46,7 +46,7 @@ Test:4 Tree based decoding: -uncompressed data = 02 0c e0 41 a0 0c 36 0d 03 71 b0 6e 24 +compressed data = 02 0c e0 41 a0 0c 36 0d 03 71 b0 6e 24 len = 103 Run_length = 29 Run_length = 19 @@ -68,7 +68,7 @@ Test:5 Tree based decoding: -uncompressed data = de 88 75 65 80 +compressed data = de 88 75 65 80 len = 35 Run_length = 2 Run_length = 2 @@ -89,7 +89,7 @@ Test:6 Tree based decoding: -uncompressed data = dd 41 00 +compressed data = dd 41 00 len = 18 Run_length = 64 Run_length = 16 @@ -103,7 +103,7 @@ Test:7 Tree based decoding: -uncompressed data = 1e 70 c0 +compressed data = 1e 70 c0 len = 18 Run_length = 1 Run_length = 1 @@ -118,14 +118,14 @@ Test:8 Tree based decoding: -uncompressed data = 00 1e +compressed data = 00 1e len = 14 rc = -1 Failed to decode CRBB: length 14, data 00 1e Test:9 Tree based decoding: -uncompressed data = 00 00 00 +compressed data = 00 00 00 len = 24 rc = -1 Failed to decode CRBB: length 24, data 00 00 00 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie7a2b31e305dffb2776698d1bc8e80d6a435c135 Gerrit-Change-Number: 14482 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Sat Jun 22 14:48:34 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 Jun 2019 14:48:34 +0000 Subject: Change in ...osmo-pcu[master]: decompress_crbb: add length argument for search_runlen In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14481 ) Change subject: decompress_crbb: add length argument for search_runlen ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie34a0651e7e7efea4e9ecff1e3a467588113cf47 Gerrit-Change-Number: 14481 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 22 Jun 2019 14:48:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jun 22 16:42:28 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 Jun 2019 16:42:28 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: tests: use random reference data Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14572 Change subject: trx_toolkit/data_msg.py: tests: use random reference data ...................................................................... trx_toolkit/data_msg.py: tests: use random reference data Having fn = 1024 and tn = 0 in all tests decreases the chances to spot encoding / decoding bugs of higher or lower values. Let's randomize the reference data before all the tests. Change-Id: Id3c5be9faaf0bef727b975c7182098af0cec6e71 --- M src/target/trx_toolkit/data_msg.py 1 file changed, 14 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/72/14572/1 diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index da109d9..5cfb745 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -432,10 +432,6 @@ log.basicConfig(level = log.DEBUG, format = "[%(levelname)s] %(filename)s:%(lineno)d %(message)s") - # Common reference data - fn = 1024 - tn = 0 - # Generate two random bursts burst_l12trx_ref = [] burst_trx2l1_ref = [] @@ -450,17 +446,18 @@ log.info("Generating the reference messages") # Create messages of both types - msg_l12trx_ref = DATAMSG_L12TRX(fn = fn, tn = tn) - msg_trx2l1_ref = DATAMSG_TRX2L1(fn = fn, tn = tn) + msg_l12trx_ref = DATAMSG_L12TRX(burst = burst_l12trx_ref) + msg_trx2l1_ref = DATAMSG_TRX2L1(burst = burst_trx2l1_ref) - # Fill in message specific fields - msg_trx2l1_ref.rssi = -88 - msg_l12trx_ref.pwr = 0x33 - msg_trx2l1_ref.toa256 = -256 + # Validate header randomization + for i in range(0, 100): + msg_l12trx_ref.rand_hdr() + msg_trx2l1_ref.rand_hdr() - # Specify the reference bursts - msg_l12trx_ref.burst = burst_l12trx_ref - msg_trx2l1_ref.burst = burst_trx2l1_ref + assert(msg_l12trx_ref.validate()) + assert(msg_trx2l1_ref.validate()) + + log.info("Validate header randomization: OK") log.info("Encoding the reference messages") @@ -493,10 +490,10 @@ log.info("Compare bursts: OK") # Compare both parsed messages with the reference data - assert(msg_l12trx_dec.fn == fn) - assert(msg_trx2l1_dec.fn == fn) - assert(msg_l12trx_dec.tn == tn) - assert(msg_trx2l1_dec.tn == tn) + assert(msg_l12trx_dec.fn == msg_l12trx_ref.fn) + assert(msg_trx2l1_dec.fn == msg_trx2l1_ref.fn) + assert(msg_l12trx_dec.tn == msg_l12trx_ref.tn) + assert(msg_trx2l1_dec.tn == msg_trx2l1_ref.tn) log.info("Compare FN / TN: OK") @@ -507,16 +504,6 @@ log.info("Compare message specific data: OK") - # Validate header randomization - for i in range(0, 100): - msg_l12trx_ref.rand_hdr() - msg_trx2l1_ref.rand_hdr() - - assert(msg_l12trx_ref.validate()) - assert(msg_trx2l1_ref.validate()) - - log.info("Validate header randomization: OK") - # Bit conversation test usbits_ref = list(range(0, 256)) sbits_ref = list(range(-127, 128)) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id3c5be9faaf0bef727b975c7182098af0cec6e71 Gerrit-Change-Number: 14572 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 22 16:42:29 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 Jun 2019 16:42:29 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: drop double field initialization Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14573 Change subject: trx_toolkit/data_msg.py: drop double field initialization ...................................................................... trx_toolkit/data_msg.py: drop double field initialization Those fields are being initialized by __init__(). Change-Id: Ibf71be552a7eb5dab1d096421a8557514294683e --- M src/target/trx_toolkit/data_msg.py 1 file changed, 0 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/73/14573/1 diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index 5cfb745..f14c295 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -28,11 +28,6 @@ from gsm_shared import * class DATAMSG: - # Common message fields - burst = None - fn = None - tn = None - # Common constructor def __init__(self, fn = None, tn = None, burst = None): self.burst = burst -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ibf71be552a7eb5dab1d096421a8557514294683e Gerrit-Change-Number: 14573 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 22 16:42:30 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 Jun 2019 16:42:30 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: inline both gen_fn() and parse_fn() Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14574 Change subject: trx_toolkit/data_msg.py: inline both gen_fn() and parse_fn() ...................................................................... trx_toolkit/data_msg.py: inline both gen_fn() and parse_fn() Both functions are never used outside of both gen_msg() and parse_msg(). AFAIR, they were more complicated until we started to use struct, but now they can be easily inlined. Change-Id: Ie64b271cf502f3df23b32f4b14a1e2b551a0f794 --- M src/target/trx_toolkit/data_msg.py 1 file changed, 3 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/74/14574/1 diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index f14c295..6d6b76c 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -136,16 +136,6 @@ return True - # Generates frame number to bytes - def gen_fn(self, fn): - # Big endian, 4 bytes - return struct.pack(">L", fn) - - # Parses frame number from bytes - def parse_fn(self, buf): - # Big endian, 4 bytes - return struct.unpack(">L", buf)[0] - # Generates a TRX DATA message def gen_msg(self, legacy = False): # Validate all the fields @@ -158,9 +148,8 @@ # Put timeslot index buf.append(self.tn) - # Put frame number - fn = self.gen_fn(self.fn) - buf += fn + # Put frame number (4 octets, BE) + buf += struct.pack(">L", self.fn) # Generate message specific header part hdr = self.gen_hdr() @@ -186,7 +175,7 @@ raise ValueError("Message is to short") # Parse both fn and tn - self.fn = self.parse_fn(msg[1:5]) + self.fn = struct.unpack(">L", msg[1:5])[0] self.tn = msg[0] # Specific message part -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie64b271cf502f3df23b32f4b14a1e2b551a0f794 Gerrit-Change-Number: 14574 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 22 16:42:31 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 Jun 2019 16:42:31 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: add basic class documentation Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14575 Change subject: trx_toolkit/data_msg.py: add basic class documentation ...................................................................... trx_toolkit/data_msg.py: add basic class documentation Change-Id: I538bc96e5e24d3b7e344e4dbe2877bf60c13c720 Related# OS#4006 --- M src/target/trx_toolkit/data_msg.py 1 file changed, 79 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/75/14575/1 diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index 6d6b76c..9ad19f6 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -28,6 +28,38 @@ from gsm_shared import * class DATAMSG: + """ TRXD (DATA) message codec (common part). + + The DATA messages are used to carry bursts in both directions + between L1 and TRX. There exist two kinds of them: + + - L12TRX (L1 -> TRX) - to be transmitted bursts, + - TRX2L1 (TRX -> L1) - received bursts. + + Both of them have quite similar structure, and start with + the common fixed-size message header (no TLVs): + + +---------------+-----------------+------------+ + | common header | specific header | burst bits | + +---------------+-----------------+------------+ + + while the message specific headers and bit types are different. + + The common header is represented by this class, which is the + parent of both DATAMSG_L12TRX and DATAMSG_TRX2L2 (see below), + and has the following fields: + + +--------------+-------------------+ + | TN (1 octet) | FN (4 octets, BE) | + +--------------+-------------------+ + + where: + + - TN is TDMA time-slot number (1 octet), and + - FN is TDMA frame number (4 octets, big endian). + + """ + # Common constructor def __init__(self, fn = None, tn = None, burst = None): self.burst = burst @@ -186,6 +218,25 @@ self.parse_burst(msg_burst) class DATAMSG_L12TRX(DATAMSG): + """ L12TRX (L1 -> TRX) message codec. + + This message represents a Downlink burst on the BTS side, + or an Uplink burst on the MS side, and has the following + message specific fixed-size header preceding the burst bits: + + +-----+--------------------+ + | PWR | hard-bits (1 or 0) | + +-----+--------------------+ + + where PWR (1 octet) is relative (to the full-scale amplitude) + transmit power level in dB. The absolute value is set on + the control interface. + + Each hard-bit (1 or 0) of the burst is represented using one + byte (0x01 or 0x00 respectively). + + """ + # Constants HDR_LEN = 6 PWR_MIN = 0x00 @@ -276,6 +327,34 @@ return msg class DATAMSG_TRX2L1(DATAMSG): + """ TRX2L1 (TRX -> L1) message codec. + + This message represents an Uplink burst on the BTS side, + or a Downlink burst on the MS side, and has the following + message specific fixed-size header preceding the burst bits: + + +------+-----+--------------------+ + | RSSI | ToA | soft-bits (254..0) | + +------+-----+--------------------+ + + where: + + - RSSI (1 octet) - Received Signal Strength Indication + encoded without the negative sign. + - ToA (2 octets) - Timing of Arrival in units of 1/256 + of symbol (big endian). + + Unlike to be transmitted bursts, the received bursts are designated + using the soft-bits notation, so the receiver can indicate its + assurance from 0 to -127 that a given bit is 1, and from 0 to +127 + that a given bit is 0. The Viterbi algorithm allows to approximate + the original sequence of hard-bits (1 or 0) using these values. + + Each soft-bit (-127..127) of the burst is encoded as an unsigned + value in range (254..0) respectively using the constant shift. + + """ + # Constants HDR_LEN = 8 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I538bc96e5e24d3b7e344e4dbe2877bf60c13c720 Gerrit-Change-Number: 14575 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 22 16:42:31 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 22 Jun 2019 16:42:31 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: implement header version coding Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14576 Change subject: trx_toolkit/data_msg.py: implement header version coding ...................................................................... trx_toolkit/data_msg.py: implement header version coding Change-Id: Idb0377d66290eb9c15d6998a5806a84fa2e5dd02 Related: OS#4006 --- M src/target/trx_toolkit/data_msg.py 1 file changed, 92 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/76/14576/1 diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index 9ad19f6..669c9d2 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -4,7 +4,7 @@ # TRX Toolkit # DATA interface message definitions and helpers # -# (C) 2018 by Vadim Yanitskiy +# (C) 2018-2019 by Vadim Yanitskiy # # All Rights Reserved # @@ -49,20 +49,53 @@ parent of both DATAMSG_L12TRX and DATAMSG_TRX2L2 (see below), and has the following fields: - +--------------+-------------------+ - | TN (1 octet) | FN (4 octets, BE) | - +--------------+-------------------+ + +-----------------+----------------+-------------------+ + | VER (1/2 octet) | TN (1/2 octet) | FN (4 octets, BE) | + +-----------------+----------------+-------------------+ where: - - TN is TDMA time-slot number (1 octet), and + - VER is the header version indicator (1/2 octet MSB), + - TN is TDMA time-slot number (1/2 octet LSB), and - FN is TDMA frame number (4 octets, big endian). + == Header version indication + + It may be necessary to extend the message specific header + with more information. Since this is not a TLV-based + protocol, we need to include the header format version. + + +-----------------+------------------------+ + | 7 6 5 4 3 2 1 0 | bit numbers | + +-----------------+------------------------+ + | X X X X . . . . | header version (0..15) | + +-----------------+------------------------+ + | . . . . . X X X | TDMA TN (0..7) | + +-----------------+------------------------+ + | . . . . X . . . | RESERVED (0) | + +-----------------+------------------------+ + + Instead of prepending an additional byte, it was decided + to use bits 4..7 of the first octet, which are always + zero-initialized due to the value range of TDMA TN. This + would prevent Wireshark from misinterpreting the message + header version (e.g. 0x01) as TDMA TN. + + The reserved bit number 3 can be used in the future to extend + the TDMA TN range to (0..15), in case anybody would need + to transfer UMTS bursts. + + The legacy header version (0x00) is assumed as the default. + """ + # NOTE: up to 15 (0x0f) versions can be encoded + known_versions = [0x00, 0x01] + # Common constructor - def __init__(self, fn = None, tn = None, burst = None): + def __init__(self, fn = None, tn = None, burst = None, ver = 0): self.burst = burst + self.ver = ver self.fn = fn self.tn = tn @@ -99,6 +132,9 @@ def desc_hdr(self): result = "" + if self.ver > 0: + result += ("ver=%u " % self.ver) + if self.fn is not None: result += ("fn=%u " % self.fn) @@ -148,6 +184,9 @@ # Validates the message fields def validate(self): + if not self.ver in self.known_versions: + return False + if self.burst is None: return False @@ -177,10 +216,10 @@ # Allocate an empty byte-array buf = bytearray() - # Put timeslot index - buf.append(self.tn) + # Put version (4 bits) and TDMA TN (3 bits) + buf.append((self.ver << 4) | (self.tn & 0x07)) - # Put frame number (4 octets, BE) + # Put TDMA FN (4 octets, BE) buf += struct.pack(">L", self.fn) # Generate message specific header part @@ -206,9 +245,12 @@ if length < (self.HDR_LEN + GSM_BURST_LEN): raise ValueError("Message is to short") - # Parse both fn and tn + # Parse version and TDMA TN + self.ver = (msg[0] >> 4) + self.tn = (msg[0] & 0x07) + + # Parse TDMA FN self.fn = struct.unpack(">L", msg[1:5])[0] - self.tn = msg[0] # Specific message part self.parse_hdr(msg) @@ -316,9 +358,9 @@ self.burst = list(burst[:GSM_BURST_LEN]) # Transforms this message to TRX2L1 message - def gen_trx2l1(self): + def gen_trx2l1(self, ver = 0): # Allocate a new message - msg = DATAMSG_TRX2L1(fn = self.fn, tn = self.tn) + msg = DATAMSG_TRX2L1(fn = self.fn, tn = self.tn, ver = ver) # Convert burst bits if self.burst is not None: @@ -477,9 +519,9 @@ self.burst = burst_sbits # Transforms this message to L12TRX message - def gen_l12trx(self): + def gen_l12trx(self, ver = 0): # Allocate a new message - msg = DATAMSG_L12TRX(fn = self.fn, tn = self.tn) + msg = DATAMSG_L12TRX(fn = self.fn, tn = self.tn, ver = ver) # Convert burst bits if self.burst is not None: @@ -602,3 +644,38 @@ assert(msg_trx2l1_dec.burst == msg_trx2l1_dec.ubit2sbit(burst_l12trx_ref)) log.info("Check L12TRX <-> TRX2L1 type transformations: OK") + + # Test header version coding + # TODO: verify transformations with different versions + for ver in DATAMSG.known_versions: + # Create messages of both types + msg_l12trx = DATAMSG_L12TRX(burst = burst_l12trx_ref, ver = ver) + msg_trx2l1 = DATAMSG_TRX2L1(burst = burst_trx2l1_ref, ver = ver) + + # Randomize message specific headers + msg_l12trx.rand_hdr() + msg_trx2l1.rand_hdr() + + # Encode DATA messages + msg_l12trx_enc = msg_l12trx.gen_msg() + msg_trx2l1_enc = msg_trx2l1.gen_msg() + + # Parse generated DATA messages + msg_l12trx_dec = DATAMSG_L12TRX() + msg_trx2l1_dec = DATAMSG_TRX2L1() + msg_l12trx_dec.parse_msg(msg_l12trx_enc) + msg_trx2l1_dec.parse_msg(msg_trx2l1_enc) + + # Match the header version + assert(msg_l12trx_dec.ver == ver) + assert(msg_trx2l1_dec.ver == ver) + + # Match common TDMA fields + assert(msg_l12trx_dec.tn == msg_l12trx.tn) + assert(msg_trx2l1_dec.fn == msg_trx2l1.fn) + + # Compare bursts + assert(msg_l12trx_dec.burst == msg_l12trx.burst) + assert(msg_trx2l1_dec.burst == msg_trx2l1.burst) + + log.info("Check header version %u coding: OK" % ver) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Idb0377d66290eb9c15d6998a5806a84fa2e5dd02 Gerrit-Change-Number: 14576 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 22 22:55:09 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 22 Jun 2019 22:55:09 +0000 Subject: Change in ...libosmocore[master]: bitvec: bitvec_get_uint() should return an unsigned int Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14577 Change subject: bitvec: bitvec_get_uint() should return an unsigned int ...................................................................... bitvec: bitvec_get_uint() should return an unsigned int Change-Id: I2d50d375ccf63ecb45061682ede0b46b6087d11a --- M src/bitvec.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/77/14577/1 diff --git a/src/bitvec.c b/src/bitvec.c index dac0401..ab764d0 100644 --- a/src/bitvec.c +++ b/src/bitvec.c @@ -268,7 +268,7 @@ /*! get multiple bits (based on numeric value) from current pos * \return integer value retrieved from bit vector */ -int bitvec_get_uint(struct bitvec *bv, unsigned int num_bits) +unsigned int bitvec_get_uint(struct bitvec *bv, unsigned int num_bits) { int i; unsigned int ui = 0; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2d50d375ccf63ecb45061682ede0b46b6087d11a Gerrit-Change-Number: 14577 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 22 22:58:09 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 22 Jun 2019 22:58:09 +0000 Subject: Change in ...libosmocore[master]: bitvec: bitvec_get_uint() should return an unsigned int 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/+/14577 to look at the new patch set (#2). Change subject: bitvec: bitvec_get_uint() should return an unsigned int ...................................................................... bitvec: bitvec_get_uint() should return an unsigned int Change-Id: I2d50d375ccf63ecb45061682ede0b46b6087d11a --- M include/osmocom/core/bitvec.h M src/bitvec.c 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/77/14577/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2d50d375ccf63ecb45061682ede0b46b6087d11a Gerrit-Change-Number: 14577 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 Sat Jun 22 23:56:03 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 22 Jun 2019 23:56:03 +0000 Subject: Change in ...libosmocore[master]: utils.h: fix warning "empty expression Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14578 Change subject: utils.h: fix warning "empty expression ...................................................................... utils.h: fix warning "empty expression When using `OSMO_ASSERT(exp);` clang will warn about an empty expression, because the semi colon was superflous. Use do {} while (0) to circum vent. Change-Id: I2272d29a81496164bebd1696a694383a28a86434 --- M include/osmocom/core/utils.h 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/78/14578/1 diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h index 601bb56..8585a6a 100644 --- a/include/osmocom/core/utils.h +++ b/include/osmocom/core/utils.h @@ -98,9 +98,9 @@ * the predicate evaluates to false (0). */ #define OSMO_ASSERT(exp) \ - if (!(exp)) { \ + do if (!(exp)) { \ osmo_panic("Assert failed %s %s:%d\n", #exp, __FILE__, __LINE__); \ - } + } while(0) /*! duplicate a string using talloc and release its prior content (if any) * \param[in] ctx Talloc context to use for allocation -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2272d29a81496164bebd1696a694383a28a86434 Gerrit-Change-Number: 14578 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 23 00:07:07 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 23 Jun 2019 00:07:07 +0000 Subject: Change in ...libosmocore[master]: utils.h: fix warning "empty expression 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/+/14578 to look at the new patch set (#2). Change subject: utils.h: fix warning "empty expression ...................................................................... utils.h: fix warning "empty expression When using `OSMO_ASSERT(exp);` clang will warn about an empty expression, because the semi colon was superflous. Use do {} while (0) to circum vent. Change-Id: I2272d29a81496164bebd1696a694383a28a86434 --- M include/osmocom/core/utils.h M src/gsm/gsm0808_utils.c M tests/ctrl/ctrl_test.c 3 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/78/14578/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2272d29a81496164bebd1696a694383a28a86434 Gerrit-Change-Number: 14578 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 23 00:08:33 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 23 Jun 2019 00:08:33 +0000 Subject: Change in ...libosmocore[master]: utils.h: require a semi colon after OSMO_ASSERT 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/+/14578 to look at the new patch set (#3). Change subject: utils.h: require a semi colon after OSMO_ASSERT ...................................................................... utils.h: require a semi colon after OSMO_ASSERT When using `OSMO_ASSERT(exp);` clang will warn about an empty expression because the semi colon was superflous. Use do {} while (0) to enfore the need of a semi colon. This might break other test. Change-Id: I2272d29a81496164bebd1696a694383a28a86434 --- M include/osmocom/core/utils.h M src/gsm/gsm0808_utils.c M tests/ctrl/ctrl_test.c 3 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/78/14578/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2272d29a81496164bebd1696a694383a28a86434 Gerrit-Change-Number: 14578 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 23 02:40:14 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 Jun 2019 02:40:14 +0000 Subject: Change in ...libosmocore[master]: bitvec: bitvec_get_uint() should return an unsigned int In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14577 ) Change subject: bitvec: bitvec_get_uint() should return an unsigned int ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/#/c/14577/2/src/bitvec.c File src/bitvec.c: https://gerrit.osmocom.org/#/c/14577/2/src/bitvec.c at 278 PS2, Line 278: if (bit < 0) : return bit; I know what I meant to write ;) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2d50d375ccf63ecb45061682ede0b46b6087d11a Gerrit-Change-Number: 14577 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 23 Jun 2019 02:40:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Jun 23 02:44:03 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 23 Jun 2019 02:44:03 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0ee78e7e3e7_4e3c62c5f062033e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 730s] | configure:8981: result: yes [ 730s] | configure:8996: checking if gcc supports -c -o file.o [ 730s] | configure:9017: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -o out/conftest2.o conftest.c >&5 [ 730s] | configure:9021: $? = 0 [ 730s] | configure:9043: result: yes [ 730s] | configure:9051: checking if gcc supports -c -o file.o [ 730s] | configure:9098: result: yes [ 730s] | configure:9131: checking whether the gcc linker (/usr/bin/ld) supports shared libraries [ 730s] | configure:10394: result: yes [ 730s] | configure:10431: checking whether -lc should be explicitly linked in [ 730s] | configure:10439: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 730s] | configure:10442: $? = 0 [ 730s] | configure:10457: gcc -shared -fPIC -DPIC conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /bin/grep -lc \>/dev/null 2\>\&1 [ 730s] | configure:10460: $? = 0 [ 730s] | configure:10474: result: no [ 730s] | configure:10634: checking dynamic linker characteristics [ 730s] | configure:11215: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now -Wl,-rpath -Wl,/foo conftest.c >&5 [ 730s] | configure:11215: $? = 0 [ 730s] | configure:11464: result: GNU/Linux ld.so [ 730s] | configure:11586: checking how to hardcode library paths into programs [ 730s] | configure:11611: result: immediate [ 730s] | configure:12159: checking whether stripping libraries is possible [ 730s] | configure:12164: result: yes [ 732s] | configure:12199: checking if libto[ 676.147478] sysrq: SysRq : Power Off [ 732s] [ 676.151885] reboot: Power down [ 732s] ### VM INTERACTION END ### [ 732s] [ 732s] armbuild17 failed "build libosmocore_1.1.0.72.28a1.dsc" at Sun Jun 23 02:43:52 UTC 2019. [ 732s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Jun 23 02:59:29 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 23 Jun 2019 02:59:29 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0eeb138e27b_4e3c62c5f0621626@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 601s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 601s] ./src/common/bts.c:423: undefined reference to `lapdm_channel_init2' [ 601s] collect2: error: ld returned 1 exit status [ 601s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 601s] make[4]: *** [osmo-bts-virtual] Error 1 [ 601s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 601s] Makefile:385: recipe for target 'all-recursive' failed [ 601s] make[3]: *** [all-recursive] Error 1 [ 601s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 601s] Makefile:434: recipe for target 'all-recursive' failed [ 601s] make[2]: *** [all-recursive] Error 1 [ 601s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 601s] Makefile:366: recipe for target 'all' failed [ 601s] make[1]: *** [all] Error 2 [ 601s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 601s] dh_auto_build: make -j1 returned exit code 2 [ 601s] debian/rules:12: recipe for target 'build' failed [ 601s] make: *** [build] Error 2 [ 601s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 601s] [ 601s] obs-arm-5 failed "build osmo-bts_0.8.1.328.5b92.dsc" at Sun Jun 23 02:59:21 UTC 2019. [ 601s] [ 601s] ### VM INTERACTION START ### [ 604s] [ 570.464794] sysrq: SysRq : Power Off [ 604s] [ 570.468037] reboot: Power down [ 605s] ### VM INTERACTION END ### [ 605s] [ 605s] obs-arm-5 failed "build osmo-bts_0.8.1.328.5b92.dsc" at Sun Jun 23 02:59:25 UTC 2019. [ 605s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Jun 23 03:33:46 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 23 Jun 2019 03:33:46 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d0ef3295e18b_4e3c62c5f0625653@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 105s] #define VERSION "0.1.0" [ 105s] #define STDC_HEADERS 1 [ 105s] #d[ 91.068350] serial8250: too much work for irq4 [ 105s] efine HAVE_SYS_TYPES_H 1 [ 105s] #define HAVE_SYS_STAT_H 1 [ 105s] #define HAVE_STDLIB_H 1 [ 105s] #define HAVE_STRING_H 1 [ 105s] #define HAVE_MEMORY_H 1 [ 105s] #define HAVE_STRINGS_H 1 [ 105s] #define HAVE_INTTYPES_H 1 [ 105s] #define HAVE_STDINT_H 1 [ 105s] #define HAVE_UNISTD_H 1 [ 105s] #define HAVE_DLFCN_H 1 [ 105s] #define LT_OBJDIR ".libs/" [ 105s] [ 105s] configure: exit 1 [ 105s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 105s] make: *** [debian/rules:45: build] Error 2 [ 105s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 105s] [ 105s] lamb04 failed "build osmo-sysmon_0.1.0.dsc" at Sun Jun 23 03:33:29 UTC 2019. [ 105s] [ 105s] ### VM INTERACTION START ### [ 108s] [ 94.315743] sysrq: SysRq : Power Off [ 108s] [ 94.323288] reboot: Power down [ 108s] ### VM INTERACTION END ### [ 108s] [ 108s] lamb04 failed "build osmo-sysmon_0.1.0.dsc" at Sun Jun 23 03:33:33 UTC 2019. [ 108s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Jun 23 03:37:29 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 23 Jun 2019 03:37:29 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d0ef3fc87062_4e3c62c5f062583@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Testing/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 162s] | #define HAVE_MEMORY_H 1 [ 162s] | #define HAVE_STRINGS_H 1 [ 162s] | #define HAVE_INTTYPES_H 1 [ 162s] | #define HAVE_STDINT_H 1 [ 162s] | #define HAVE_UNISTD_H 1 [ 162s] | #define HAVE_DLFCN_H 1 [ 162s] | #define LT_OBJDIR ".libs/" [ 162s] | #define BUILD_SMPP 1 [ 162s] | #define STDC_HEADERS 1 [ 162s] | #define HAVE_DBI_DBD_H 1 [ 162s] | #define HAVE_PCAP_PCAP_H 1 [ 162s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 162s] | [ 162s] | configure: exit 0 [ 162s] [ 162s] make[1]: *** [debian/rules:30: override_dh_auto_test] Error 1 [ 162s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 162s] make: *** [debian/rules:13: build] Error 2 [ 162s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 162s] [ 162s] lamb24 failed "build openbsc_1.2.0.dsc" at Sun Jun 23 03:37:12 UTC 2019. [ 162s] [ 162s] ### VM INTERACTION START ### [ 165s] [ 151.872214] sysrq: SysRq : Power Off [ 165s] [ 151.877808] reboot: Power down [ 165s] ### VM INTERACTION END ### [ 165s] [ 165s] lamb24 failed "build openbsc_1.2.0.dsc" at Sun Jun 23 03:37:16 UTC 2019. [ 165s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Jun 23 03:45:10 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 23 Jun 2019 03:45:10 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0ef5d99eada_4e3c62c5f06262f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-sgsn failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 572s] bss_ptmsi = bss_ptmsi | GSM23003_TMSI_SGSN_MASK; [ 572s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 572s] gb_proxy.c:246:28: note: each undeclared identifier is reported only once for each function it appears in [ 572s] Makefile:615: recipe for target 'gb_proxy.o' failed [ 572s] make[4]: *** [gb_proxy.o] Error 1 [ 572s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/gprs' [ 572s] Makefile:391: recipe for target 'all-recursive' failed [ 572s] make[3]: *** [all-recursive] Error 1 [ 572s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 572s] Makefile:453: recipe for target 'all-recursive' failed [ 572s] make[2]: *** [all-recursive] Error 1 [ 572s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 572s] Makefile:385: recipe for target 'all' failed [ 572s] make[1]: *** [all] Error 2 [ 572s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 572s] dh_auto_build: make -j1 returned exit code 2 [ 572s] debian/rules:45: recipe for target 'build' failed [ 572s] make: *** [build] Error 2 [ 572s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 572s] [ 572s] obs-arm-5 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Sun Jun 23 03:44:58 UTC 2019. [ 572s] [ 572s] ### VM INTERACTION START ### [ 575s] [ 544.430946] sysrq: SysRq : Power Off [ 575s] [ 544.479478] reboot: Power down [ 576s] ### VM INTERACTION END ### [ 576s] [ 576s] obs-arm-5 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Sun Jun 23 03:45:02 UTC 2019. [ 576s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Jun 23 03:46:37 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 23 Jun 2019 03:46:37 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d0ef636783dd_4e3c62c5f06265de@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-msc failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 665s] tmsi |= GSM23003_TMSI_SGSN_MASK; [ 665s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 665s] vlr.c:339:12: note: each undeclared identifier is reported only once for each function it appears in [ 665s] Makefile:442: recipe for target 'vlr.o' failed [ 665s] make[4]: *** [vlr.o] Error 1 [ 665s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/libvlr' [ 665s] Makefile:422: recipe for target 'all-recursive' failed [ 665s] make[3]: *** [all-recursive] Error 1 [ 665s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 665s] Makefile:462: recipe for target 'all-recursive' failed [ 665s] make[2]: *** [all-recursive] Error 1 [ 665s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 665s] Makefile:394: recipe for target 'all' failed [ 665s] make[1]: *** [all] Error 2 [ 665s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 665s] dh_auto_build: make -j1 returned exit code 2 [ 665s] debian/rules:45: recipe for target 'build' failed [ 665s] make: *** [build] Error 2 [ 665s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 665s] [ 665s] armbuild17 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Sun Jun 23 03:46:26 UTC 2019. [ 665s] [ 665s] ### VM INTERACTION START ### [ 668s] [ 616.561818] sysrq: SysRq : Power Off [ 668s] [ 616.564007] reboot: Power down [ 668s] ### VM INTERACTION END ### [ 668s] [ 668s] armbuild17 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Sun Jun 23 03:46:30 UTC 2019. [ 668s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Jun 23 07:42:07 2019 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sun, 23 Jun 2019 07:42:07 +0000 Subject: Change in ...libosmocore[master]: bitvec: bitvec_get_uint() should return an unsigned int In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14577 ) Change subject: bitvec: bitvec_get_uint() should return an unsigned int ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14577/2/src/bitvec.c File src/bitvec.c: https://gerrit.osmocom.org/#/c/14577/2/src/bitvec.c at 278 PS2, Line 278: if (bit < 0) : return bit; > I know what I meant to write ;) I did not saw this branch. How should we fix it? Assigned an int with negative value and casting it to an unsigned will have an interesting behaviour. Even in libosmocore it's not used that way. Should we introduce a new function which have a pointer to the return value? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2d50d375ccf63ecb45061682ede0b46b6087d11a Gerrit-Change-Number: 14577 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Sun, 23 Jun 2019 07:42:07 +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 23 07:59:52 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 23 Jun 2019 07:59:52 +0000 Subject: Change in ...libosmocore[master]: bitvec: bitvec_get_uint() should return an unsigned int In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14577 ) Change subject: bitvec: bitvec_get_uint() should return an unsigned int ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14577/2/src/bitvec.c File src/bitvec.c: https://gerrit.osmocom.org/#/c/14577/2/src/bitvec.c at 278 PS2, Line 278: if (bit < 0) : return bit; > Assigned an int with negative value and casting it to an unsigned will have an interesting behaviour. I think we would just get some high value close to UINT_MAX. > How should we fix it? Let's first investigate what's your motivation to use unsigned here? Is there a chance that the value range of regular int would not be enough? The commit message also lacks any details... -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2d50d375ccf63ecb45061682ede0b46b6087d11a Gerrit-Change-Number: 14577 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Sun, 23 Jun 2019 07:59:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: lynxis lazus Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Jun 24 02:39:06 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 24 Jun 2019 02:39:06 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d1037e89e277_6eea925f499967@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 449s] | This file was extended by libosmocore config.status 1.1.0.72-28a1, which was [ 449s] | generated by GNU Autoconf 2.69. Invocation command line was [ 449s] | [ 449s] | CONFIG_FILES = [ 449s] | CONFIG_HEADERS = [ 449s] | CONFIG_LINKS = [ 449s] | CONFIG_COMMANDS = [ 449s] | $ ./config.status Doxyfile.core [ 449s] | [ 449s] | on obs-arm-5 [ 449s] | [ 449s] | config.status:1200: creating Doxyfile.core [ 449s] [ 449s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 449s] make[1]: *** [override_dh_auto_test] Error 1 [ 449s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 449s] debian/rules:15: recipe for target 'build' failed [ 449s] make: *** [build] Error 2 [ 449s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 449s] [ 449s] obs-arm-5 failed "build libosmocore_1.1.0.72.28a1.dsc" at Mon Jun 24 02:38:57 UTC 2019. [ 449s] [ 449s] ### VM INTERACTION START ### [ 451s] [ 424.171008] sysrq: SysRq : Power Off [ 451s] [ 424.172495] reboot: Power down [ 452s] ### VM INTERACTION END ### [ 452s] [ 452s] obs-arm-5 failed "build libosmocore_1.1.0.72.28a1.dsc" at Mon Jun 24 02:39:01 UTC 2019. [ 452s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Jun 24 02:46:49 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 24 Jun 2019 02:46:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d1039a75a866_6eea925f4100010@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 293s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 293s] ./src/common/bts.c:423: undefined reference to `lapdm_channel_init2' [ 293s] collect2: error: ld returned 1 exit status [ 293s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 293s] make[4]: *** [osmo-bts-virtual] Error 1 [ 293s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 293s] Makefile:385: recipe for target 'all-recursive' failed [ 293s] make[3]: *** [all-recursive] Error 1 [ 293s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 293s] Makefile:434: recipe for target 'all-recursive' failed [ 293s] make[2]: *** [all-recursive] Error 1 [ 293s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 293s] Makefile:366: recipe for target 'all' failed [ 293s] make[1]: *** [all] Error 2 [ 293s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 293s] dh_auto_build: make -j1 returned exit code 2 [ 293s] debian/rules:12: recipe for target 'build' failed [ 293s] make: *** [build] Error 2 [ 293s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 293s] [ 293s] armbuild02 failed "build osmo-bts_0.8.1.328.5b92.dsc" at Mon Jun 24 02:46:34 UTC 2019. [ 293s] [ 293s] ### VM INTERACTION START ### [ 296s] [ 271.171144] sysrq: SysRq : Power Off [ 296s] [ 271.172732] reboot: Power down [ 296s] ### VM INTERACTION END ### [ 296s] [ 296s] armbuild02 failed "build osmo-bts_0.8.1.328.5b92.dsc" at Mon Jun 24 02:46:37 UTC 2019. [ 296s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Jun 24 03:15:57 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 24 Jun 2019 03:15:57 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d104073990e0_6eea925f410012e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-sgsn failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 369s] bss_ptmsi = bss_ptmsi | GSM23003_TMSI_SGSN_MASK; [ 369s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 369s] gb_proxy.c:246:28: note: each undeclared identifier is reported only once for each function it appears in [ 369s] Makefile:615: recipe for target 'gb_proxy.o' failed [ 369s] make[4]: *** [gb_proxy.o] Error 1 [ 369s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/gprs' [ 369s] Makefile:391: recipe for target 'all-recursive' failed [ 369s] make[3]: *** [all-recursive] Error 1 [ 369s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 369s] Makefile:453: recipe for target 'all-recursive' failed [ 369s] make[2]: *** [all-recursive] Error 1 [ 369s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 369s] Makefile:385: recipe for target 'all' failed [ 369s] make[1]: *** [all] Error 2 [ 369s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 369s] dh_auto_build: make -j1 returned exit code 2 [ 369s] debian/rules:45: recipe for target 'build' failed [ 369s] make: *** [build] Error 2 [ 369s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 369s] [ 369s] armbuild25 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Mon Jun 24 03:15:51 UTC 2019. [ 369s] [ 369s] ### VM INTERACTION START ### [ 372s] [ 351.093755] sysrq: SysRq : Power Off [ 372s] [ 351.095304] reboot: Power down [ 372s] ### VM INTERACTION END ### [ 372s] [ 372s] armbuild25 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Mon Jun 24 03:15:53 UTC 2019. [ 372s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Jun 24 03:18:49 2019 From: admin at opensuse.org (OBS Notification) Date: Mon, 24 Jun 2019 03:18:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d10412951491_6eea925f410023@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-msc failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 541s] tmsi |= GSM23003_TMSI_SGSN_MASK; [ 541s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 541s] vlr.c:339:12: note: each undeclared identifier is reported only once for each function it appears in [ 541s] Makefile:442: recipe for target 'vlr.o' failed [ 541s] make[4]: *** [vlr.o] Error 1 [ 541s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/libvlr' [ 541s] Makefile:422: recipe for target 'all-recursive' failed [ 541s] make[3]: *** [all-recursive] Error 1 [ 541s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 541s] Makefile:462: recipe for target 'all-recursive' failed [ 541s] make[2]: *** [all-recursive] Error 1 [ 541s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 541s] Makefile:394: recipe for target 'all' failed [ 541s] make[1]: *** [all] Error 2 [ 541s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 541s] dh_auto_build: make -j1 returned exit code 2 [ 541s] debian/rules:45: recipe for target 'build' failed [ 541s] make: *** [build] Error 2 [ 541s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 541s] [ 541s] armbuild16 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Mon Jun 24 03:18:43 UTC 2019. [ 541s] [ 541s] ### VM INTERACTION START ### [ 544s] [ 501.345454] sysrq: SysRq : Power Off [ 544s] [ 501.347178] reboot: Power down [ 544s] ### VM INTERACTION END ### [ 544s] [ 544s] armbuild16 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Mon Jun 24 03:18:46 UTC 2019. [ 544s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Jun 24 03:22:18 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Jun 2019 03:22:18 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: implement header version 0x01 coding Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14579 Change subject: trx_toolkit/data_msg.py: implement header version 0x01 coding ...................................................................... trx_toolkit/data_msg.py: implement header version 0x01 coding The new version mostly adds new fields to the TRX2L1 message: +------+-----+-----+-----+-----+--------------------+ | RSSI | ToA | MTS | C/I | L16 | soft-bits (254..0) | +------+-----+-----+-----+-----+--------------------+ where: - MTS (1 octet) - Modulation and Training Sequence info, - C/I (2 octets) - Carrier-to-Interference ratio (big endian), - L16 (2 octets) - length of burst (big endian). In case of L12TRX, the burst bits are now also encoded as L16V: +-----+-----+--------------------+ | PWR | L16 | hard-bits (1 or 0) | +-----+-----+--------------------+ == Coding of MTS: Modulation and Training Sequence info 3GPP TS 45.002 version 15.1.0 defines several modulation types, and a few sets of training sequences for each type. The most common are GMSK and 8-PSK (which is used in EDGE). +-----------------+---------------------------------------+ | 7 6 5 4 3 2 1 0 | bit numbers (value range) | +-----------------+---------------------------------------+ | . . . . . X X X | Training Sequence Code (0..7) | +-----------------+---------------------------------------+ | . X X X X . . . | Modulation, TS set number (see below) | +-----------------+---------------------------------------+ | X . . . . . . . | IDLE / nope frame indication (0 or 1) | +-----------------+---------------------------------------+ The bit number 7 (MSB) is set to high when either nothing has been detected, or during IDLE frames, so we can deliver noise levels, and avoid clock gaps on the L1 side. Other bits are ignored, and should be set to low (0) in this case. L16 shall be set to 0x00. == Coding of modulation and TS set number GMSK has 4 sets of training sequences (see tables 5.2.3a-d), while 8-PSK (see tables 5.2.3f-g) and the others have 2 sets. Access and Synchronization bursts also have several synch. sequences. +-----------------+---------------------------------------+ | 7 6 5 4 3 2 1 0 | bit numbers (value range) | +-----------------+---------------------------------------+ | . 0 0 X X . . . | GMSK, 4 TS sets (0..3) | +-----------------+---------------------------------------+ | . 0 1 0 X . . . | 8-PSK, 2 TS sets (0..1) | +-----------------+---------------------------------------+ | . 0 1 1 X . . . | AQPSK, 2 TS sets (0..1) | +-----------------+---------------------------------------+ | . 1 0 0 X . . . | 16QAM, 2 TS sets (0..1) | +-----------------+---------------------------------------+ | . 1 0 1 X . . . | 32QAM, 2 TS sets (0..1) | +-----------------+---------------------------------------+ | . 1 1 1 X . . . | RESERVED (0) | +-----------------+---------------------------------------+ == C/I: Carrier-to-Interference ratio The C/I value is computed from the training sequence of each burst, where we can compare the "ideal" training sequence with the actual training sequence and then express that in dB. Change-Id: Ie810c5a482d1c908994e8cdd32a2ea641ae7cedd Related: OS#4006 --- M src/target/trx_toolkit/data_msg.py 1 file changed, 289 insertions(+), 32 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/79/14579/1 diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index 8a114f7..8d52764 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -25,8 +25,17 @@ import random import struct +from enum import IntEnum from gsm_shared import * +class Modulation(IntEnum): + """ Modulation types defined in 3GPP TS 45.002 """ + ModGMSK = 0b0000 + Mod8PSK = 0b0100 + ModAQPSK = 0b0110 + Mod16QAM = 0b1000 + Mod32QAM = 0b1010 + class DATAMSG: """ TRXD (DATA) message codec (common part). @@ -45,6 +54,12 @@ while the message specific headers and bit types are different. + NOTE: since version 0x01, the burst bits are encoded as L16V: + + +--------------------+------------+ + | L16 (2 octets, BE) | burst bits | + +--------------------+------------+ + The common header is represented by this class, which is the parent of both DATAMSG_L12TRX and DATAMSG_TRX2L2 (see below), and has the following fields: @@ -99,6 +114,12 @@ self.fn = fn self.tn = tn + # The common header length + @property + def CHDR_LEN(self): + # (VER + TN) + FN + return 1 + 4 + # Generates message specific header def gen_hdr(self): raise NotImplementedError @@ -227,7 +248,13 @@ buf += hdr # Generate burst - buf += self.gen_burst() + burst = self.gen_burst() + + # Starting from version 0x01, the burst bits are + # encoded as L16V (length is 2 octets, big endian). + if self.ver >= 0x01: + buf += struct.pack(">H", len(burst)) + buf += burst # This is a rudiment from (legacy) OpenBTS transceiver, # some L1 implementations still expect two dummy bytes. @@ -241,8 +268,8 @@ # Calculate message length length = len(msg) - # Check length - if length < (self.HDR_LEN + GSM_BURST_LEN): + # Make sure we have at least header + if length < self.HDR_LEN: raise ValueError("Message is to short") # Parse version and TDMA TN @@ -255,9 +282,38 @@ # Specific message part self.parse_hdr(msg) - # Copy burst, skipping header - msg_burst = msg[self.HDR_LEN:] - self.parse_burst(msg_burst) + # We're done with the header now + msg = msg[self.HDR_LEN:] + length -= self.HDR_LEN + + # Verify the burst length + if self.ver == 0x00: + # For version 0x00, we can either have as much as + # a GSM burst length, or an EDGE burst length. + if length in (GSM_BURST_LEN, EDGE_BURST_LEN): + pass + # Some ancient transceivers append 2 dummy octets + elif (length - 2) in (GSM_BURST_LEN, EDGE_BURST_LEN): + msg = msg[:-2] + length -= 2 + else: + raise ValueError("Odd burst length") + elif self.ver >= 0x01: + # Starting from version 0x01, the burst bits are + # encoded as L16V (length is 2 octets, big endian). + if length < 2: + raise ValueError("Missing burst LV") + + burst_len = struct.unpack(">H", msg[:2])[0] + if burst_len != (length - 2): + raise ValueError("Odd burst length") + + # We're done with L16 header + msg = msg[2:] + length -= 2 + + # Parse burst + self.parse_burst(msg) class DATAMSG_L12TRX(DATAMSG): """ L12TRX (L1 -> TRX) message codec. @@ -266,13 +322,24 @@ or an Uplink burst on the MS side, and has the following message specific fixed-size header preceding the burst bits: + == Version 0x00 + +-----+--------------------+ | PWR | hard-bits (1 or 0) | +-----+--------------------+ - where PWR (1 octet) is relative (to the full-scale amplitude) - transmit power level in dB. The absolute value is set on - the control interface. + == Version 0x01 + + +-----+-----+--------------------+ + | PWR | L16 | hard-bits (1 or 0) | + +-----+-----+--------------------+ + + where: + + - PWR (1 octet) - relative (to the full-scale amplitude) transmit + power level in dB. The absolute value is set + on the control interface. + - L16 (2 octets) - length of burst (big endian). Each hard-bit (1 or 0) of the burst is represented using one byte (0x01 or 0x00 respectively). @@ -280,13 +347,26 @@ """ # Constants - HDR_LEN = 6 PWR_MIN = 0x00 PWR_MAX = 0xff # Specific message fields pwr = None + # Calculates header length depending on its version + @property + def HDR_LEN(self): + # Common header length + length = self.CHDR_LEN + + # Message specific header length + if self.ver in (0x00, 0x01): + length += 1 # PWR + else: + raise IndexError("Unhandled version %u" % self.ver) + + return length + # Validates the message fields def validate(self): # Validate common fields @@ -349,13 +429,8 @@ # Parses message specific burst def parse_burst(self, burst): - length = len(burst) - - # Distinguish between GSM and EDGE - if length >= EDGE_BURST_LEN: - self.burst = list(burst[:EDGE_BURST_LEN]) - else: - self.burst = list(burst[:GSM_BURST_LEN]) + # Nothing to do, we already have hard-bits + self.burst = list(burst) # Transforms this message to TRX2L1 message def gen_trx2l1(self, ver = None): @@ -376,16 +451,79 @@ or a Downlink burst on the MS side, and has the following message specific fixed-size header preceding the burst bits: + == Version 0x00 + +------+-----+--------------------+ | RSSI | ToA | soft-bits (254..0) | +------+-----+--------------------+ + == Version 0x01 + + +------+-----+-----+-----+-----+--------------------+ + | RSSI | ToA | MTS | C/I | L16 | soft-bits (254..0) | + +------+-----+-----+-----+-----+--------------------+ + where: - RSSI (1 octet) - Received Signal Strength Indication encoded without the negative sign. - ToA (2 octets) - Timing of Arrival in units of 1/256 of symbol (big endian). + - MTS (1 octet) - Modulation and Training Sequence info. + - C/I (2 octets) - Carrier-to-Interference ratio (big endian). + - L16 (2 octets) - length of burst (big endian). + + == Coding of TS: Training Sequence and modulation + + 3GPP TS 45.002 version 15.1.0 defines several modulation types, + and a few sets of training sequences for each type. The most + common are GMSK and 8-PSK (which is used in EDGE). + + +-----------------+---------------------------------------+ + | 7 6 5 4 3 2 1 0 | bit numbers (value range) | + +-----------------+---------------------------------------+ + | . . . . . X X X | Training Sequence Code (0..7) | + +-----------------+---------------------------------------+ + | . X X X X . . . | Modulation, TS set number (see below) | + +-----------------+---------------------------------------+ + | X . . . . . . . | IDLE / nope frame indication (0 or 1) | + +-----------------+---------------------------------------+ + + The bit number 7 (MSB) is set to high when either nothing has been + detected, or during IDLE frames, so we can deliver noise levels, + and avoid clock gaps on the L1 side. Other bits are ignored, + and should be set to low (0) in this case. L16 shall be set to 0x00. + + == Coding of modulation and TS set number + + GMSK has 4 sets of training sequences (see tables 5.2.3a-d), + while 8-PSK (see tables 5.2.3f-g) and the others have 2 sets. + Access and Synchronization bursts also have several synch. + sequences. + + +-----------------+---------------------------------------+ + | 7 6 5 4 3 2 1 0 | bit numbers (value range) | + +-----------------+---------------------------------------+ + | . 0 0 X X . . . | GMSK, 4 TS sets (0..3) | + +-----------------+---------------------------------------+ + | . 0 1 0 X . . . | 8-PSK, 2 TS sets (0..1) | + +-----------------+---------------------------------------+ + | . 0 1 1 X . . . | AQPSK, 2 TS sets (0..1) | + +-----------------+---------------------------------------+ + | . 1 0 0 X . . . | 16QAM, 2 TS sets (0..1) | + +-----------------+---------------------------------------+ + | . 1 0 1 X . . . | 32QAM, 2 TS sets (0..1) | + +-----------------+---------------------------------------+ + | . 1 1 1 X . . . | RESERVED (0) | + +-----------------+---------------------------------------+ + + == C/I: Carrier-to-Interference ratio + + The C/I value can be computed from the training sequence of each + burst, where we can compare the "ideal" training sequence with + the actual training sequence and then express that in dB. + + == Coding of the burst bits Unlike to be transmitted bursts, the received bursts are designated using the soft-bits notation, so the receiver can indicate its @@ -398,9 +536,6 @@ """ - # Constants - HDR_LEN = 8 - # rxlev2dbm(0..63) gives us [-110..-47], plus -10 dbm for noise RSSI_MIN = -120 RSSI_MAX = -47 @@ -409,10 +544,42 @@ TOA256_MIN = -32768 TOA256_MAX = 32767 + # TSC (Training Sequence Code) range + TSC_RANGE = range(0, 8) + + # IDLE frame / nope detection indicator + NOPE_IND = (1 << 7) + # Specific message fields rssi = None toa256 = None + # Version 0x01 specific (default values) + mod_type = Modulation.ModGMSK + nope_ind = False + + tsc_set = None + tsc = None + ci = None + + # Calculates header length depending on its version + @property + def HDR_LEN(self): + # Common header length + length = self.CHDR_LEN + + # Message specific header length + if self.ver == 0x00: + # RSSI + ToA + length += 1 + 2 + elif self.ver == 0x01: + # RSSI + ToA + TS + C/I + length += 1 + 2 + 1 + 2 + else: + raise IndexError("Unhandled version %u" % self.ver) + + return length + # Validates the message fields def validate(self): # Validate common fields @@ -459,6 +626,17 @@ self.rssi = self.rand_rssi() self.toa256 = self.rand_toa256() + if self.ver >= 0x01: + self.mod_type = random.choice(list(Modulation)) + if self.mod_type == Modulation.ModGMSK: + self.tsc_set = random.randint(0, 3) + else: + self.tsc_set = random.randint(0, 1) + self.tsc = random.choice(self.TSC_RANGE) + + # FIXME: C/I: Carrier-to-Interference ratio + self.ci = random.choice(range(-100, 100)) + # Generates human-readable header description def desc_hdr(self): # Describe the common part @@ -470,9 +648,61 @@ if self.toa256 is not None: result += ("toa256=%d " % self.toa256) + if self.ver >= 0x01: + if not self.nope_ind: + if self.mod_type is not None: + result += ("%s " % self.mod_type) + if self.tsc_set is not None: + result += ("set=%u " % self.tsc_set) + if self.tsc is not None: + result += ("tsc=%u " % self.tsc) + if self.ci is not None: + result += ("C/I=%d " % self.ci) + else: + result += "IDLE / NOP IND" + # Strip useless whitespace and return return result.strip() + # Encodes Modulation and Training Sequence info + def gen_mts(self): + # IDLE / nope indication has no MTS info + if self.nope_ind: + return self.NOPE_IND + + # TSC: . . . . . X X X + mts = self.tsc & 0b111 + + # MTS: . X X X X . . . + mts |= self.mod_type << 3 + mts |= self.tsc_set << 3 + + return mts + + # Parses Modulation and Training Sequence info + def parse_mts(self, mts): + # IDLE / nope indication has no MTS info + self.nope_ind = (mts & self.NOPE_IND) > 0 + if self.nope_ind: + self.mod_type = None + self.tsc_set = None + self.tsc = None + return + + # TSC: . . . . . X X X + self.tsc = mts & 0b111 + + # MTS: . X X X X . . . + mts = (mts >> 3) & 0b1111 + if (mts & 0b1100) > 0: + # Mask: . . . . M M M S + self.mod_type = Modulation(mts & 0b1110) + self.tsc_set = mts & 0b1 + else: + # GMSK: . . . . 0 0 S S + self.mod_type = Modulation.ModGMSK + self.tsc_set = mts & 0b11 + # Generates message specific header part def gen_hdr(self): # Allocate an empty byte-array @@ -485,6 +715,20 @@ # Big endian, 2 bytes (int32_t) buf += struct.pack(">h", self.toa256) + if self.ver >= 0x01: + # Modulation and Training Sequence info + mts = self.gen_mts() + buf.append(mts) + + # C/I: Carrier-to-Interference ratio + # 2 octets, big endian (int16_t) + # FIXME: Dummy filling (C/I) + if not self.nope_ind: + # FIXME!!! + buf += bytearray(2) + else: + buf += bytearray(2) + return buf # Parses message specific header part @@ -495,6 +739,18 @@ # Parse ToA (Time of Arrival) self.toa256 = struct.unpack(">h", hdr[6:8])[0] + if self.ver >= 0x01: + # Modulation and Training Sequence info + self.parse_mts(hdr[8]) + + # C/I: Carrier-to-Interference ratio + # 2 octets, big endian (int16_t) + if not self.nope_ind: + # FIXME!!! + self.ci = None + else: + self.ci = None + # Generates message specific burst def gen_burst(self): # Convert soft-bits to unsigned soft-bits @@ -505,19 +761,8 @@ # Parses message specific burst def parse_burst(self, burst): - length = len(burst) - - # Distinguish between GSM and EDGE - if length >= EDGE_BURST_LEN: - burst_usbits = list(burst[:EDGE_BURST_LEN]) - else: - burst_usbits = list(burst[:GSM_BURST_LEN]) - # Convert unsigned soft-bits to soft-bits - burst_sbits = self.usbit2sbit(burst_usbits) - - # Save - self.burst = burst_sbits + self.burst = self.usbit2sbit(burst) # Transforms this message to L12TRX message def gen_l12trx(self, ver = None): @@ -682,6 +927,18 @@ log.info("Check header version %u coding: OK" % ver) + # Match version specific fields + if msg_trx2l1.ver >= 0x01: + log.info("TRX2L1: %s" % msg_trx2l1.desc_hdr()) + log.info("TRX2L1: %s" % msg_trx2l1_dec.desc_hdr()) + assert(msg_trx2l1_dec.nope_ind == msg_trx2l1.nope_ind) + assert(msg_trx2l1_dec.mod_type == msg_trx2l1.mod_type) + assert(msg_trx2l1_dec.tsc_set == msg_trx2l1.tsc_set) + assert(msg_trx2l1_dec.tsc == msg_trx2l1.tsc) + assert(msg_trx2l1_dec.ci == msg_trx2l1.ci) + + log.info("Check version %u specific header coding: OK" % ver) + msg_trx2l1_gen = msg_l12trx.gen_trx2l1() msg_l12trx_gen = msg_trx2l1.gen_l12trx() -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie810c5a482d1c908994e8cdd32a2ea641ae7cedd Gerrit-Change-Number: 14579 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 24 03:22:53 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Jun 2019 03:22:53 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: implement header version coding In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14576 ) Change subject: trx_toolkit/data_msg.py: implement header version coding ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Idb0377d66290eb9c15d6998a5806a84fa2e5dd02 Gerrit-Change-Number: 14576 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Mon, 24 Jun 2019 03:22:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 03:24:44 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Jun 2019 03:24:44 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: implement header version 0x01 coding In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmocom-bb/+/14579 ) Change subject: trx_toolkit/data_msg.py: implement header version 0x01 coding ...................................................................... trx_toolkit/data_msg.py: implement header version 0x01 coding The new version mostly adds new fields to the TRX2L1 message: +------+-----+-----+-----+-----+--------------------+ | RSSI | ToA | MTS | C/I | L16 | soft-bits (254..0) | +------+-----+-----+-----+-----+--------------------+ where: - MTS (1 octet) - Modulation and Training Sequence info, - C/I (2 octets) - Carrier-to-Interference ratio (big endian), - L16 (2 octets) - length of burst (big endian). In case of L12TRX, the burst bits are now also encoded as L16V: +-----+-----+--------------------+ | PWR | L16 | hard-bits (1 or 0) | +-----+-----+--------------------+ == Coding of MTS: Modulation and Training Sequence info 3GPP TS 45.002 version 15.1.0 defines several modulation types, and a few sets of training sequences for each type. The most common are GMSK and 8-PSK (which is used in EDGE). +-----------------+---------------------------------------+ | 7 6 5 4 3 2 1 0 | bit numbers (value range) | +-----------------+---------------------------------------+ | . . . . . X X X | Training Sequence Code (0..7) | +-----------------+---------------------------------------+ | . X X X X . . . | Modulation, TS set number (see below) | +-----------------+---------------------------------------+ | X . . . . . . . | IDLE / nope frame indication (0 or 1) | +-----------------+---------------------------------------+ The bit number 7 (MSB) is set to high when either nothing has been detected, or during IDLE frames, so we can deliver noise levels, and avoid clock gaps on the L1 side. Other bits are ignored, and should be set to low (0) in this case. L16 shall be set to 0x00. == Coding of modulation and TS set number GMSK has 4 sets of training sequences (see tables 5.2.3a-d), while 8-PSK (see tables 5.2.3f-g) and the others have 2 sets. Access and Synchronization bursts also have several synch. sequences. +-----------------+---------------------------------------+ | 7 6 5 4 3 2 1 0 | bit numbers (value range) | +-----------------+---------------------------------------+ | . 0 0 X X . . . | GMSK, 4 TS sets (0..3) | +-----------------+---------------------------------------+ | . 0 1 0 X . . . | 8-PSK, 2 TS sets (0..1) | +-----------------+---------------------------------------+ | . 0 1 1 X . . . | AQPSK, 2 TS sets (0..1) | +-----------------+---------------------------------------+ | . 1 0 0 X . . . | 16QAM, 2 TS sets (0..1) | +-----------------+---------------------------------------+ | . 1 0 1 X . . . | 32QAM, 2 TS sets (0..1) | +-----------------+---------------------------------------+ | . 1 1 1 X . . . | RESERVED (0) | +-----------------+---------------------------------------+ == C/I: Carrier-to-Interference ratio The C/I value is computed from the training sequence of each burst, where we can compare the "ideal" training sequence with the actual training sequence and then express that in dB. Change-Id: Ie810c5a482d1c908994e8cdd32a2ea641ae7cedd Related: OS#4006 --- M src/target/trx_toolkit/data_msg.py 1 file changed, 289 insertions(+), 32 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/79/14579/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie810c5a482d1c908994e8cdd32a2ea641ae7cedd Gerrit-Change-Number: 14579 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 03:35:50 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Jun 2019 03:35:50 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: drop double field initialization In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14573 ) Change subject: trx_toolkit/data_msg.py: drop double field initialization ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ibf71be552a7eb5dab1d096421a8557514294683e Gerrit-Change-Number: 14573 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 24 Jun 2019 03:35:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 03:35:58 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Jun 2019 03:35:58 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: inline both gen_fn() and parse_fn() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14574 ) Change subject: trx_toolkit/data_msg.py: inline both gen_fn() and parse_fn() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie64b271cf502f3df23b32f4b14a1e2b551a0f794 Gerrit-Change-Number: 14574 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 24 Jun 2019 03:35: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 24 07:26:22 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 24 Jun 2019 07:26:22 +0000 Subject: Change in ...docker-playground[master]: ttcn3-hlr-test: log to file and gsmtap In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14563 ) Change subject: ttcn3-hlr-test: log to file and gsmtap ...................................................................... Patch Set 2: That makes sense. I'll update the patch to add the missing file logging only. GSMTAP discussion: https://lists.osmocom.org/pipermail/openbsc/2019-June/012946.html -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifb4a39e6e2987f4dc04369508fe0dff0913a02ff Gerrit-Change-Number: 14563 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Jun 2019 07:26: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 24 07:30:26 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 24 Jun 2019 07:30:26 +0000 Subject: Change in ...docker-playground[master]: ttcn3-{hlr, mgw, pcu}-test: log to file In-Reply-To: References: Message-ID: Hello pespin, fixeria, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/14563 to look at the new patch set (#3). Change subject: ttcn3-{hlr,mgw,pcu}-test: log to file ...................................................................... ttcn3-{hlr,mgw,pcu}-test: log to file Add missing file output which all other tests already have. Related: OS#4067 Change-Id: Ifb4a39e6e2987f4dc04369508fe0dff0913a02ff --- M ttcn3-hlr-test/osmo-hlr.cfg M ttcn3-mgw-test/osmo-mgw.cfg M ttcn3-pcu-test/osmo-pcu.cfg M ttcn3-pcu-test/sns/osmo-pcu.cfg 4 files changed, 41 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/63/14563/3 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifb4a39e6e2987f4dc04369508fe0dff0913a02ff Gerrit-Change-Number: 14563 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 08:59:06 2019 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 24 Jun 2019 08:59:06 +0000 Subject: Change in ...osmo-pcu[master]: Cosmetic: Osmcoom -> Osmocom Message-ID: keith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14580 Change subject: Cosmetic: Osmcoom -> Osmocom ...................................................................... Cosmetic: Osmcoom -> Osmocom Change-Id: I02c6b2655df54ca40717ce7609013d0bc54eabdf --- M debian/control 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/80/14580/1 diff --git a/debian/control b/debian/control index c808795..9ff9d88 100644 --- a/debian/control +++ b/debian/control @@ -20,7 +20,7 @@ Description: Osmocom GPRS/EDGE Packet Control Unit (PCU) The GPRS Packet Control Unit is co-located with the GSM BTS or GSM BSC in order to provide packet-switched services for 2G (2.5G, 2.75G) - networks. OsmoPCU is the Osmcoom implementation of this network + networks. OsmoPCU is the Osmocom implementation of this network element. It interfaces to osmo-bts via the PCU socket of OsmoBTS and via Gb (NS-over-IP) interface with the SGSN such as OsmoSGSN. @@ -33,7 +33,7 @@ Description: Debug symbols for the Osmocom GPRS/EDGE Packet Control Unit (PCU) The GPRS Packet Control Unit is co-located with the GSM BTS or GSM BSC in order to provide packet-switched services for 2G (2.5G, 2.75G) - networks. OsmoPCU is the Osmcoom implementation of this network + networks. OsmoPCU is the Osmocom implementation of this network element. It interfaces to osmo-bts via the PCU socket of OsmoBTS and via Gb (NS-over-IP) interface with the SGSN such as OsmoSGSN. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I02c6b2655df54ca40717ce7609013d0bc54eabdf Gerrit-Change-Number: 14580 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 10:43:32 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 24 Jun 2019 10:43:32 +0000 Subject: Change in ...osmocom-bb[master]: trcon: fix shift Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14581 Change subject: trcon: fix shift ...................................................................... trcon: fix shift Ubsan is unhappy about shifts into the sign bit of our implicitly promoted value. Change-Id: I4e72db1143a68064ba83668414dc3d60c0e1ad78 --- M src/host/trxcon/sched_lchan_sch.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/81/14581/1 diff --git a/src/host/trxcon/sched_lchan_sch.c b/src/host/trxcon/sched_lchan_sch.c index e1977e1..9eed506 100644 --- a/src/host/trxcon/sched_lchan_sch.c +++ b/src/host/trxcon/sched_lchan_sch.c @@ -47,7 +47,7 @@ uint8_t t3p; uint32_t sb; - sb = (sb_info[3] << 24) + sb = ((uint32_t)sb_info[3] << 24) | (sb_info[2] << 16) | (sb_info[1] << 8) | sb_info[0]; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I4e72db1143a68064ba83668414dc3d60c0e1ad78 Gerrit-Change-Number: 14581 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 24 11:50:49 2019 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 24 Jun 2019 11:50:49 +0000 Subject: Change in ...osmo-bsc[master]: doc/manuals, vty doc: more handover doc clarifications Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14582 Change subject: doc/manuals, vty doc: more handover doc clarifications ...................................................................... doc/manuals, vty doc: more handover doc clarifications Related: OS#3487 Change-Id: I1639efb2dbcca4f0e9c33a74f3067606ce5f4209 --- M doc/manuals/chapters/handover.adoc M include/osmocom/bsc/handover_cfg.h M src/osmo-bsc/handover_vty.c 3 files changed, 25 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/82/14582/1 diff --git a/doc/manuals/chapters/handover.adoc b/doc/manuals/chapters/handover.adoc index 2f9d598..bb99751 100644 --- a/doc/manuals/chapters/handover.adoc +++ b/doc/manuals/chapters/handover.adoc @@ -434,7 +434,8 @@ Configuration settings relevant for algorithm 1 start with `handover1`. For further details, please refer to the OsmoBSC VTY Reference -(<>) or the telnet VTY online documentation. +(<>) or the telnet VTY online documentation. See the +`handover1` settings on the `config-net` and `config-net-bts` nodes. ==== Handover Algorithm 2 @@ -451,7 +452,8 @@ Configuration settings relevant for algorithm 2 start with `handover2`. For further details, please refer to the OsmoBSC VTY Reference -<> or the telnet VTY online documentation. +<> or the telnet VTY online documentation. See the `handover2` +settings on the `config-net` and `config-net-bts` nodes. ===== Load Distribution @@ -472,8 +474,8 @@ adhere to minimum reception levels and distance, see `min rxlev` and `max distance`. -Load distribution will take effect only for already established voice channels. -An MS will always first establish a voice call with its current cell choice; in +Load distribution will take effect only for already established channels. +For example, an MS will always first establish a voice call with its current cell choice; in load situations, it might be moved to another cell shortly after that. Considering the best neighbor _before_ starting a new voice call might be desirable, but is currently not implemented. Consider that RXLEV/RXQUAL ratings diff --git a/include/osmocom/bsc/handover_cfg.h b/include/osmocom/bsc/handover_cfg.h index 92b5cd4..f174aad 100644 --- a/include/osmocom/bsc/handover_cfg.h +++ b/include/osmocom/bsc/handover_cfg.h @@ -96,22 +96,22 @@ "handover1 ", "window rxlev averaging", "<1-10>", atoi, "%u", as_is, \ HO_CFG_STR_HANDOVER1 \ HO_CFG_STR_WIN_RXLEV \ - "How many RxLev measurements are used for averaging\n" \ + "How many RxLev measurements to use for averaging\n" \ "RxLev averaging: " HO_CFG_STR_AVG_COUNT) \ \ HO_CFG_ONE_MEMBER(unsigned int, hodec1_rxqual_avg_win, 1, \ "handover1 ", "window rxqual averaging", "<1-10>", atoi, "%u", as_is, \ HO_CFG_STR_HANDOVER1 \ HO_CFG_STR_WIN_RXQUAL \ - "How many RxQual measurements are used for averaging\n" \ + "How many RxQual measurements to use for averaging\n" \ "RxQual averaging: " HO_CFG_STR_AVG_COUNT) \ \ HO_CFG_ONE_MEMBER(unsigned int, hodec1_rxlev_neigh_avg_win, 10, \ "handover1 ", "window rxlev neighbor averaging", "<1-10>", atoi, "%u", as_is, \ HO_CFG_STR_HANDOVER1 \ HO_CFG_STR_WIN_RXLEV \ - "How many Neighbor RxLev measurements are used for averaging\n" \ - "How many Neighbor RxLev measurements are used for averaging\n" \ + "How many Neighbor RxLev measurements to use for averaging\n" \ + "How many Neighbor RxLev measurements to use for averaging\n" \ "Neighbor RxLev averaging: " HO_CFG_STR_AVG_COUNT) \ \ HO_CFG_ONE_MEMBER(unsigned int, hodec1_pwr_interval, 6, \ @@ -142,22 +142,22 @@ "handover2 ", "window rxlev averaging", "<1-10>", atoi, "%u", as_is, \ HO_CFG_STR_HANDOVER2 \ HO_CFG_STR_WIN_RXLEV \ - "How many RxLev measurements are used for averaging\n" \ + "How many RxLev measurements to use for averaging\n" \ "RxLev averaging: " HO_CFG_STR_AVG_COUNT) \ \ HO_CFG_ONE_MEMBER(unsigned int, hodec2_rxqual_avg_win, 1, \ "handover2 ", "window rxqual averaging", "<1-10>", atoi, "%u", as_is, \ HO_CFG_STR_HANDOVER2 \ HO_CFG_STR_WIN_RXQUAL \ - "How many RxQual measurements are used for averaging\n" \ + "How many RxQual measurements to use for averaging\n" \ "RxQual averaging: " HO_CFG_STR_AVG_COUNT) \ \ HO_CFG_ONE_MEMBER(unsigned int, hodec2_rxlev_neigh_avg_win, 10, \ "handover2 ", "window rxlev neighbor averaging", "<1-10>", atoi, "%u", as_is, \ HO_CFG_STR_HANDOVER2 \ HO_CFG_STR_WIN_RXLEV \ - "How many Neighbor RxLev measurements are used for averaging\n" \ - "How many Neighbor RxLev measurements are used for averaging\n" \ + "How many Neighbor RxLev measurements to use for averaging\n" \ + "How many Neighbor RxLev measurements to use for averaging\n" \ "Neighbor RxLev averaging: " HO_CFG_STR_AVG_COUNT) \ \ HO_CFG_ONE_MEMBER(unsigned int, hodec2_pwr_interval, 6, \ @@ -184,7 +184,7 @@ HO_CFG_ONE_MEMBER(bool, hodec2_as_active, 0, \ "handover2 ", "assignment", "0|1", a2bool, "%d", bool2i, \ HO_CFG_STR_HANDOVER2 \ - "Enable or disable in-call channel re-assignment\n" \ + "Enable or disable in-call channel re-assignment within the same cell\n" \ "Disable in-call assignment\n" \ "Enable in-call assignment\n") \ \ @@ -200,7 +200,7 @@ HO_CFG_STR_HANDOVER2 \ HO_CFG_STR_MIN \ "How weak may RxLev of an MS become before triggering HO\n" \ - "minimum RxLev (dBm)\n") \ + "minimum RxLev (dBm; note: negative values)\n") \ \ HO_CFG_ONE_MEMBER(int, hodec2_min_rxqual, 5, \ "handover2 ", "min rxqual", "<0-7>", atoi, "%d", as_is, \ @@ -247,27 +247,30 @@ "handover2 ", "penalty-time max-distance", "<0-99999>", atoi, "%d", as_is, \ HO_CFG_STR_HANDOVER2 \ HO_CFG_STR_PENALTY_TIME \ - "Time to suspend handovers after leaving this cell due to exceeding max distance\n" \ + "Time to suspend handover for a subscriber after leaving this cell due to exceeding max distance;" \ + " see also 'handover2 retries'\n" \ "Seconds\n") \ \ HO_CFG_ONE_MEMBER(int, hodec2_penalty_failed_ho, 60, \ "handover2 ", "penalty-time failed-ho", "<0-99999>", atoi, "%d", as_is, \ HO_CFG_STR_HANDOVER2 \ HO_CFG_STR_PENALTY_TIME \ - "Time to suspend handovers after handover failure to this cell\n" \ + "Time to suspend handover for a subscriber after a failed handover into this cell;" \ + " see also 'handover2 retries'\n" \ "Seconds\n") \ \ HO_CFG_ONE_MEMBER(int, hodec2_penalty_failed_as, 60, \ "handover2 ", "penalty-time failed-assignment", "<0-99999>", atoi, "%d", as_is, \ HO_CFG_STR_HANDOVER2 \ HO_CFG_STR_PENALTY_TIME \ - "Time to suspend handovers after assignment failure in this cell\n" \ + "Time to suspend handover for a subscriber after a failed re-assignment within this cell;" \ + " see also 'handover2 retries'\n" \ "Seconds\n") \ \ HO_CFG_ONE_MEMBER(int, hodec2_retries, 0, \ "handover2 ", "retries", "<0-9>", atoi, "%d", as_is, \ HO_CFG_STR_HANDOVER2 \ - "Immediately retry on handover/assignment failure\n" \ + "Number of times to immediately retry a failed handover/assignment, before a penalty time is applied\n" \ "Number of retries\n") \ #define HO_CFG_ALL_MEMBERS \ diff --git a/src/osmo-bsc/handover_vty.c b/src/osmo-bsc/handover_vty.c index 7979511..e9333ec 100644 --- a/src/osmo-bsc/handover_vty.c +++ b/src/osmo-bsc/handover_vty.c @@ -107,7 +107,8 @@ "handover2 congestion-check (disabled|<1-999>|now)", HO_CFG_STR_HANDOVER2 "Configure congestion check interval\n" - "Disable congestion checking, do not handover based on cell overload\n" + "Disable congestion checking, do not handover based on cell load. Note: there is one global congestion check" + " interval, i.e. contrary to other handover2 settings, this is not configurable per individual cell.\n" "Congestion check interval in seconds (default " OSMO_STRINGIFY_VAL(HO_CFG_CONGESTION_CHECK_DEFAULT) ")\n" "Manually trigger a congestion check to run right now\n") -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1639efb2dbcca4f0e9c33a74f3067606ce5f4209 Gerrit-Change-Number: 14582 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 24 12:50:50 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 12:50:50 +0000 Subject: Change in ...docker-playground[master]: redmine: migrate from 3.4 to 3.4-passenger Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/14583 Change subject: redmine: migrate from 3.4 to 3.4-passenger ...................................................................... redmine: migrate from 3.4 to 3.4-passenger This provides much more reasonable performance on our high-end server Change-Id: Idaa19566d1d5ac4ea0ff0296d57d1f9ca2bd599b --- M redmine/Dockerfile 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/83/14583/1 diff --git a/redmine/Dockerfile b/redmine/Dockerfile index 488d6f4..6402236 100644 --- a/redmine/Dockerfile +++ b/redmine/Dockerfile @@ -1,4 +1,4 @@ -FROM redmine:3.4 +FROM redmine:3.4-passenger RUN apt-get update && \ apt-get install -y --no-install-recommends \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idaa19566d1d5ac4ea0ff0296d57d1f9ca2bd599b Gerrit-Change-Number: 14583 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 12:51:51 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Jun 2019 12:51:51 +0000 Subject: Change in ...osmo-pcu[master]: Cosmetic: Osmcoom -> Osmocom In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14580 ) Change subject: Cosmetic: Osmcoom -> Osmocom ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I02c6b2655df54ca40717ce7609013d0bc54eabdf Gerrit-Change-Number: 14580 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 24 Jun 2019 12:51: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 24 12:55:57 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Jun 2019 12:55:57 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduler: fix bit shift in BSIC / TDMA FN calculation 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/osmocom-bb/+/14581 ) Change subject: trxcon/scheduler: fix bit shift in BSIC / TDMA FN calculation ...................................................................... trxcon/scheduler: fix bit shift in BSIC / TDMA FN calculation Ubsan is unhappy about shifts into the sign bit of our implicitly promoted value. Change-Id: I4e72db1143a68064ba83668414dc3d60c0e1ad78 --- M src/host/trxcon/sched_lchan_sch.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/81/14581/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I4e72db1143a68064ba83668414dc3d60c0e1ad78 Gerrit-Change-Number: 14581 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 12:56:57 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Jun 2019 12:56:57 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduler: fix bit shift in BSIC / TDMA FN calculation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14581 ) Change subject: trxcon/scheduler: fix bit shift in BSIC / TDMA FN calculation ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I4e72db1143a68064ba83668414dc3d60c0e1ad78 Gerrit-Change-Number: 14581 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 24 Jun 2019 12:56: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 24 13:45:28 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:45:28 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduler: fix bit shift in BSIC / TDMA FN calculation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14581 ) Change subject: trxcon/scheduler: fix bit shift in BSIC / TDMA FN calculation ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I4e72db1143a68064ba83668414dc3d60c0e1ad78 Gerrit-Change-Number: 14581 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 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 Mon Jun 24 13:45:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:45:29 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduler: fix bit shift in BSIC / TDMA FN calculation In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14581 ) Change subject: trxcon/scheduler: fix bit shift in BSIC / TDMA FN calculation ...................................................................... trxcon/scheduler: fix bit shift in BSIC / TDMA FN calculation Ubsan is unhappy about shifts into the sign bit of our implicitly promoted value. Change-Id: I4e72db1143a68064ba83668414dc3d60c0e1ad78 --- M src/host/trxcon/sched_lchan_sch.c 1 file changed, 1 insertion(+), 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/src/host/trxcon/sched_lchan_sch.c b/src/host/trxcon/sched_lchan_sch.c index e1977e1..9eed506 100644 --- a/src/host/trxcon/sched_lchan_sch.c +++ b/src/host/trxcon/sched_lchan_sch.c @@ -47,7 +47,7 @@ uint8_t t3p; uint32_t sb; - sb = (sb_info[3] << 24) + sb = ((uint32_t)sb_info[3] << 24) | (sb_info[2] << 16) | (sb_info[1] << 8) | sb_info[0]; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I4e72db1143a68064ba83668414dc3d60c0e1ad78 Gerrit-Change-Number: 14581 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen 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 24 13:45:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:45:47 +0000 Subject: Change in ...osmo-pcu[master]: Cosmetic: Osmcoom -> Osmocom In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14580 ) Change subject: Cosmetic: Osmcoom -> Osmocom ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I02c6b2655df54ca40717ce7609013d0bc54eabdf Gerrit-Change-Number: 14580 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 13:45:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 13:45:48 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:45:48 +0000 Subject: Change in ...osmo-pcu[master]: Cosmetic: Osmcoom -> Osmocom In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14580 ) Change subject: Cosmetic: Osmcoom -> Osmocom ...................................................................... Cosmetic: Osmcoom -> Osmocom Change-Id: I02c6b2655df54ca40717ce7609013d0bc54eabdf --- M debian/control 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/debian/control b/debian/control index c808795..9ff9d88 100644 --- a/debian/control +++ b/debian/control @@ -20,7 +20,7 @@ Description: Osmocom GPRS/EDGE Packet Control Unit (PCU) The GPRS Packet Control Unit is co-located with the GSM BTS or GSM BSC in order to provide packet-switched services for 2G (2.5G, 2.75G) - networks. OsmoPCU is the Osmcoom implementation of this network + networks. OsmoPCU is the Osmocom implementation of this network element. It interfaces to osmo-bts via the PCU socket of OsmoBTS and via Gb (NS-over-IP) interface with the SGSN such as OsmoSGSN. @@ -33,7 +33,7 @@ Description: Debug symbols for the Osmocom GPRS/EDGE Packet Control Unit (PCU) The GPRS Packet Control Unit is co-located with the GSM BTS or GSM BSC in order to provide packet-switched services for 2G (2.5G, 2.75G) - networks. OsmoPCU is the Osmcoom implementation of this network + networks. OsmoPCU is the Osmocom implementation of this network element. It interfaces to osmo-bts via the PCU socket of OsmoBTS and via Gb (NS-over-IP) interface with the SGSN such as OsmoSGSN. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I02c6b2655df54ca40717ce7609013d0bc54eabdf Gerrit-Change-Number: 14580 Gerrit-PatchSet: 1 Gerrit-Owner: keith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 13:46:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:46:05 +0000 Subject: Change in ...docker-playground[master]: redmine: migrate from 3.4 to 3.4-passenger In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14583 ) Change subject: redmine: migrate from 3.4 to 3.4-passenger ...................................................................... Patch Set 1: Verified+1 Code-Review+2 change already deployed, vastly improved performance -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idaa19566d1d5ac4ea0ff0296d57d1f9ca2bd599b Gerrit-Change-Number: 14583 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 13:46:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 13:46:07 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:46:07 +0000 Subject: Change in ...docker-playground[master]: redmine: migrate from 3.4 to 3.4-passenger In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/14583 ) Change subject: redmine: migrate from 3.4 to 3.4-passenger ...................................................................... redmine: migrate from 3.4 to 3.4-passenger This provides much more reasonable performance on our high-end server Change-Id: Idaa19566d1d5ac4ea0ff0296d57d1f9ca2bd599b --- M redmine/Dockerfile 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/redmine/Dockerfile b/redmine/Dockerfile index 488d6f4..6402236 100644 --- a/redmine/Dockerfile +++ b/redmine/Dockerfile @@ -1,4 +1,4 @@ -FROM redmine:3.4 +FROM redmine:3.4-passenger RUN apt-get update && \ apt-get install -y --no-install-recommends \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14583 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idaa19566d1d5ac4ea0ff0296d57d1f9ca2bd599b Gerrit-Change-Number: 14583 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 13:46:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:46:47 +0000 Subject: Change in ...docker-playground[master]: ttcn3-{hlr, mgw, pcu}-test: log to file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14563 ) Change subject: ttcn3-{hlr,mgw,pcu}-test: log to file ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifb4a39e6e2987f4dc04369508fe0dff0913a02ff Gerrit-Change-Number: 14563 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Jun 2019 13:46: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 24 13:47:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:47:31 +0000 Subject: Change in ...libosmocore[master]: utils.h: require a semi colon after OSMO_ASSERT In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14578 ) Change subject: utils.h: require a semi colon after OSMO_ASSERT ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2272d29a81496164bebd1696a694383a28a86434 Gerrit-Change-Number: 14578 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 13:47:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 13:47:51 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:47:51 +0000 Subject: Change in ...libosmocore[master]: utils.h: require a semi colon after OSMO_ASSERT In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14578 ) Change subject: utils.h: require a semi colon after OSMO_ASSERT ...................................................................... Patch Set 3: I didn't even know you could do a "do if ..." construct. I would have nested them. Intresting :) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2272d29a81496164bebd1696a694383a28a86434 Gerrit-Change-Number: 14578 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 13:47: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 24 13:48:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:48:08 +0000 Subject: Change in ...osmo-pcu[master]: rlc: replace int with uint16_t In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14569 ) Change subject: rlc: replace int with uint16_t ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib8a9081bbcb8b4344498254c58941002d17f9381 Gerrit-Change-Number: 14569 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 13:48: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 24 13:48:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:48:09 +0000 Subject: Change in ...osmo-pcu[master]: rlc: replace int with uint16_t In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14569 ) Change subject: rlc: replace int with uint16_t ...................................................................... rlc: replace int with uint16_t The i value will only count forward and is limited to 11 bit. The integer is also converted when returning to uint16_t Change-Id: Ib8a9081bbcb8b4344498254c58941002d17f9381 --- M src/rlc.cpp 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/src/rlc.cpp b/src/rlc.cpp index e5067c9..c6d4330 100644 --- a/src/rlc.cpp +++ b/src/rlc.cpp @@ -91,7 +91,7 @@ /* Update the receive block bitmap */ uint16_t gprs_rlc_ul_window::update_egprs_rbb(uint8_t *rbb) { - int i; + uint16_t i; uint16_t bsn; uint16_t bitmask = 0x80; int8_t pos = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib8a9081bbcb8b4344498254c58941002d17f9381 Gerrit-Change-Number: 14569 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus 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 24 13:48:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:48:41 +0000 Subject: Change in ...osmo-pcu[master]: Encoding: drop struct gprs_rlcmac_bts* from all functions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14570 ) Change subject: Encoding: drop struct gprs_rlcmac_bts* from all functions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia07755e825913a16352ab13f6cf55f2918de8681 Gerrit-Change-Number: 14570 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 13:48: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 24 13:48:43 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:48:43 +0000 Subject: Change in ...osmo-pcu[master]: Encoding: drop struct gprs_rlcmac_bts* from all functions In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14570 ) Change subject: Encoding: drop struct gprs_rlcmac_bts* from all functions ...................................................................... Encoding: drop struct gprs_rlcmac_bts* from all functions The bts is not used at all. Change-Id: Ia07755e825913a16352ab13f6cf55f2918de8681 --- M src/encoding.cpp M src/encoding.h M src/tbf.cpp M src/tbf_ul.cpp 4 files changed, 12 insertions(+), 17 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/encoding.cpp b/src/encoding.cpp index 530cba7..a290c65 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -543,7 +543,6 @@ /* generate uplink assignment */ void Encoding::write_packet_uplink_assignment( - struct gprs_rlcmac_bts *bts, bitvec * dest, uint8_t old_tfi, uint8_t old_downlink, uint32_t tlli, uint8_t use_tlli, struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, uint8_t alpha, @@ -787,7 +786,7 @@ } static void write_packet_ack_nack_desc_gprs( - struct gprs_rlcmac_bts *bts, bitvec * dest, unsigned& wp, + bitvec * dest, unsigned& wp, gprs_rlc_ul_window *window, bool is_final) { char rbb[65]; @@ -809,12 +808,12 @@ } static void write_packet_uplink_ack_gprs( - struct gprs_rlcmac_bts *bts, bitvec * dest, unsigned& wp, + bitvec * dest, unsigned& wp, struct gprs_rlcmac_ul_tbf *tbf, bool is_final) { bitvec_write_field(dest, &wp, mcs_chan_code(tbf->current_cs()), 2); // CHANNEL_CODING_COMMAND - write_packet_ack_nack_desc_gprs(bts, dest, wp, tbf->window(), is_final); + write_packet_ack_nack_desc_gprs(dest, wp, tbf->window(), is_final); bitvec_write_field(dest, &wp, 1, 1); // 1: have CONTENTION_RESOLUTION_TLLI bitvec_write_field(dest, &wp, tbf->tlli(), 32); // CONTENTION_RESOLUTION_TLLI @@ -830,7 +829,7 @@ }; static void write_packet_ack_nack_desc_egprs( - struct gprs_rlcmac_bts *bts, bitvec * dest, unsigned& wp, + bitvec * dest, unsigned& wp, gprs_rlc_ul_window *window, bool is_final, unsigned& rest_bits) { unsigned int urbb_len = 0; @@ -988,7 +987,7 @@ } static void write_packet_uplink_ack_egprs( - struct gprs_rlcmac_bts *bts, bitvec * dest, unsigned& wp, + bitvec * dest, unsigned& wp, struct gprs_rlcmac_ul_tbf *tbf, bool is_final) { bitvec_write_field(dest, &wp, 0, 2); // fixed 00 @@ -1010,15 +1009,14 @@ /* -2 for last bit 0 mandatory and REL5 not supported */ unsigned bits_ack_nack = dest->data_len * 8 - wp - 2; - write_packet_ack_nack_desc_egprs(bts, dest, wp, tbf->window(), is_final, bits_ack_nack); + write_packet_ack_nack_desc_egprs(dest, wp, tbf->window(), is_final, bits_ack_nack); bitvec_write_field(dest, &wp, 0, 1); // fixed 0 bitvec_write_field(dest, &wp, 0, 1); // 0: don't have REL 5 }; void Encoding::write_packet_uplink_ack( - struct gprs_rlcmac_bts *bts, bitvec * dest, - struct gprs_rlcmac_ul_tbf *tbf, bool is_final, + bitvec * dest, struct gprs_rlcmac_ul_tbf *tbf, bool is_final, uint8_t rrbp) { unsigned wp = 0; @@ -1039,11 +1037,11 @@ if (tbf->is_egprs_enabled()) { /* PU_AckNack_EGPRS = on */ bitvec_write_field(dest, &wp, 1, 1); // 1: EGPRS - write_packet_uplink_ack_egprs(bts, dest, wp, tbf, is_final); + write_packet_uplink_ack_egprs(dest, wp, tbf, is_final); } else { /* PU_AckNack_GPRS = on */ bitvec_write_field(dest, &wp, 0, 1); // 0: GPRS - write_packet_uplink_ack_gprs(bts, dest, wp, tbf, is_final); + write_packet_uplink_ack_gprs(dest, wp, tbf, is_final); } LOGP(DRLCMACUL, LOGL_DEBUG, diff --git a/src/encoding.h b/src/encoding.h index 2309dc3..6dcced0 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -27,7 +27,6 @@ #include } -struct gprs_rlcmac_bts; struct gprs_rlcmac_tbf; struct bitvec; struct gprs_llc; @@ -57,7 +56,6 @@ ); static void write_packet_uplink_assignment( - struct gprs_rlcmac_bts *bts, bitvec * dest, uint8_t old_tfi, uint8_t old_downlink, uint32_t tlli, uint8_t use_tlli, struct gprs_rlcmac_ul_tbf *tbf, uint8_t poll, uint8_t rrbp, @@ -76,8 +74,7 @@ bitvec * dest, uint32_t tlli); static void write_packet_uplink_ack( - struct gprs_rlcmac_bts *bts, bitvec * dest, - struct gprs_rlcmac_ul_tbf *tbf, bool is_final, + bitvec * dest, struct gprs_rlcmac_ul_tbf *tbf, bool is_final, uint8_t rrbp); static int write_paging_request(bitvec * dest, uint8_t *ptmsi, uint16_t ptmsi_len); diff --git a/src/tbf.cpp b/src/tbf.cpp index dc90dbb..a099322 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -1365,7 +1365,7 @@ return NULL; } bitvec_unhex(ass_vec, DUMMY_VEC); - Encoding::write_packet_uplink_assignment(bts_data(), ass_vec, m_tfi, + Encoding::write_packet_uplink_assignment(ass_vec, m_tfi, (direction == GPRS_RLCMAC_DL_TBF), tlli(), is_tlli_valid(), new_tbf, 1, rrbp, bts_data()->alpha, bts_data()->gamma, -1, is_egprs_enabled()); diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index e1a0fbd..55c83e7 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -153,7 +153,7 @@ return NULL; } bitvec_unhex(ack_vec, DUMMY_VEC); - Encoding::write_packet_uplink_ack(bts_data(), ack_vec, this, final, rrbp); + Encoding::write_packet_uplink_ack(ack_vec, this, final, rrbp); bitvec_pack(ack_vec, msgb_put(msg, 23)); bitvec_free(ack_vec); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia07755e825913a16352ab13f6cf55f2918de8681 Gerrit-Change-Number: 14570 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus 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 24 13:48:59 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:48:59 +0000 Subject: Change in ...osmo-pcu[master]: Encoding: use uint16_t when interacting with the window object In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14571 ) Change subject: Encoding: use uint16_t when interacting with the window object ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If62fa09d7bfa8e91ce707824f7019edb1b83da9e Gerrit-Change-Number: 14571 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 13:48: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 24 13:49:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:49:29 +0000 Subject: Change in ...osmo-bsc[master]: doc/manuals, vty doc: more handover doc clarifications In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14582 ) Change subject: doc/manuals, vty doc: more handover doc clarifications ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14582 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1639efb2dbcca4f0e9c33a74f3067606ce5f4209 Gerrit-Change-Number: 14582 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 13:49: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 24 13:51:05 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:51:05 +0000 Subject: Change in ...osmo-pcu[master]: decompress_crbb: add length argument for search_runlen In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14481 ) Change subject: decompress_crbb: add length argument for search_runlen ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie34a0651e7e7efea4e9ecff1e3a467588113cf47 Gerrit-Change-Number: 14481 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Jun 2019 13:51: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 24 13:51:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:51:06 +0000 Subject: Change in ...osmo-pcu[master]: decompress_crbb: add length argument for search_runlen In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-pcu/+/14481 ) Change subject: decompress_crbb: add length argument for search_runlen ...................................................................... decompress_crbb: add length argument for search_runlen search_runlen() must know the exact size in bits when parsing the bits otherwise it read over the buffer. Fixes testcase #7 which was wrongly decoded. Change-Id: Ie34a0651e7e7efea4e9ecff1e3a467588113cf47 --- M src/egprs_rlc_compression.cpp M tests/bitcomp/BitcompTest.cpp M tests/bitcomp/BitcompTest.err 3 files changed, 14 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/egprs_rlc_compression.cpp b/src/egprs_rlc_compression.cpp index 014e930..8f4fd87 100644 --- a/src/egprs_rlc_compression.cpp +++ b/src/egprs_rlc_compression.cpp @@ -449,6 +449,7 @@ /* Calculate runlength of a codeword * \param root[in] Root of Ones or Zeros tree * \param bmbuf[in] Received compressed bitmap buf + * \param length[in] Length of bitmap buf in bits * \param bit_pos[in] The start bit pos to read codeword * \param len_codewd[in] Length of code word * \param rlen[out] Calculated run length @@ -456,6 +457,7 @@ static int search_runlen( egprs_compress_node *root, const uint8_t *bmbuf, + uint8_t length, uint8_t bit_pos, uint8_t *len_codewd, uint16_t *rlen) @@ -469,6 +471,9 @@ while (iter->run_length == -1) { if ((!iter->left) && (!iter->right)) return -1; + if (bit_pos >= length) + return -1; + /* get the bit value at the bitpos and put it in right most of dir */ dir = (bmbuf[bit_pos/8] >> (7 - (bit_pos & 0x07))) & 0x01; bit_pos++; @@ -498,7 +503,7 @@ const uint8_t *orig_crbb_buf, bitvec *dest) { - + int8_t remaining_bmap_len = compress_bmap_len; uint8_t bit_pos = 0; uint8_t data; egprs_compress_node *list = NULL; @@ -509,7 +514,7 @@ int rc = 0; egprs_compress *compress = instance(); - while (compress_bmap_len > 0) { + while (remaining_bmap_len > 0) { if (start) { data = 0xff; list = compress->ones_list; @@ -517,7 +522,7 @@ data = 0x00; list = compress->zeros_list; } - rc = search_runlen(list, orig_crbb_buf, + rc = search_runlen(list, orig_crbb_buf, compress_bmap_len, bit_pos, &nbits, &run_length); if (rc == -1) return -1; @@ -525,6 +530,7 @@ if (run_length < 64) start = !start; cbmaplen = cbmaplen + run_length; + /* put run length of Ones in uncompressed bitmap */ while (run_length != 0) { if (run_length > 8) { @@ -536,7 +542,7 @@ } } bit_pos = bit_pos + nbits; - compress_bmap_len = compress_bmap_len - nbits; + remaining_bmap_len = remaining_bmap_len - nbits; } return 0; } diff --git a/tests/bitcomp/BitcompTest.cpp b/tests/bitcomp/BitcompTest.cpp index 3fd3b1a..14246fe 100644 --- a/tests/bitcomp/BitcompTest.cpp +++ b/tests/bitcomp/BitcompTest.cpp @@ -91,14 +91,13 @@ .ucmp_len = 90, .expect_rc = 0, }, - /* TODO: previously marked as "Invalid inputs" but succeeds */ + /* Invalid inputs */ { .crbb_len = 18, .cc = 1, .crbb_data = {0x1E, 0x70, 0xc0}, .ucmp_data = {0xb0, 0x00, 0x00}, .ucmp_len = 19, - .expect_rc = 0, + .expect_rc = -1, }, - /* Invalid inputs */ { .crbb_len = 14, .cc = 1, .crbb_data = {0x00, 0x1E, 0x7c}, .ucmp_data = {0x0}, diff --git a/tests/bitcomp/BitcompTest.err b/tests/bitcomp/BitcompTest.err index 0642845..0c9bc66 100644 --- a/tests/bitcomp/BitcompTest.err +++ b/tests/bitcomp/BitcompTest.err @@ -108,13 +108,8 @@ Run_length = 1 Run_length = 1 Run_length = 2 -Run_length = 15 -rc = 0 - -expected data = b0 00 00 -expected len = 19 -decoded data = b0 00 00 -decoded len = 19 +rc = -1 +Failed to decode CRBB: length 18, data 1e 70 c0 Test:8 Tree based decoding: -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/14481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie34a0651e7e7efea4e9ecff1e3a467588113cf47 Gerrit-Change-Number: 14481 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Mon Jun 24 13:51:29 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:51:29 +0000 Subject: Change in ...osmo-gsm-tester[master]: Introduce osmux support for msc, bsc, mgw In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14547 ) Change subject: Introduce osmux support for msc,bsc,mgw ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ief3518e77650f2cddb48357b07fe95346e46ee1b Gerrit-Change-Number: 14547 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 13:51: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 24 13:51:57 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 24 Jun 2019 13:51:57 +0000 Subject: Change in ...docker-playground[master]: ttcn3-{hlr, mgw, pcu}-test: log to file In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14563 ) Change subject: ttcn3-{hlr,mgw,pcu}-test: log to file ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifb4a39e6e2987f4dc04369508fe0dff0913a02ff Gerrit-Change-Number: 14563 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Jun 2019 13:51: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 24 13:52:06 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 24 Jun 2019 13:52:06 +0000 Subject: Change in ...docker-playground[master]: ttcn3-{hlr, mgw, pcu}-test: log to file In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/14563 ) Change subject: ttcn3-{hlr,mgw,pcu}-test: log to file ...................................................................... ttcn3-{hlr,mgw,pcu}-test: log to file Add missing file output which all other tests already have. Related: OS#4067 Change-Id: Ifb4a39e6e2987f4dc04369508fe0dff0913a02ff --- M ttcn3-hlr-test/osmo-hlr.cfg M ttcn3-mgw-test/osmo-mgw.cfg M ttcn3-pcu-test/osmo-pcu.cfg M ttcn3-pcu-test/sns/osmo-pcu.cfg 4 files changed, 41 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Verified diff --git a/ttcn3-hlr-test/osmo-hlr.cfg b/ttcn3-hlr-test/osmo-hlr.cfg index 8ed77d4..47bbd23 100644 --- a/ttcn3-hlr-test/osmo-hlr.cfg +++ b/ttcn3-hlr-test/osmo-hlr.cfg @@ -10,6 +10,16 @@ logging level all debug logging level linp error ! +log file /data/osmo-hlr.log + logging filter all 1 + logging color 0 + logging print level 1 + logging print category 1 + logging print category-hex 0 + logging print file basename last + logging print extended-timestamp 1 + logging level set-all debug +! line vty bind 0.0.0.0 ctrl diff --git a/ttcn3-mgw-test/osmo-mgw.cfg b/ttcn3-mgw-test/osmo-mgw.cfg index 8158860..882c7d0 100644 --- a/ttcn3-mgw-test/osmo-mgw.cfg +++ b/ttcn3-mgw-test/osmo-mgw.cfg @@ -28,6 +28,17 @@ logging level lm3ua notice logging level lmgcp debug ! +log file /data/osmo-mgw.log + logging filter all 1 + logging color 0 + logging print level 1 + logging print category 1 + logging timestamp 1 + logging print file basename last + logging print extended-timestamp 1 + logging level set-all notice + logging level lmgcp debug +! stats interval 5 ! line vty diff --git a/ttcn3-pcu-test/osmo-pcu.cfg b/ttcn3-pcu-test/osmo-pcu.cfg index 918beea..e8a8552 100644 --- a/ttcn3-pcu-test/osmo-pcu.cfg +++ b/ttcn3-pcu-test/osmo-pcu.cfg @@ -1,3 +1,13 @@ +log file /data/osmo-pcu.log + logging filter all 1 + logging color 0 + logging print level 1 + logging print category 1 + logging print category-hex 0 + logging print file basename last + logging print extended-timestamp 1 + logging level set-all debug + line vty no login bind 0.0.0.0 diff --git a/ttcn3-pcu-test/sns/osmo-pcu.cfg b/ttcn3-pcu-test/sns/osmo-pcu.cfg index 34ba20d..f9bce3a 100644 --- a/ttcn3-pcu-test/sns/osmo-pcu.cfg +++ b/ttcn3-pcu-test/sns/osmo-pcu.cfg @@ -1,3 +1,13 @@ +log file /data/osmo-pcu.log + logging filter all 1 + logging color 0 + logging print level 1 + logging print category 1 + logging print category-hex 0 + logging print file basename last + logging print extended-timestamp 1 + logging level set-all debug + line vty no login bind 0.0.0.0 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifb4a39e6e2987f4dc04369508fe0dff0913a02ff Gerrit-Change-Number: 14563 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 13:52:13 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:52:13 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Refactor altstep as_Media_mgw() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14511 ) Change subject: bsc: Refactor altstep as_Media_mgw() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I07344657c5d1465a8e0c278adb76150ca7f449ba Gerrit-Change-Number: 14511 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 13:52: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 24 13:52:57 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:52:57 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/mgcp: Add new port with support to handle multiple MGCP sockets In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14512 ) Change subject: lib/mgcp: Add new port with support to handle multiple MGCP sockets ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic0ba8c5cde068c07671512a83095d83e28b86746 Gerrit-Change-Number: 14512 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 13:52:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 13:53:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:53:00 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Refactor altstep as_Media_mgw() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14511 ) Change subject: bsc: Refactor altstep as_Media_mgw() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I07344657c5d1465a8e0c278adb76150ca7f449ba Gerrit-Change-Number: 14511 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 13:53:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 13:53:24 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:53:24 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test MGCP-over-IPA forwarding in SCCPlite tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14513 ) Change subject: bsc: Test MGCP-over-IPA forwarding in SCCPlite tests ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I31fed700772dd0b063f913b1e1639fd428c46e7d Gerrit-Change-Number: 14513 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 13:53:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 13:53:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:53:25 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Refactor altstep as_Media_mgw() In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14511 ) Change subject: bsc: Refactor altstep as_Media_mgw() ...................................................................... bsc: Refactor altstep as_Media_mgw() Move logic handling CRCX and MDCX to function, so they can be reused for other ports in forthcoming commits. Change-Id: I07344657c5d1465a8e0c278adb76150ca7f449ba --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 66 insertions(+), 52 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 4436b0c..4f9870f 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -270,69 +270,83 @@ } +function f_rx_crcx(MgcpCommand mgcp_cmd) + runs on MSC_ConnHdlr return template MgcpResponse { + var MgcpOsmuxCID osmux_cid; + var SDP_Message sdp; + var integer cid := f_get_free_mgcp_conn(); + if (match(mgcp_cmd.line.ep, t_MGCP_EP_wildcard)) { + if (cid != 0) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "MGCP wildcard EP only works in first CRCX"); + } + /* we keep the endpoint name allocated during MediaState_init */ + } else { + /* Call Agent allocated endpoint, trust/use it always */ + g_media.mgcp_ep := mgcp_cmd.line.ep; + } + if (isvalue(mgcp_cmd.sdp)) { + sdp := mgcp_cmd.sdp; + g_media.mgcp_conn[cid].peer.host := sdp.connection.conn_addr.addr; + g_media.mgcp_conn[cid].peer.port_nr := sdp.media_list[0].media_field.ports.port_number; + } + var MgcpConnState mgcp_conn := g_media.mgcp_conn[cid]; + sdp := valueof(ts_SDP(mgcp_conn.mgw.host, mgcp_conn.mgw.host, "foo", "21", + mgcp_conn.mgw.port_nr, { int2str(mgcp_conn.rtp_pt) }, + {valueof(ts_SDP_rtpmap(mgcp_conn.rtp_pt, + mgcp_conn.mime_type & "/" & + int2str(mgcp_conn.sample_rate))), + valueof(ts_SDP_ptime(mgcp_conn.ptime)) } )); + var template MgcpResponse mgcp_resp; + if (g_pars.use_osmux and f_MgcpCmd_contains_par(mgcp_cmd, "X-OSMUX")) { + osmux_cid := f_MgcpCmd_extract_osmux_cid(mgcp_cmd); + mgcp_resp := ts_CRCX_ACK_osmux(mgcp_cmd.line.trans_id, mgcp_conn.conn_id, osmux_cid, sdp); + } else { + mgcp_resp := ts_CRCX_ACK(mgcp_cmd.line.trans_id, mgcp_conn.conn_id, sdp); + } + f_mgcp_par_append(mgcp_resp.params, ts_MgcpParSpecEP(g_media.mgcp_ep)); + g_media.mgcp_conn[cid].crcx_seen := g_media.mgcp_conn[cid].crcx_seen + 1; + return mgcp_resp; +} + +function f_rx_mdcx(MgcpCommand mgcp_cmd) + runs on MSC_ConnHdlr return template MgcpResponse { + var SDP_Message sdp; + var integer cid := f_get_mgcp_conn(f_MgcpCmd_extract_conn_id(mgcp_cmd)); + if (isvalue(mgcp_cmd.sdp)) { + sdp := mgcp_cmd.sdp; + g_media.mgcp_conn[cid].peer.host := sdp.connection.conn_addr.addr; + g_media.mgcp_conn[cid].peer.port_nr := sdp.media_list[0].media_field.ports.port_number; + } else { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "MDCX has no [recognizable] SDP"); + } + var MgcpConnState mgcp_conn := g_media.mgcp_conn[cid]; + sdp := valueof(ts_SDP(mgcp_conn.peer.host, mgcp_conn.peer.host, "foo", "21", + mgcp_conn.peer.port_nr, { int2str(mgcp_conn.rtp_pt) }, + {valueof(ts_SDP_rtpmap(mgcp_conn.rtp_pt, + mgcp_conn.mime_type & "/" & + int2str(mgcp_conn.sample_rate))), + valueof(ts_SDP_ptime(mgcp_conn.ptime)) } )); + g_media.mgcp_conn[cid].mdcx_seen := g_media.mgcp_conn[cid].mdcx_seen + 1; + return ts_MDCX_ACK(mgcp_cmd.line.trans_id, mgcp_conn.conn_id, sdp); +} + /* altstep for handling of MGCP media related commands. Activated by as_Media() to test * MGW level media handling */ altstep as_Media_mgw(boolean norepeat := false) runs on MSC_ConnHdlr { var MgcpCommand mgcp_cmd; - var MgcpOsmuxCID osmux_cid; + var template MgcpResponse mgcp_resp; [] MGCP.receive(tr_CRCX) -> value mgcp_cmd { - var SDP_Message sdp; - var integer cid := f_get_free_mgcp_conn(); - if (match(mgcp_cmd.line.ep, t_MGCP_EP_wildcard)) { - if (cid != 0) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "MGCP wildcard EP only works in first CRCX"); - } - /* we keep the endpoint name allocated during MediaState_init */ - } else { - /* Call Agent allocated endpoint, trust/use it always */ - g_media.mgcp_ep := mgcp_cmd.line.ep; - } - if (isvalue(mgcp_cmd.sdp)) { - sdp := mgcp_cmd.sdp; - g_media.mgcp_conn[cid].peer.host := sdp.connection.conn_addr.addr; - g_media.mgcp_conn[cid].peer.port_nr := sdp.media_list[0].media_field.ports.port_number; - } - var MgcpConnState mgcp_conn := g_media.mgcp_conn[cid]; - sdp := valueof(ts_SDP(mgcp_conn.mgw.host, mgcp_conn.mgw.host, "foo", "21", - mgcp_conn.mgw.port_nr, { int2str(mgcp_conn.rtp_pt) }, - {valueof(ts_SDP_rtpmap(mgcp_conn.rtp_pt, - mgcp_conn.mime_type & "/" & - int2str(mgcp_conn.sample_rate))), - valueof(ts_SDP_ptime(mgcp_conn.ptime)) } )); - var template MgcpResponse mgcp_resp; - if (g_pars.use_osmux and f_MgcpCmd_contains_par(mgcp_cmd, "X-OSMUX")) { - osmux_cid := f_MgcpCmd_extract_osmux_cid(mgcp_cmd); - mgcp_resp := ts_CRCX_ACK_osmux(mgcp_cmd.line.trans_id, mgcp_conn.conn_id, osmux_cid, sdp); - } else { - mgcp_resp := ts_CRCX_ACK(mgcp_cmd.line.trans_id, mgcp_conn.conn_id, sdp); - } - f_mgcp_par_append(mgcp_resp.params, ts_MgcpParSpecEP(g_media.mgcp_ep)); + mgcp_resp := f_rx_crcx(mgcp_cmd); MGCP.send(mgcp_resp); - g_media.mgcp_conn[cid].crcx_seen := g_media.mgcp_conn[cid].crcx_seen + 1; if(norepeat == false) { repeat; } - } + } + [] MGCP.receive(tr_MDCX) -> value mgcp_cmd { - var SDP_Message sdp; - var integer cid := f_get_mgcp_conn(f_MgcpCmd_extract_conn_id(mgcp_cmd)); - if (isvalue(mgcp_cmd.sdp)) { - sdp := mgcp_cmd.sdp; - g_media.mgcp_conn[cid].peer.host := sdp.connection.conn_addr.addr; - g_media.mgcp_conn[cid].peer.port_nr := sdp.media_list[0].media_field.ports.port_number; - } else { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "MDCX has no [recognizable] SDP"); - } - var MgcpConnState mgcp_conn := g_media.mgcp_conn[cid]; - sdp := valueof(ts_SDP(mgcp_conn.peer.host, mgcp_conn.peer.host, "foo", "21", - mgcp_conn.peer.port_nr, { int2str(mgcp_conn.rtp_pt) }, - {valueof(ts_SDP_rtpmap(mgcp_conn.rtp_pt, - mgcp_conn.mime_type & "/" & - int2str(mgcp_conn.sample_rate))), - valueof(ts_SDP_ptime(mgcp_conn.ptime)) } )); - MGCP.send(ts_MDCX_ACK(mgcp_cmd.line.trans_id, mgcp_conn.conn_id, sdp)); - g_media.mgcp_conn[cid].mdcx_seen := g_media.mgcp_conn[cid].mdcx_seen + 1; + mgcp_resp := f_rx_mdcx(mgcp_cmd); + MGCP.send(mgcp_resp); if(norepeat == false) { repeat; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I07344657c5d1465a8e0c278adb76150ca7f449ba Gerrit-Change-Number: 14511 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 13:53:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:53:26 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: lib/mgcp: Add new port with support to handle multiple MGCP sockets In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14512 ) Change subject: lib/mgcp: Add new port with support to handle multiple MGCP sockets ...................................................................... lib/mgcp: Add new port with support to handle multiple MGCP sockets * Some scenarios like MGW BSC-attached in SCCPlite require handling of 2 MGCP-over-UDP sockets in MGCP Emulation: 1 for regular libosmomgcp-client from osmo-bsc and another one from the forward socket from osmo-bsc (of MGCP-over-IPA messages communicated with MSC). * Old port is kept for backward compatibility with other tests and enabled by default. It's also interesting to keep it because it makes tests without special needs (2 sockets) to use the old port/API which produces simpler code to read and mantain. * Users of the new port have to enable multi_conn_mode parameter and expect to interact with port MGCP_CLIENT_MULTI instead of MGCP_CLIENT, which will offer messages containing information about the UDP connection being used by that message. Change-Id: Ic0ba8c5cde068c07671512a83095d83e28b86746 --- M bsc/BSC_Tests.ttcn M library/MGCP_CodecPort.ttcn M library/MGCP_Emulation.ttcn M msc/MSC_Tests.ttcn 4 files changed, 84 insertions(+), 13 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 976bc46..4c86e51 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -294,7 +294,8 @@ callagent_ip := mp_bsc_ip, callagent_udp_port := -1, mgw_ip := mp_test_ip, - mgw_udp_port := 2427 + mgw_udp_port := 2427, + multi_conn_mode := false }; vc_MGCP := MGCP_Emulation_CT.create(id); diff --git a/library/MGCP_CodecPort.ttcn b/library/MGCP_CodecPort.ttcn index d33afe1..8614eef 100644 --- a/library/MGCP_CodecPort.ttcn +++ b/library/MGCP_CodecPort.ttcn @@ -41,11 +41,33 @@ MgcpMessage msg } + type record MGCP_SendTo { + ConnectionId connId, + HostName remName, + PortNumber remPort, + MgcpMessage msg + }; + template MGCP_Send t_MGCP_Send(template ConnectionId connId, template MgcpMessage msg) := { connId := connId, msg := msg } + template MGCP_SendTo t_MGCP_SendTo(template ConnectionId connId, HostName remName, + PortNumber remPort,template MgcpMessage msg) := { + connId := connId, + remName := remName, + remPort := remPort, + msg := msg + } + + template MGCP_SendTo t_MGCP_SendToMrf(MGCP_RecvFrom mrf,template MgcpMessage msg) := { + connId := mrf.connId, + remName := mrf.remName, + remPort := mrf.remPort, + msg := msg + } + private function IPL4_to_MGCP_RecvFrom(in ASP_RecvFrom pin, out MGCP_RecvFrom pout) { pout.connId := pin.connId; pout.remName := pin.remName; @@ -65,13 +87,23 @@ pout.msg := char2oct(enc_MgcpMessage(pin.msg)); } with { extension "prototype(fast)" }; + private function MGCP_to_IPL4_SendTo(in MGCP_SendTo pin, out ASP_SendTo out_ud) { + out_ud.connId := pin.connId; + out_ud.remName := pin.remName; + out_ud.remPort := pin.remPort; + out_ud.proto := { udp := {} }; + out_ud.msg := char2oct(enc_MgcpMessage(pin.msg)); + } with { extension "prototype(fast)" }; + type port MGCP_CODEC_PT message { - out MGCP_Send; + out MGCP_Send, + MGCP_SendTo; in MGCP_RecvFrom, ASP_ConnId_ReadyToRelease, ASP_Event; } with { extension "user IPL4asp_PT - out(MGCP_Send -> ASP_Send:function(MGCP_to_IPL4_Send)) + out(MGCP_Send -> ASP_Send:function(MGCP_to_IPL4_Send); + MGCP_SendTo -> ASP_SendTo: function(MGCP_to_IPL4_SendTo)) in(ASP_RecvFrom -> MGCP_RecvFrom: function(IPL4_to_MGCP_RecvFrom); ASP_ConnId_ReadyToRelease -> ASP_ConnId_ReadyToRelease: simple; ASP_Event -> ASP_Event: simple)" diff --git a/library/MGCP_Emulation.ttcn b/library/MGCP_Emulation.ttcn index 23cfeb4..494b171 100644 --- a/library/MGCP_Emulation.ttcn +++ b/library/MGCP_Emulation.ttcn @@ -37,8 +37,11 @@ import from IPL4asp_Types all; type component MGCP_ConnHdlr { + /* Simple send/recv without caring about peer addr+port. Used with multi_conn_mode=false. */ port MGCP_Conn_PT MGCP; - /* procedure based port to register for incoming connections */ + /* Handle multiple connections concurrently. Used with multi_conn_mode=true. */ + port MGCP_Conn_Multi_PT MGCP_MULTI; + /* procedure based port to register for incoming connections. */ port MGCPEM_PROC_PT MGCP_PROC; } @@ -47,6 +50,11 @@ inout MgcpCommand, MgcpResponse; } with { extension "internal" }; +/* port between individual per-connection components and this dispatcher */ +type port MGCP_Conn_Multi_PT message { + inout MGCP_RecvFrom, MGCP_SendTo; +} with { extension "internal" }; + /* represents a single MGCP Endpoint */ type record EndpointData { MGCP_ConnHdlr comp_ref, @@ -63,6 +71,8 @@ * MGCP_Emulation_CT.main needs to figure out what messages * to send where with CLIENT.send() to vc_conn */ port MGCP_Conn_PT MGCP_CLIENT; + /* This one is used with multi_conn_mode=true and allows differentiating UDP sockets */ + port MGCP_Conn_Multi_PT MGCP_CLIENT_MULTI; /* currently tracked connections */ var EndpointData MgcpEndpointTable[16]; var MgcpTransIds MgcpPendingTrans := {}; @@ -73,6 +83,8 @@ var charstring g_mgcp_id; var integer g_mgcp_conn_id := -1; + + var MGCP_conn_parameters g_pars; } type function MGCPCreateCallback(MgcpCommand cmd, charstring id) @@ -90,7 +102,8 @@ HostName callagent_ip, PortNumber callagent_udp_port, HostName mgw_ip, - PortNumber mgw_udp_port + PortNumber mgw_udp_port, + boolean multi_conn_mode } function tr_MGCP_RecvFrom_R(template MgcpMessage msg) @@ -224,14 +237,23 @@ } } +private function f_forward_to_client(MGCP_RecvFrom mrf, MGCP_ConnHdlr vc_conn) runs on MGCP_Emulation_CT { + if (g_pars.multi_conn_mode) { + MGCP_CLIENT_MULTI.send(mrf) to vc_conn; + } else { + MGCP_CLIENT.send(mrf.msg.command) to vc_conn; + } +} + function main(MGCPOps ops, MGCP_conn_parameters p, charstring id) runs on MGCP_Emulation_CT { var Result res; + g_pars := p; g_mgcp_id := id; f_ep_table_init(); f_expect_table_init(); map(self:MGCP, system:MGCP_CODEC_PT); - if (p.callagent_udp_port == -1) { + if (p.multi_conn_mode or p.callagent_udp_port == -1) { res := MGCP_CodecPort_CtrlFunct.f_IPL4_listen(MGCP, p.mgw_ip, p.mgw_udp_port, { udp:={} }); } else { res := MGCP_CodecPort_CtrlFunct.f_IPL4_connect(MGCP, p.callagent_ip, p.callagent_udp_port, p.mgw_ip, p.mgw_udp_port, -1, { udp:={} }); @@ -246,6 +268,7 @@ var MGCP_ConnHdlr vc_conn; var ExpectCriteria crit; var MGCP_RecvFrom mrf; + var MGCP_SendTo mst; var MgcpMessage msg; var MgcpCommand cmd; var MgcpResponse resp; @@ -253,7 +276,7 @@ alt { /* MGCP from client */ - [] MGCP_CLIENT.receive(MgcpResponse:?) -> value resp sender vc_conn { + [not p.multi_conn_mode] MGCP_CLIENT.receive(MgcpResponse:?) -> value resp sender vc_conn { msg := { response := resp }; @@ -265,9 +288,23 @@ /* TODO: check which ConnectionID client has allocated + store in table? */ MGCP.send(t_MGCP_Send(g_mgcp_conn_id, msg)); } + + /* MGCP from client in Multi Conn mode */ + [p.multi_conn_mode] MGCP_CLIENT_MULTI.receive(MGCP_SendTo:?) -> value mst sender vc_conn { + /* If this is the resposne to a pending CRCX, extract Endpoint and store in table */ + if (f_trans_id_was_pending(mst.msg.response.line.trans_id)) { + f_ep_table_add(vc_conn, f_mgcp_ep(mst.msg)); + } + /* Pass message through */ + /* TODO: check which ConnectionID client has allocated + store in table? */ + MGCP.send(mst); + } [] MGCP.receive(tr_MGCP_RecvFrom_R(?)) -> value mrf { - if (p.callagent_udp_port == -1) { - /* we aren't yet connected to the remote side port, let's fix this */ + if (not p.multi_conn_mode and p.callagent_udp_port == -1) { + /* we aren't yet connected to the remote side + port, let's fix this. This way upper layers + can use Send/Recv without caring about UDP + src/dst addr + port */ p.callagent_udp_port := mrf.remPort; res := MGCP_CodecPort_CtrlFunct.f_IPL4_connect(MGCP, p.callagent_ip, p.callagent_udp_port, p.mgw_ip, p.mgw_udp_port, g_mgcp_conn_id, { udp:={} }); if (not ispresent(res.connId)) { @@ -279,7 +316,7 @@ cmd := mrf.msg.command; if (f_ep_known(cmd.line.ep)) { vc_conn := f_comp_by_ep(cmd.line.ep); - MGCP_CLIENT.send(cmd) to vc_conn; + f_forward_to_client(mrf, vc_conn); } else { if (cmd.line.verb == "CRCX") { vc_conn := ops.create_cb.apply(cmd, id); @@ -290,12 +327,12 @@ /* add this transaction to list of pending transactions */ MgcpPendingTrans := MgcpPendingTrans & {cmd.line.trans_id}; } - MGCP_CLIENT.send(cmd) to vc_conn; + f_forward_to_client(mrf, vc_conn); } else { /* connectionless MGCP, i.e. messages without ConnectionId */ var template MgcpMessage r := ops.unitdata_cb.apply(mrf.msg); if (isvalue(r)) { - MGCP.send(t_MGCP_Send(g_mgcp_conn_id, r)); + MGCP.send(t_MGCP_SendToMrf(mrf, r)); } } } diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index b00e032..4b00e34 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -230,7 +230,8 @@ callagent_ip := mp_msc_ip, callagent_udp_port := -1, mgw_ip := mp_mgw_ip, - mgw_udp_port := mp_mgw_port + mgw_udp_port := mp_mgw_port, + multi_conn_mode := false } vc_MGCP := MGCP_Emulation_CT.create(id); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic0ba8c5cde068c07671512a83095d83e28b86746 Gerrit-Change-Number: 14512 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 13:53:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:53:26 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Test MGCP-over-IPA forwarding in SCCPlite tests In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14513 ) Change subject: bsc: Test MGCP-over-IPA forwarding in SCCPlite tests ...................................................................... bsc: Test MGCP-over-IPA forwarding in SCCPlite tests * MGCP-over-IPA handling in MSC_ConnectionHandler means we need to use the new MGCP_CLIENT_MULTI port since we'll be managing MGCP messages from 2 different UDP connections, and we need to be able to route answers correctly. As a result, parameter multi_conn_mode is enabled for SCCPlite and all code adapted to use that port in that type of scenario. * iDuring calls when on SCCPlite, send a full (all-required-params-in) CRCX through the MGCP-over-IPA connection towards the BSC in order to emulate the MSC, and expect the correct answer back. This way we test BSC funcionality to forward MGCP messages coming from MSC works as expected. Related: OS#2536 Depends: osmo-bsc.git I38ad8fa645c08900e0e1f1b4b96136bc6d96b3ab Change-Id: I31fed700772dd0b063f913b1e1639fd428c46e7d --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn 2 files changed, 135 insertions(+), 18 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 4c86e51..ec1be13 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -38,6 +38,7 @@ 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; @@ -295,7 +296,9 @@ callagent_udp_port := -1, mgw_ip := mp_test_ip, mgw_udp_port := 2427, - multi_conn_mode := false + /* Enable it for SCCPlite, since we have 2 MGCP sockets towards MGW (UDP one + + the on with MGCP over IPA forwarded from MSC one) */ + multi_conn_mode := (mp_bssap_cfg.transport == BSSAP_TRANSPORT_SCCPlite_SERVER) }; vc_MGCP := MGCP_Emulation_CT.create(id); @@ -1718,6 +1721,7 @@ } connect(vc_conn:BSSAP, g_bssap.vc_RAN:CLIENT); connect(vc_conn:MGCP, vc_MGCP:MGCP_CLIENT); + connect(vc_conn:MGCP_MULTI, vc_MGCP:MGCP_CLIENT_MULTI); } function f_start_handler(void_fn fn, template (omit) TestHdlrParams pars := omit) @@ -2891,18 +2895,32 @@ /* Expecting MGCP to DLCX the endpoint's two connections: towards BTS and towards MSC */ private function f_expect_dlcx_conns(boolean exp_clear_cmpl := true) runs on MSC_ConnHdlr { var MgcpCommand mgcp; + var template MgcpResponse mgcp_resp; + var MGCP_RecvFrom mrf; + var template MgcpMessage msg_resp; + var template MgcpMessage msg_dlcx := { + command := tr_DLCX() + } - MGCP.receive(tr_DLCX()) -> value mgcp { + if (g_pars.aoip) { + MGCP.receive(tr_DLCX()) -> value mgcp { log("Got first DLCX: ", mgcp); MGCP.send(ts_DLCX_ACK2(mgcp.line.trans_id)); - }; + }; - /* For SCCPLite, BSC doesn't handle the MSC-side */ - if (g_pars.aoip) { MGCP.receive(tr_DLCX()) -> value mgcp { log("Got second DLCX: ", mgcp); MGCP.send(ts_DLCX_ACK2(mgcp.line.trans_id)); }; + } else { + /* For SCCPLite, BSC doesn't handle the MSC-side */ + MGCP_MULTI.receive(tr_MGCP_RecvFrom_any(msg_dlcx)) -> value mrf { + log("Got first DLCX: ", mrf.msg.command); + msg_resp := { + response := ts_DLCX_ACK2(mrf.msg.command.line.trans_id) + } + MGCP_MULTI.send(t_MGCP_SendToMrf(mrf, msg_resp)); + }; } if (exp_clear_cmpl) { diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 4f9870f..57706c9 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -15,6 +15,7 @@ import from General_Types all; import from Osmocom_Types all; import from GSM_Types all; +import from IPA_Emulation all; import from SCCPasp_Types all; import from BSSAP_Types all; import from RAN_Emulation all; @@ -23,6 +24,7 @@ import from IPL4asp_Types all; import from Native_Functions all; +import from MGCP_CodecPort all; import from MGCP_Types all; import from MGCP_Templates all; import from MGCP_Emulation all; @@ -330,13 +332,35 @@ return ts_MDCX_ACK(mgcp_cmd.line.trans_id, mgcp_conn.conn_id, sdp); } +function tr_MGCP_RecvFrom_any(template MgcpMessage msg) +runs on MSC_ConnHdlr return template MGCP_RecvFrom { + var template MGCP_RecvFrom mrf := { + connId := ?, + remName := ?, + remPort := ?, + locName := ?, + locPort := ?, + msg := msg + } + return mrf; +} + /* altstep for handling of MGCP media related commands. Activated by as_Media() to test * MGW level media handling */ + altstep as_Media_mgw(boolean norepeat := false) runs on MSC_ConnHdlr { var MgcpCommand mgcp_cmd; var template MgcpResponse mgcp_resp; + var MGCP_RecvFrom mrf; + var template MgcpMessage msg_crcx := { + command := tr_CRCX + } + var template MgcpMessage msg_mdcx := { + command := tr_MDCX + } + var template MgcpMessage msg_resp; - [] MGCP.receive(tr_CRCX) -> value mgcp_cmd { + [g_pars.aoip] MGCP.receive(tr_CRCX) -> value mgcp_cmd { mgcp_resp := f_rx_crcx(mgcp_cmd); MGCP.send(mgcp_resp); if(norepeat == false) { @@ -344,13 +368,35 @@ } } - [] MGCP.receive(tr_MDCX) -> value mgcp_cmd { + [not g_pars.aoip] MGCP_MULTI.receive(tr_MGCP_RecvFrom_any(msg_crcx)) -> value mrf { + mgcp_resp := f_rx_crcx(mrf.msg.command); + msg_resp := { + response := mgcp_resp + } + MGCP_MULTI.send(t_MGCP_SendToMrf(mrf, msg_resp)); + if(norepeat == false) { + repeat; + } + } + + [g_pars.aoip] MGCP.receive(tr_MDCX) -> value mgcp_cmd { mgcp_resp := f_rx_mdcx(mgcp_cmd); MGCP.send(mgcp_resp); if(norepeat == false) { repeat; } } + + [not g_pars.aoip] MGCP_MULTI.receive(tr_MGCP_RecvFrom_any(msg_mdcx)) -> value mrf { + mgcp_resp := f_rx_mdcx(mrf.msg.command); + msg_resp := { + response := mgcp_resp + } + MGCP_MULTI.send(t_MGCP_SendToMrf(mrf, msg_resp)); + if(norepeat == false) { + repeat; + } + } } /* Altsteps for handling of media related commands. Can be activated by a given @@ -371,11 +417,17 @@ port RAN_PROC_PT RAN; port TELNETasp_PT BSCVTY; + /* Proxy MGCP-over-IPA and MGCP-over-UDP */ + port IPA_MGCP_PT MGCP_MSC_CLIENT; + var integer g_trans_id := 0; + var MediaState g_media; var TestHdlrParams g_pars; var charstring host_bts := "127.0.0.2"; var charstring host_mgw := "127.0.0.3"; + var charstring host_msc := "127.0.0.4"; + var boolean g_vty_initialized := false; } @@ -390,6 +442,12 @@ } } +private function get_next_trans_id() runs on MSC_ConnHdlr return MgcpTransId { + var MgcpTransId tid := int2str(g_trans_id); + g_trans_id := g_trans_id + 1; + return tid; +} + /* Callback function from general RAN_Emulation whenever a connectionless * BSSMAP message arrives. Can retunr a PDU_BSSAP that should be sent in return */ private function UnitdataCallback(PDU_BSSAP bssap) @@ -862,6 +920,31 @@ } } +/* Send a MGCP request through MGCP-over-IPA from MSC side and receive a (matching!) response */ +function mgcp_transceive_mgw(template MgcpCommand cmd, template MgcpResponse resp := ?) runs on MSC_ConnHdlr { + template MgcpResponse resp_any := ? + var MgcpResponse resp_val; + resp.line.trans_id := cmd.line.trans_id; + timer T := 5.0; + + BSSAP.send(cmd); + T.start; + alt { + [] as_Media_mgw(); + [] BSSAP.receive(resp) -> value resp_val { } + [] BSSAP.receive(resp_any) { + setverdict(fail, "Response didn't match template"); + mtc.stop; + } + [] BSSAP.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for response to ", cmd); + mtc.stop; + } + } + T.stop; +} + /* Helper function to check if the activity on the MGCP matches what we * expected */ function f_check_mgcp_expectations() runs on MSC_ConnHdlr { @@ -975,17 +1058,10 @@ g_media.mgcp_conn[1].mdcx_seen_exp := 0; } else if (st.voice_call) { /* For voice calls we expect the following MGCP activity */ - if (g_pars.aoip == false) { - g_media.mgcp_conn[0].crcx_seen_exp := 1; - g_media.mgcp_conn[0].mdcx_seen_exp := 1; - g_media.mgcp_conn[1].crcx_seen_exp := 0; - g_media.mgcp_conn[1].mdcx_seen_exp := 0; - } else { - g_media.mgcp_conn[0].crcx_seen_exp := 1; - g_media.mgcp_conn[0].mdcx_seen_exp := 1; - g_media.mgcp_conn[1].crcx_seen_exp := 1; - g_media.mgcp_conn[1].mdcx_seen_exp := 0; - } + g_media.mgcp_conn[0].crcx_seen_exp := 1; + g_media.mgcp_conn[0].mdcx_seen_exp := 1; + g_media.mgcp_conn[1].crcx_seen_exp := 1; + g_media.mgcp_conn[1].mdcx_seen_exp := 0; } f_create_mgcp_expect(mgcpcrit); @@ -1044,6 +1120,29 @@ } } + if (not exp_fail and st.voice_call and not g_pars.aoip) { + /* With SCCPLite, connect to BSC-located MGW using a CRCX + SDP. + It is sent in MGCP over IPA in the BSC<->MSC (BSC-NAT) + connection. BSC will forward it to its MGW. */ + var template MgcpCommand cmd; + var template MgcpResponse resp; + var integer cic := f_bssmap_ie_cic_2_int(ass_cmd.pdu.bssmap.assignmentRequest.circuitIdentityCode); + var MgcpEndpoint ep := int2str(cic) & "@mgw"; /* 1: matches value configured in BSC_Tests.ttcn pass in AssignReq */ + var MgcpCallId call_id := '51234'H; + var SDP_attribute_list attributes := { valueof(ts_SDP_ptime(20)) }; + if (g_pars.use_osmux) { + cmd := ts_CRCX_osmux(get_next_trans_id(), ep, "sendrecv", call_id, cic); + resp := tr_CRCX_ACK_osmux; + } else { + cmd := ts_CRCX(get_next_trans_id(), ep, "sendrecv", call_id); + resp := tr_CRCX_ACK; + } + cmd.sdp := ts_SDP(host_msc, host_mgw, "23", "42", + 14000, { int2str(g_media.mgcp_conn[1].rtp_pt) }, + { valueof(ts_SDP_ptime(20)) }); + mgcp_transceive_mgw(cmd, resp); + } + f_check_mgcp_expectations(); if (st.is_assignment and st.assignment_done) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I31fed700772dd0b063f913b1e1639fd428c46e7d Gerrit-Change-Number: 14513 Gerrit-PatchSet: 4 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 24 13:53:56 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:53:56 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: tests: use random reference data In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14572 ) Change subject: trx_toolkit/data_msg.py: tests: use random reference data ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id3c5be9faaf0bef727b975c7182098af0cec6e71 Gerrit-Change-Number: 14572 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 13: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 Mon Jun 24 13:54:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:54:04 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: drop double field initialization In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14573 ) Change subject: trx_toolkit/data_msg.py: drop double field initialization ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ibf71be552a7eb5dab1d096421a8557514294683e Gerrit-Change-Number: 14573 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 13: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 Mon Jun 24 13:54:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:54:20 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: inline both gen_fn() and parse_fn() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14574 ) Change subject: trx_toolkit/data_msg.py: inline both gen_fn() and parse_fn() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie64b271cf502f3df23b32f4b14a1e2b551a0f794 Gerrit-Change-Number: 14574 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 13: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 Mon Jun 24 13:54:36 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 13:54:36 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: add basic class documentation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14575 ) Change subject: trx_toolkit/data_msg.py: add basic class documentation ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I538bc96e5e24d3b7e344e4dbe2877bf60c13c720 Gerrit-Change-Number: 14575 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 13: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 Mon Jun 24 14:06:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 14:06:23 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: implement header version coding In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14576 ) Change subject: trx_toolkit/data_msg.py: implement header version coding ...................................................................... Patch Set 2: Code-Review+1 I'm not sure why known_versions already incldues '1' if this patch only prepares for new versions (and current being 0), but apart from that fine. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Idb0377d66290eb9c15d6998a5806a84fa2e5dd02 Gerrit-Change-Number: 14576 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 14: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 Mon Jun 24 14:07:54 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Jun 2019 14:07:54 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: tests: use random reference data In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14572 ) Change subject: trx_toolkit/data_msg.py: tests: use random reference data ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id3c5be9faaf0bef727b975c7182098af0cec6e71 Gerrit-Change-Number: 14572 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 14:07: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 24 14:10:40 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 14:10:40 +0000 Subject: Change in ...gr-gsm[master]: Filter out SoapyAudio devices In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/gr-gsm/+/13812 ) Change subject: Filter out SoapyAudio devices ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/13812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ib84081041ca6c2bc18b9da0c32bac9d3ecef65ca Gerrit-Change-Number: 13812 Gerrit-PatchSet: 3 Gerrit-Owner: Vasil Velichkov Gerrit-Reviewer: Piotr Krysik Gerrit-Reviewer: Vasil Velichkov Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 24 Jun 2019 14:10:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 14:10:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 14:10:41 +0000 Subject: Change in ...gr-gsm[master]: Filter out SoapyAudio devices In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/gr-gsm/+/13812 ) Change subject: Filter out SoapyAudio devices ...................................................................... Filter out SoapyAudio devices When gr-osmosdr is compiled with SoapySDR support and SoapyAudio is installed the audio device is picked as a first choice when detecting devices but grgsm tools are not able to work with audio devices. So in such cases the user has to always specify the correct SDR device in the args parameter which is a bit inconvenient. When args is not specified call osmosdr.device_find to get all devices and filter out unspported ones like SoapyAudio devices. When args is specifed just try to create osmosdr.source with whatever value has been specified. Add -l and --list-devices command line option that prints information about all detected devices. Example commands: grgsm_capture --list-devices grgsm_capture --list-devices --args=nofake grgsm_capture --args=uhd,type=b210 -a 111 capture.cfile grgsm_livemon --args=rtl grgsm_livemon --args=uhd,type=b210 Change-Id: Ib84081041ca6c2bc18b9da0c32bac9d3ecef65ca --- M apps/grgsm_livemon.grc M apps/grgsm_livemon_headless.grc M apps/grgsm_scanner M apps/helpers/grgsm_capture M python/__init__.py M python/misc_utils/CMakeLists.txt A python/misc_utils/device.py 7 files changed, 89 insertions(+), 8 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve; Verified osmith: Looks good to me, approved diff --git a/apps/grgsm_livemon.grc b/apps/grgsm_livemon.grc index 46b83e2..176aa6c 100644 --- a/apps/grgsm_livemon.grc +++ b/apps/grgsm_livemon.grc @@ -2844,7 +2844,7 @@ args - args + str(grgsm.device.get_default_args(args)) _enabled diff --git a/apps/grgsm_livemon_headless.grc b/apps/grgsm_livemon_headless.grc index a1ce284..2f3e981 100644 --- a/apps/grgsm_livemon_headless.grc +++ b/apps/grgsm_livemon_headless.grc @@ -2414,7 +2414,7 @@ args - args + str(grgsm.device.get_default_args(args)) _enabled diff --git a/apps/grgsm_scanner b/apps/grgsm_scanner index 32210ed..ce33a60 100755 --- a/apps/grgsm_scanner +++ b/apps/grgsm_scanner @@ -36,7 +36,7 @@ import osmosdr import pmt import time - +import sys # from wideband_receiver import * @@ -208,7 +208,8 @@ # if no file name is given process data from rtl_sdr source print "Args=", args - self.rtlsdr_source = osmosdr.source(args="numchan=" + str(1) + " " + args) + self.rtlsdr_source = osmosdr.source(args="numchan=" + str(1) + " " + + str(grgsm.device.get_default_args(args))) #self.rtlsdr_source.set_min_output_buffer(int(sample_rate*rec_len)) #this line causes segfaults on HackRF self.rtlsdr_source.set_sample_rate(sample_rate) @@ -387,7 +388,10 @@ parser.add_option("-g", "--gain", dest="gain", type="eng_float", default=24.0, help="Set gain [default=%default]") parser.add_option("", "--args", dest="args", type="string", default="", - help="Set device arguments [default=%default]") + help="Set device arguments [default=%default]." + " Use --list-devices the view the available devices") + parser.add_option("-l", "--list-devices", action="store_true", + help="List available SDR devices, use --args to specify hints") parser.add_option("--speed", dest="speed", type="intx", default=4, help="Scan speed [default=%default]. Value range 0-5.") parser.add_option("-v", "--verbose", action="store_true", @@ -404,6 +408,10 @@ if options is None: (options, args) = argument_parser().parse_args() + if options.list_devices: + grgsm.device.print_devices(options.args) + sys.exit(0) + if options.band not in grgsm.arfcn.get_bands(): parser.error("Invalid GSM band\n") diff --git a/apps/helpers/grgsm_capture b/apps/helpers/grgsm_capture index 081544a..f3886ba 100755 --- a/apps/helpers/grgsm_capture +++ b/apps/helpers/grgsm_capture @@ -53,8 +53,8 @@ # Setting up RF source ################################################## - self.sdr_source = \ - osmosdr.source(args="numchan=" + str(1) + " " + device_args) + self.sdr_source = osmosdr.source(args="numchan=" + str(1) + " " + + str(grgsm.device.get_default_args(device_args))) self.sdr_source.set_sample_rate(samp_rate) self.sdr_source.set_center_freq(freq, 0) @@ -141,12 +141,19 @@ osmogroup.add_option("", "--args", dest="device_args", type="string", default="", help="Set device arguments " - "[default=%default]") + "[default=%default]. Use --list-devices the view the available devices") + + osmogroup.add_option("-l", "--list-devices", action="store_true", + help="List available SDR devices, use --args to specify hints") parser.add_option_group(osmogroup) (options, args) = parser.parse_args() + if options.list_devices: + grgsm.device.print_devices(options.device_args) + sys.exit(0) + if not args: parser.error("Please provide an output file name to save the captured data\n") diff --git a/python/__init__.py b/python/__init__.py index 00d14ac..e2905e8 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -59,6 +59,7 @@ from fn_time import * from txtime_bursts_tagger import * import arfcn +import device # diff --git a/python/misc_utils/CMakeLists.txt b/python/misc_utils/CMakeLists.txt index ec732a4..76304ca 100644 --- a/python/misc_utils/CMakeLists.txt +++ b/python/misc_utils/CMakeLists.txt @@ -23,5 +23,6 @@ clock_offset_corrector_tagged.py hier_block.py fn_time.py + device.py DESTINATION ${GR_PYTHON_DIR}/grgsm ) diff --git a/python/misc_utils/device.py b/python/misc_utils/device.py new file mode 100644 index 0000000..de967ab --- /dev/null +++ b/python/misc_utils/device.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# @file +# @author (C) 2019 by Vasil Velichkov +# @section LICENSE +# +# Gr-gsm is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# Gr-gsm 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 gr-gsm; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. +# +# + +import osmosdr +import os + +def get_devices(hint=""): + return osmosdr.device_find(osmosdr.device_t(hint)) + +def match(dev, filters): + for f in filters: + for k, v in f.items(): + if (k not in dev or dev[k] != v): + break + else: + return True + return False + +def exclude(devices, filters = ({'driver': 'audio'},)): + return [dev for dev in devices if not match(dev, filters)] + +def get_all_args(hint="nofake"): + return map(lambda dev: dev.to_string(), exclude(get_devices(hint))) + +def get_default_args(args): + # The presence of GRC_BLOCKS_PATH environment variable indicates that + # gnuradio-companion compiles a flowgraph and in this case no exception + # have to be thrown otherwise the generaged python script will be invalid. + # This allows compilation of flowgraphs without an SDR device. + if args or os.getenv("GRC_BLOCKS_PATH"): + return args + + devices = get_all_args("nofake") + if not devices: + raise RuntimeError("Unable to find any supported SDR devices") + + return devices[0] + +def print_devices(hint=""): + devices = exclude(get_devices(hint)) + if devices: + print("\n".join(map(lambda dev: dev.to_string(), devices))) + else: + print("Unable to find any supported SDR devices") -- To view, visit https://gerrit.osmocom.org/c/gr-gsm/+/13812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gr-gsm Gerrit-Branch: master Gerrit-Change-Id: Ib84081041ca6c2bc18b9da0c32bac9d3ecef65ca Gerrit-Change-Number: 13812 Gerrit-PatchSet: 3 Gerrit-Owner: Vasil Velichkov Gerrit-Reviewer: Piotr Krysik Gerrit-Reviewer: Vasil Velichkov 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 24 14:11:14 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 14:11:14 +0000 Subject: Change in ...osmo-gsm-tester[master]: tests: voice: Add voice call test with Osmux enabled In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14548 ) Change subject: tests: voice: Add voice call test with Osmux enabled ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie4f360a77f6fcbc74f140a7fcb5feef2d94ac734 Gerrit-Change-Number: 14548 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 14:11:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 14:11:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 14:11:23 +0000 Subject: Change in ...osmo-gsm-tester[master]: tests: voice: Add voice call test with Osmux enabled In-Reply-To: References: Message-ID: laforge has removed a vote on this change. Change subject: tests: voice: Add voice call test with Osmux enabled ...................................................................... Removed Code-Review+2 by laforge -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie4f360a77f6fcbc74f140a7fcb5feef2d94ac734 Gerrit-Change-Number: 14548 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 14:11:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 14:11:26 +0000 Subject: Change in ...osmo-gsm-tester[master]: tests: voice: Add voice call test with Osmux enabled In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14548 ) Change subject: tests: voice: Add voice call test with Osmux enabled ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie4f360a77f6fcbc74f140a7fcb5feef2d94ac734 Gerrit-Change-Number: 14548 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 14: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 Mon Jun 24 14:11:58 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 14:11:58 +0000 Subject: Change in ...docker-playground[master]: osmo-mgw: Bind to 0.0.0.0 by default In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14531 ) Change subject: osmo-mgw: Bind to 0.0.0.0 by default ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic5828957a29d4f317e1ebf4f03b5f5359f6250e8 Gerrit-Change-Number: 14531 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 24 Jun 2019 14:11: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 24 14:12:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 14:12:01 +0000 Subject: Change in ...docker-playground[master]: osmo-mgw: Bind to 0.0.0.0 by default In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/14531 ) Change subject: osmo-mgw: Bind to 0.0.0.0 by default ...................................................................... osmo-mgw: Bind to 0.0.0.0 by default Don't bind to a specific IP otherwise starting osmo-mgw will fail (if we don't configure that exact IP address) Related: OS#1700 Change-Id: Ic5828957a29d4f317e1ebf4f03b5f5359f6250e8 --- M osmo-mgw-master/osmo-mgw.cfg 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved daniel: Verified diff --git a/osmo-mgw-master/osmo-mgw.cfg b/osmo-mgw-master/osmo-mgw.cfg index 682c4ed..8f07294 100644 --- a/osmo-mgw-master/osmo-mgw.cfg +++ b/osmo-mgw-master/osmo-mgw.cfg @@ -34,10 +34,10 @@ bind 0.0.0.0 ! mgcp - bind ip 172.18.0.180 + bind ip 0.0.0.0 bind port 2427 rtp port-range 4002 16000 - rtp bind-ip 172.18.0.180 + rtp bind-ip 0.0.0.0 rtp ip-probing rtp ip-dscp 184 no rtp keep-alive -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic5828957a29d4f317e1ebf4f03b5f5359f6250e8 Gerrit-Change-Number: 14531 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: daniel 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 24 14:12:01 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 14:12:01 +0000 Subject: Change in ...docker-playground[master]: osmo-sgsn-master: Bind to localhost instead of a specific IP by default In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/14537 ) Change subject: osmo-sgsn-master: Bind to localhost instead of a specific IP by default ...................................................................... osmo-sgsn-master: Bind to localhost instead of a specific IP by default This does not break ttcn3-sgsn-test since it uses a custom config file with the correct IPs. Change-Id: I2a922139c50d06217e5e6105ea65bf673daa10a8 Related: OS#1700 --- M osmo-sgsn-master/osmo-sgsn.cfg 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved daniel: Verified diff --git a/osmo-sgsn-master/osmo-sgsn.cfg b/osmo-sgsn-master/osmo-sgsn.cfg index 6db56b7..b39a83e 100644 --- a/osmo-sgsn-master/osmo-sgsn.cfg +++ b/osmo-sgsn-master/osmo-sgsn.cfg @@ -7,8 +7,8 @@ bind 0.0.0.0 ! sgsn - gtp local-ip 172.18.0.21 - ggsn 0 remote-ip 172.18.0.201 + gtp local-ip 127.0.0.1 + ggsn 0 remote-ip 127.0.0.2 ggsn 0 gtp-version 1 ns timer tns-block 3 @@ -18,7 +18,7 @@ timer tns-test 30 timer tns-alive 3 timer tns-alive-retries 10 - encapsulation udp local-ip 172.18.0.21 + encapsulation udp local-ip 127.0.0.1 encapsulation udp local-port 23000 encapsulation framerelay-gre enabled 0 bssgp -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2a922139c50d06217e5e6105ea65bf673daa10a8 Gerrit-Change-Number: 14537 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 14:12:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 24 Jun 2019 14:12:02 +0000 Subject: Change in ...docker-playground[master]: Have only one bts/bsc configured in osmo-bsc and bscnat In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/14546 ) Change subject: Have only one bts/bsc configured in osmo-bsc and bscnat ...................................................................... Have only one bts/bsc configured in osmo-bsc and bscnat The way our counter reporting works is that each counter group is reported even if the same one exists multiple times. To avoid that change the default config (used by regen_doc.sh) to only configure one bts / bsc. Change-Id: I57468d983580b5ed4f15961ac1eac9bed9096556 Related: OS#1700 --- M osmo-bsc-master/osmo-bsc.cfg M osmo-nitb-master/bscs.config 2 files changed, 0 insertions(+), 194 deletions(-) Approvals: laforge: Looks good to me, approved; Verified pespin: Looks good to me, but someone else must approve diff --git a/osmo-bsc-master/osmo-bsc.cfg b/osmo-bsc-master/osmo-bsc.cfg index 7ce9173..71516dd 100644 --- a/osmo-bsc-master/osmo-bsc.cfg +++ b/osmo-bsc-master/osmo-bsc.cfg @@ -157,186 +157,6 @@ timeslot 7 phys_chan_config PDCH hopping enabled 0 - bts 1 - type sysmobts - band DCS1800 - cell_identity 1 - location_area_code 2 - dtx uplink force - dtx downlink - base_station_id_code 63 - 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 - gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 - 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 - 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 - 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/F - 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 1 - dtx uplink force - dtx downlink - base_station_id_code 63 - 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 - gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 - 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 - 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 - 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/F - hopping enabled 0 - timeslot 6 - phys_chan_config PDCH - hopping enabled 0 - timeslot 7 - phys_chan_config PDCH - hopping enabled 0 msc 0 ip.access rtp-base 4000 no bsc-welcome-text diff --git a/osmo-nitb-master/bscs.config b/osmo-nitb-master/bscs.config index 16cfa2b..b6770e8 100644 --- a/osmo-nitb-master/bscs.config +++ b/osmo-nitb-master/bscs.config @@ -6,17 +6,3 @@ max-endpoints 32 paging forbidden 0 osmux on - bsc 1 - token BSC1 - location_area_code 2 - description bsc - max-endpoints 32 - paging forbidden 0 - osmux on - bsc 2 - token BSC2 - location_area_code 3 - description bsc - max-endpoints 32 - paging forbidden 0 - osmux on -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I57468d983580b5ed4f15961ac1eac9bed9096556 Gerrit-Change-Number: 14546 Gerrit-PatchSet: 2 Gerrit-Owner: daniel 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 24 14:16:17 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Jun 2019 14:16:17 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: legacy flag is only for version 0x00 Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14584 Change subject: trx_toolkit/data_msg.py: legacy flag is only for version 0x00 ...................................................................... trx_toolkit/data_msg.py: legacy flag is only for version 0x00 Since version 0x01, the burst bits are encoded as L16V, so appending two dummy octets doesn't make sense. Change-Id: I4d6c0bf54649d636ea6cb3fa2f37486b6619d5b3 --- M src/target/trx_toolkit/data_msg.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/84/14584/1 diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index 7e6ee2e..66fe3c1 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -258,7 +258,7 @@ # This is a rudiment from (legacy) OpenBTS transceiver, # some L1 implementations still expect two dummy bytes. - if legacy: + if legacy and self.ver == 0x00: buf += bytearray(2) return buf -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I4d6c0bf54649d636ea6cb3fa2f37486b6619d5b3 Gerrit-Change-Number: 14584 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 24 14:16:18 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Jun 2019 14:16:18 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/fake_trx.py: add basic TRXD version 0x01 support Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14585 Change subject: trx_toolkit/fake_trx.py: add basic TRXD version 0x01 support ...................................................................... trx_toolkit/fake_trx.py: add basic TRXD version 0x01 support Change-Id: I164f5ae4ce7694d6e324aab927a04e96d489ebd8 --- M src/target/trx_toolkit/ctrl_if_trx.py M src/target/trx_toolkit/data_if.py M src/target/trx_toolkit/fake_trx.py 3 files changed, 71 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/85/14585/1 diff --git a/src/target/trx_toolkit/ctrl_if_trx.py b/src/target/trx_toolkit/ctrl_if_trx.py index 26a844f..f343215 100644 --- a/src/target/trx_toolkit/ctrl_if_trx.py +++ b/src/target/trx_toolkit/ctrl_if_trx.py @@ -4,7 +4,7 @@ # TRX Toolkit # CTRL interface implementation (common commands) # -# (C) 2016-2018 by Vadim Yanitskiy +# (C) 2016-2019 by Vadim Yanitskiy # # All Rights Reserved # @@ -147,6 +147,18 @@ return (0, [str(meas_dbm)]) + # Protocol version negotiation + if self.verify_cmd(request, "SETVER", 1): + log.debug("(%s) Recv SETVER cmd" % self.trx) + + ver = int(request[1]) + if not self.trx.data_if.set_hdr_ver(ver): + log.error("Protocol version 0x%02x is not supported" % ver) + return -1 + + log.info("Using protocol version 0x%02x on DATA interface" % ver) + return 0 + # Wrong / unknown command else: # We don't care about other commands, diff --git a/src/target/trx_toolkit/data_if.py b/src/target/trx_toolkit/data_if.py index 027fd85..5dcb5d1 100644 --- a/src/target/trx_toolkit/data_if.py +++ b/src/target/trx_toolkit/data_if.py @@ -4,7 +4,7 @@ # TRX Toolkit # DATA interface implementation # -# (C) 2017-2018 by Vadim Yanitskiy +# (C) 2017-2019 by Vadim Yanitskiy # # All Rights Reserved # @@ -29,9 +29,29 @@ class DATAInterface(UDPLink): def __init__(self, *udp_link_args): + # Default header version (legacy) + self._hdr_ver = 0x00 + UDPLink.__init__(self, *udp_link_args) log.debug("Init TRXD interface (%s)" % self.desc_link()) + def set_hdr_ver(self, ver): + if not ver in DATAMSG.known_versions: + return False + + self._hdr_ver = ver + return True + + def match_hdr_ver(self, msg): + if msg.ver == self._hdr_ver: + return True + + log.error("Rx unexpected version %u message " + "from R:%s:%u, we need version %u" + % (msg.ver, self.remote_addr, + self.remote_port, self._hdr_ver)) + return None + def recv_raw_data(self): data, _ = self.sock.recvfrom(512) return data @@ -64,6 +84,13 @@ "from R:%s:%u" % (self.remote_addr, self.remote_port)) return None + if msg.ver != self._hdr_ver: + log.error("Rx unexpected version %u message " + "from R:%s:%u, we need version %u" + % (msg.ver, self.remote_addr, + self.remote_port, self._hdr_ver)) + return None + return msg def send_msg(self, msg, legacy = False): diff --git a/src/target/trx_toolkit/fake_trx.py b/src/target/trx_toolkit/fake_trx.py index 928333f..12bcb80 100755 --- a/src/target/trx_toolkit/fake_trx.py +++ b/src/target/trx_toolkit/fake_trx.py @@ -35,6 +35,7 @@ from app_common import ApplicationBase from burst_fwd import BurstForwarder from transceiver import Transceiver +from data_msg import Modulation from clck_gen import CLCKGen from trx_list import TRXList from fake_pm import FakePM @@ -98,6 +99,7 @@ TOA256_BASE_DEFAULT = 0 RSSI_BASE_DEFAULT = -60 + CI_BASE_DEFAULT = 0 # FIXME! def __init__(self, *trx_args, **trx_kwargs): Transceiver.__init__(self, *trx_args, **trx_kwargs) @@ -105,11 +107,14 @@ # Actual ToA / RSSI / TA values self.toa256_base = self.TOA256_BASE_DEFAULT self.rssi_base = self.RSSI_BASE_DEFAULT + self.ci_base = self.CI_BASE_DEFAULT + self.tsc = 0 # FIXME! self.ta = 0 # ToA / RSSI randomization threshold self.toa256_rand_threshold = 0 self.rssi_rand_threshold = 0 + self.ci_rand_threshold = 0 # Path loss simulation (burst dropping) self.burst_drop_amount = 0 @@ -137,6 +142,17 @@ rssi_max = self.rssi_base + self.rssi_rand_threshold return random.randint(rssi_min, rssi_max) + @property + def ci(self): + # Check if randomization is required + if self.ci_rand_threshold is 0: + return self.ci_base + + # Generate a random RSSI value in required range + ci_min = self.ci_base - self.ci_rand_threshold + ci_max = self.ci_base + self.ci_rand_threshold + return random.randint(ci_min, ci_max) + # Path loss simulation: burst dropping # Returns: True - drop, False - keep def sim_burst_drop(self, msg): @@ -156,10 +172,24 @@ # simulates RF path parameters (such as RSSI), # and sends towards the L1 def send_data_msg(self, src_trx, msg): + # Override header version + msg.ver = self.data_if._hdr_ver + # Complete message header msg.toa256 = self.toa256 msg.rssi = self.rssi + # Version specific fields + if msg.ver >= 0x01: + # Hard-coded values + msg.mod_type = Modulation.ModGMSK + msg.nope_ind = False + msg.tsc_set = 0 + + # Configurable values + msg.tsc = self.tsc + msg.ci = self.ci + # Apply optional Timing Advance if src_trx.ta is not 0: msg.toa256 -= src_trx.ta * 256 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I164f5ae4ce7694d6e324aab927a04e96d489ebd8 Gerrit-Change-Number: 14585 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 24 14:16:18 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Jun 2019 14:16:18 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/fake_trx.py: introduce a TRXC command for C/I simulation Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14586 Change subject: trx_toolkit/fake_trx.py: introduce a TRXC command for C/I simulation ...................................................................... trx_toolkit/fake_trx.py: introduce a TRXC command for C/I simulation Change-Id: I7080effbbc1022d1884c6d6f0cb580eba8e514ff --- M src/target/trx_toolkit/fake_trx.py 1 file changed, 28 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/86/14586/1 diff --git a/src/target/trx_toolkit/fake_trx.py b/src/target/trx_toolkit/fake_trx.py index 12bcb80..641dd07 100755 --- a/src/target/trx_toolkit/fake_trx.py +++ b/src/target/trx_toolkit/fake_trx.py @@ -63,8 +63,15 @@ from (rssi_base - rssi_rand_threshold) to (rssi_base + rssi_rand_threshold). - Please note that randomization of both RSSI and ToA is optional, - and can be enabled from the control interface. + - C/I (Carrier-to-Interference ratio) - value in dB, computed from + the training sequence of each received burst, by comparing the + "ideal" training sequence with the actual one. A pair of both + base and threshold values defines a range of C/I randomization: + + from (ci_base - ci_rand_threshold) + to (ci_base + ci_rand_threshold). + + Please note that the randomization is optional and disabled by default. == Timing Advance handling @@ -250,6 +257,25 @@ self.rssi_base += int(request[1]) return 0 + # C/I simulation + # Absolute form: CMD FAKE_CI + elif self.ctrl_if.verify_cmd(request, "FAKE_CI", 2): + log.debug("(%s) Recv FAKE_CI cmd" % self) + + # Parse and apply both base and threshold + self.ci_base = int(request[1]) + self.ci_rand_threshold = int(request[2]) + return 0 + + # C/I simulation + # Relative form: CMD FAKE_CI <+-BASE_DELTA> + elif self.ctrl_if.verify_cmd(request, "FAKE_CI", 1): + log.debug("(%s) Recv FAKE_CI cmd" % self) + + # Parse and apply delta + self.ci_base += int(request[1]) + return 0 + # Path loss simulation: burst dropping # Syntax: CMD FAKE_DROP # Dropping pattern: fn % 1 == 0 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I7080effbbc1022d1884c6d6f0cb580eba8e514ff Gerrit-Change-Number: 14586 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 24 14:18:04 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Jun 2019 14:18:04 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: add basic class documentation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14575 ) Change subject: trx_toolkit/data_msg.py: add basic class documentation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I538bc96e5e24d3b7e344e4dbe2877bf60c13c720 Gerrit-Change-Number: 14575 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 24 Jun 2019 14:18: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 24 14:18:09 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Jun 2019 14:18:09 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: tests: use random reference data In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14572 ) Change subject: trx_toolkit/data_msg.py: tests: use random reference data ...................................................................... trx_toolkit/data_msg.py: tests: use random reference data Having fn = 1024 and tn = 0 in all tests decreases the chances to spot encoding / decoding bugs of higher or lower values. Let's randomize the reference data before all the tests. Change-Id: Id3c5be9faaf0bef727b975c7182098af0cec6e71 --- M src/target/trx_toolkit/data_msg.py 1 file changed, 14 insertions(+), 27 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index da109d9..5cfb745 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -432,10 +432,6 @@ log.basicConfig(level = log.DEBUG, format = "[%(levelname)s] %(filename)s:%(lineno)d %(message)s") - # Common reference data - fn = 1024 - tn = 0 - # Generate two random bursts burst_l12trx_ref = [] burst_trx2l1_ref = [] @@ -450,17 +446,18 @@ log.info("Generating the reference messages") # Create messages of both types - msg_l12trx_ref = DATAMSG_L12TRX(fn = fn, tn = tn) - msg_trx2l1_ref = DATAMSG_TRX2L1(fn = fn, tn = tn) + msg_l12trx_ref = DATAMSG_L12TRX(burst = burst_l12trx_ref) + msg_trx2l1_ref = DATAMSG_TRX2L1(burst = burst_trx2l1_ref) - # Fill in message specific fields - msg_trx2l1_ref.rssi = -88 - msg_l12trx_ref.pwr = 0x33 - msg_trx2l1_ref.toa256 = -256 + # Validate header randomization + for i in range(0, 100): + msg_l12trx_ref.rand_hdr() + msg_trx2l1_ref.rand_hdr() - # Specify the reference bursts - msg_l12trx_ref.burst = burst_l12trx_ref - msg_trx2l1_ref.burst = burst_trx2l1_ref + assert(msg_l12trx_ref.validate()) + assert(msg_trx2l1_ref.validate()) + + log.info("Validate header randomization: OK") log.info("Encoding the reference messages") @@ -493,10 +490,10 @@ log.info("Compare bursts: OK") # Compare both parsed messages with the reference data - assert(msg_l12trx_dec.fn == fn) - assert(msg_trx2l1_dec.fn == fn) - assert(msg_l12trx_dec.tn == tn) - assert(msg_trx2l1_dec.tn == tn) + assert(msg_l12trx_dec.fn == msg_l12trx_ref.fn) + assert(msg_trx2l1_dec.fn == msg_trx2l1_ref.fn) + assert(msg_l12trx_dec.tn == msg_l12trx_ref.tn) + assert(msg_trx2l1_dec.tn == msg_trx2l1_ref.tn) log.info("Compare FN / TN: OK") @@ -507,16 +504,6 @@ log.info("Compare message specific data: OK") - # Validate header randomization - for i in range(0, 100): - msg_l12trx_ref.rand_hdr() - msg_trx2l1_ref.rand_hdr() - - assert(msg_l12trx_ref.validate()) - assert(msg_trx2l1_ref.validate()) - - log.info("Validate header randomization: OK") - # Bit conversation test usbits_ref = list(range(0, 256)) sbits_ref = list(range(-127, 128)) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id3c5be9faaf0bef727b975c7182098af0cec6e71 Gerrit-Change-Number: 14572 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 Mon Jun 24 14:18:10 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Jun 2019 14:18:10 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: drop double field initialization In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14573 ) Change subject: trx_toolkit/data_msg.py: drop double field initialization ...................................................................... trx_toolkit/data_msg.py: drop double field initialization Those fields are being initialized by __init__(). Change-Id: Ibf71be552a7eb5dab1d096421a8557514294683e --- M src/target/trx_toolkit/data_msg.py 1 file changed, 0 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index 5cfb745..f14c295 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -28,11 +28,6 @@ from gsm_shared import * class DATAMSG: - # Common message fields - burst = None - fn = None - tn = None - # Common constructor def __init__(self, fn = None, tn = None, burst = None): self.burst = burst -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ibf71be552a7eb5dab1d096421a8557514294683e Gerrit-Change-Number: 14573 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 Mon Jun 24 14:18:11 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Jun 2019 14:18:11 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: inline both gen_fn() and parse_fn() In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14574 ) Change subject: trx_toolkit/data_msg.py: inline both gen_fn() and parse_fn() ...................................................................... trx_toolkit/data_msg.py: inline both gen_fn() and parse_fn() Both functions are never used outside of both gen_msg() and parse_msg(). AFAIR, they were more complicated until we started to use struct, but now they can be easily inlined. Change-Id: Ie64b271cf502f3df23b32f4b14a1e2b551a0f794 --- M src/target/trx_toolkit/data_msg.py 1 file changed, 3 insertions(+), 14 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index f14c295..6d6b76c 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -136,16 +136,6 @@ return True - # Generates frame number to bytes - def gen_fn(self, fn): - # Big endian, 4 bytes - return struct.pack(">L", fn) - - # Parses frame number from bytes - def parse_fn(self, buf): - # Big endian, 4 bytes - return struct.unpack(">L", buf)[0] - # Generates a TRX DATA message def gen_msg(self, legacy = False): # Validate all the fields @@ -158,9 +148,8 @@ # Put timeslot index buf.append(self.tn) - # Put frame number - fn = self.gen_fn(self.fn) - buf += fn + # Put frame number (4 octets, BE) + buf += struct.pack(">L", self.fn) # Generate message specific header part hdr = self.gen_hdr() @@ -186,7 +175,7 @@ raise ValueError("Message is to short") # Parse both fn and tn - self.fn = self.parse_fn(msg[1:5]) + self.fn = struct.unpack(">L", msg[1:5])[0] self.tn = msg[0] # Specific message part -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie64b271cf502f3df23b32f4b14a1e2b551a0f794 Gerrit-Change-Number: 14574 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 Mon Jun 24 14:18:11 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 24 Jun 2019 14:18:11 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: add basic class documentation In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14575 ) Change subject: trx_toolkit/data_msg.py: add basic class documentation ...................................................................... trx_toolkit/data_msg.py: add basic class documentation Change-Id: I538bc96e5e24d3b7e344e4dbe2877bf60c13c720 Related# OS#4006 --- M src/target/trx_toolkit/data_msg.py 1 file changed, 79 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index 6d6b76c..9ad19f6 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -28,6 +28,38 @@ from gsm_shared import * class DATAMSG: + """ TRXD (DATA) message codec (common part). + + The DATA messages are used to carry bursts in both directions + between L1 and TRX. There exist two kinds of them: + + - L12TRX (L1 -> TRX) - to be transmitted bursts, + - TRX2L1 (TRX -> L1) - received bursts. + + Both of them have quite similar structure, and start with + the common fixed-size message header (no TLVs): + + +---------------+-----------------+------------+ + | common header | specific header | burst bits | + +---------------+-----------------+------------+ + + while the message specific headers and bit types are different. + + The common header is represented by this class, which is the + parent of both DATAMSG_L12TRX and DATAMSG_TRX2L2 (see below), + and has the following fields: + + +--------------+-------------------+ + | TN (1 octet) | FN (4 octets, BE) | + +--------------+-------------------+ + + where: + + - TN is TDMA time-slot number (1 octet), and + - FN is TDMA frame number (4 octets, big endian). + + """ + # Common constructor def __init__(self, fn = None, tn = None, burst = None): self.burst = burst @@ -186,6 +218,25 @@ self.parse_burst(msg_burst) class DATAMSG_L12TRX(DATAMSG): + """ L12TRX (L1 -> TRX) message codec. + + This message represents a Downlink burst on the BTS side, + or an Uplink burst on the MS side, and has the following + message specific fixed-size header preceding the burst bits: + + +-----+--------------------+ + | PWR | hard-bits (1 or 0) | + +-----+--------------------+ + + where PWR (1 octet) is relative (to the full-scale amplitude) + transmit power level in dB. The absolute value is set on + the control interface. + + Each hard-bit (1 or 0) of the burst is represented using one + byte (0x01 or 0x00 respectively). + + """ + # Constants HDR_LEN = 6 PWR_MIN = 0x00 @@ -276,6 +327,34 @@ return msg class DATAMSG_TRX2L1(DATAMSG): + """ TRX2L1 (TRX -> L1) message codec. + + This message represents an Uplink burst on the BTS side, + or a Downlink burst on the MS side, and has the following + message specific fixed-size header preceding the burst bits: + + +------+-----+--------------------+ + | RSSI | ToA | soft-bits (254..0) | + +------+-----+--------------------+ + + where: + + - RSSI (1 octet) - Received Signal Strength Indication + encoded without the negative sign. + - ToA (2 octets) - Timing of Arrival in units of 1/256 + of symbol (big endian). + + Unlike to be transmitted bursts, the received bursts are designated + using the soft-bits notation, so the receiver can indicate its + assurance from 0 to -127 that a given bit is 1, and from 0 to +127 + that a given bit is 0. The Viterbi algorithm allows to approximate + the original sequence of hard-bits (1 or 0) using these values. + + Each soft-bit (-127..127) of the burst is encoded as an unsigned + value in range (254..0) respectively using the constant shift. + + """ + # Constants HDR_LEN = 8 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I538bc96e5e24d3b7e344e4dbe2877bf60c13c720 Gerrit-Change-Number: 14575 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 Mon Jun 24 15:39:02 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 24 Jun 2019 15:39:02 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_trap2cgi.py: Don't recurse in ctrl_client() In-Reply-To: References: Message-ID: Hello Max, pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 to look at the new patch set (#2). Change subject: osmo_trap2cgi.py: Don't recurse in ctrl_client() ...................................................................... osmo_trap2cgi.py: Don't recurse in ctrl_client() Use a loop instead. Without it the script will eventually crash with a RecursionError. File "/usr/bin/osmo_trap2cgi.py", line 211, in conn_client await ctrl_client(proxy, reader, writer) File "/usr/bin/osmo_trap2cgi.py", line 202, in ctrl_client proxy.dispatch(wr, data) [...] File "/usr/bin/osmo_trap2cgi.py", line 202, in ctrl_client proxy.dispatch(wr, data) File "/usr/bin/osmo_trap2cgi.py", line 201, in ctrl_client [...] RecursionError: maximum recursion depth exceeded in comparison Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Related: SYS#4399 --- M scripts/osmo_trap2cgi.py 1 file changed, 17 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/python/osmo-python-tests refs/changes/45/14545/2 -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Gerrit-Change-Number: 14545 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 15:47:06 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 24 Jun 2019 15:47:06 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_trap2cgi.py: Don't recurse in ctrl_client() In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 ) Change subject: osmo_trap2cgi.py: Don't recurse in ctrl_client() ...................................................................... Patch Set 2: I ran this script with timeout 0 against a closed port and before this patch the script would crash with a recursion error. With this it ran for a long time trying to reconnect. It also reconnected normally after closing an open connection. -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Gerrit-Change-Number: 14545 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Max Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Jun 2019 15:47:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jun 24 16:10:13 2019 From: gerrit-no-reply at lists.osmocom.org (msuraev) Date: Mon, 24 Jun 2019 16:10:13 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_trap2cgi.py: Don't recurse in ctrl_client() In-Reply-To: References: Message-ID: msuraev has posted comments on this change. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 ) Change subject: osmo_trap2cgi.py: Don't recurse in ctrl_client() ...................................................................... Patch Set 2: (1 comment) Looks good overall but I can't test it of course. The only thing I'd recommend is to bump the version so it'd be obvious whether you're using recursion or loop code. https://gerrit.osmocom.org/#/c/14545/1/scripts/osmo_trap2cgi.py File scripts/osmo_trap2cgi.py: https://gerrit.osmocom.org/#/c/14545/1/scripts/osmo_trap2cgi.py at 215 PS1, Line 215: await conn_client(proxy) > Yes, see also my generic comment. So I'll try to get the recursion out of this script. [?] Nothing special, the recursion variant seems easier to review/understand. -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Gerrit-Change-Number: 14545 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: msuraev Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 24 Jun 2019 16:10:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Jun 25 02:48:04 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Jun 2019 02:48:04 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d118b69ae889_6eea925f4311638@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 841s] -Returned: 0, Current node: 1 '%s> ' [ 841s] -Going to execute 'ambiguous_str' [ 841s] -Called: 'ambiguous_str [ARG]' (argc=0) [ 841s] -Returned: 0, Current node: 1 '%s> ' [ 841s] -Going to execute 'ambiguous_str arg' [ 841s] -Called: 'ambiguous_str [ARG]' (argc=1) [ 841s] -Returned: 0, Current node: 1 '%s> ' [ 841s] -Going to execute 'ambiguous_str arg keyword' [ 841s] -Called: 'ambiguous_str ARG keyword' [ 841s] -Returned: 0, Current node: 1 '%s> ' [ 841s] -All tests passed [ 841s] ./testsuite.at:196: exit code was 139, expected 0 [ 841s] 31. testsuite.at:192: 31. vty (testsuite.at:192): FAILED (testsuite.at:196) [ 841s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 841s] make[1]: *** [override_dh_auto_test] Error 1 [ 841s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 841s] debian/rules:15: recipe for target 'build' failed [ 841s] make: *** [build] Error 2 [ 841s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 841s] [ 841s] obs-arm-6 failed "build libosmocore_1.1.0.72.28a1.dsc" at Tue Jun 25 02:47:56 UTC 2019. [ 841s] [ 841s] ### VM INTERACTION START ### [ 843s] [ 814.834347] sysrq: SysRq : Power Off [ 843s] [ 814.856664] reboot: Power down [ 844s] ### VM INTERACTION END ### [ 844s] [ 844s] obs-arm-6 failed "build libosmocore_1.1.0.72.28a1.dsc" at Tue Jun 25 02:48:01 UTC 2019. [ 844s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 25 03:00:04 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Jun 2019 03:00:04 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d118e3a3ce34_6eea925f4314490@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 158s] #define VERSION "0.1.0" [ 158s] #define STDC_HEADERS 1 [ 158s] [ 124.742441] serial8250: too much work for irq4 [ 158s] #define HAVE_SYS_TYPES_H 1 [ 158s] #define HAVE_SYS_STAT_H 1 [ 158s] #define HAVE_STDLIB_H 1 [ 158s] #define HAVE_STRING_H 1 [ 158s] #define HAVE_MEMORY_H 1 [ 158s] #define HAVE_STRINGS_H 1 [ 158s] #define HAVE_INTTYPES_H 1 [ 158s] #define HAVE_STDINT_H 1 [ 158s] #define HAVE_UNISTD_H 1 [ 158s] #define HAVE_DLFCN_H 1 [ 158s] #define LT_OBJDIR ".libs/" [ 158s] [ 158s] configure: exit 1 [ 158s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 158s] make: *** [debian/rules:45: build] Error 2 [ 158s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 158s] [ 158s] cloud120 failed "build osmo-sysmon_0.1.0.dsc" at Tue Jun 25 02:59:43 UTC 2019. [ 158s] [ 158s] ### VM INTERACTION START ### [ 162s] [ 127.901751] sysrq: SysRq : Power Off [ 162s] [ 127.906837] reboot: Power down [ 162s] ### VM INTERACTION END ### [ 162s] [ 162s] cloud120 failed "build osmo-sysmon_0.1.0.dsc" at Tue Jun 25 02:59:48 UTC 2019. [ 162s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 25 03:01:30 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Jun 2019 03:01:30 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d118e951814b_6eea925f431485f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Unstable/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 165s] | configure: exit 0 [ 165s] [ 165s] # -*- compilation -*- [ 165s] 4. testsuite.at:23: testing db ... [ 165s] ./testsuite.at:28: $abs_top_builddir/tests/db/db_test [ 165s] --- expout 2019-06-25 03:01:12.816000000 +0000 [ 165s] +++ /usr/src/packages/BUILD/openbsc/tests/testsuite.dir/at-groups/4/stdout 2019-06-25 03:01:12.964000000 +0000 [ 165s] @@ -1,4 +1,6 @@ [ 165s] Testing subscriber database code. [ 165s] DB: Database initialized. [ 165s] +no tables in statement ! [ 165s] +no tables in statement ! [ 165s] DB: Database prepared. [ 165s] Done [ 165s] 4. testsuite.at:23: 4. db (testsuite.at:23): FAILED (testsuite.at:28) [ 165s] make[1]: *** [debian/rules:30: override_dh_auto_test] Error 1 [ 165s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 165s] make: *** [debian/rules:13: build] Error 2 [ 165s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 165s] [ 165s] lamb20 failed "build openbsc_1.2.0.dsc" at Tue Jun 25 03:01:14 UTC 2019. [ 165s] [ 165s] ### VM INTERACTION START ### [ 168s] [ 154.467574] sysrq: SysRq : Power Off [ 168s] [ 154.477326] reboot: Power down [ 168s] ### VM INTERACTION END ### [ 168s] [ 168s] lamb20 failed "build openbsc_1.2.0.dsc" at Tue Jun 25 03:01:18 UTC 2019. [ 168s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 25 09:17:30 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Jun 2019 09:17:30 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d11e6b86dda_6eea925f438047b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 656s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 656s] ./src/common/bts.c:423: undefined reference to `lapdm_channel_init2' [ 656s] collect2: error: ld returned 1 exit status [ 656s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 656s] make[4]: *** [osmo-bts-virtual] Error 1 [ 656s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 656s] Makefile:385: recipe for target 'all-recursive' failed [ 656s] make[3]: *** [all-recursive] Error 1 [ 656s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 656s] Makefile:434: recipe for target 'all-recursive' failed [ 656s] make[2]: *** [all-recursive] Error 1 [ 656s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 656s] Makefile:366: recipe for target 'all' failed [ 656s] make[1]: *** [all] Error 2 [ 656s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 656s] dh_auto_build: make -j1 returned exit code 2 [ 656s] debian/rules:12: recipe for target 'build' failed [ 656s] make: *** [build] Error 2 [ 656s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 656s] [ 656s] obs-arm-5 failed "build osmo-bts_0.8.1.328.5b92.dsc" at Tue Jun 25 09:17:15 UTC 2019. [ 656s] [ 656s] ### VM INTERACTION START ### [ 659s] [ 619.606981] sysrq: SysRq : Power Off [ 659s] [ 619.648020] reboot: Power down [ 660s] ### VM INTERACTION END ### [ 660s] [ 660s] obs-arm-5 failed "build osmo-bts_0.8.1.328.5b92.dsc" at Tue Jun 25 09:17:19 UTC 2019. [ 660s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Jun 25 09:19:58 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Jun 2019 09:19:58 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_trap2cgi.py: Don't recurse in ctrl_client() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 ) Change subject: osmo_trap2cgi.py: Don't recurse in ctrl_client() ...................................................................... Patch Set 2: Agree with Max, let's increase the version. -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Gerrit-Change-Number: 14545 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: msuraev Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Jun 2019 09:19:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 25 10:31:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Jun 2019 10:31:05 +0000 Subject: Change in ...osmo-trx[master]: trx_{vty, rate_ctr}: Set proper license AGPLv3+ Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/14588 Change subject: trx_{vty,rate_ctr}: Set proper license AGPLv3+ ...................................................................... trx_{vty,rate_ctr}: Set proper license AGPLv3+ Take the chance to improve text with author, SPDX tag and fix incorrect copyright dates. Change-Id: Ic745312ed07db205b1cdc0f2fa130000319354c5 --- M CommonLibs/trx_rate_ctr.cpp M CommonLibs/trx_vty.c 2 files changed, 19 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/88/14588/1 diff --git a/CommonLibs/trx_rate_ctr.cpp b/CommonLibs/trx_rate_ctr.cpp index d98caff..43e4189 100644 --- a/CommonLibs/trx_rate_ctr.cpp +++ b/CommonLibs/trx_rate_ctr.cpp @@ -2,21 +2,23 @@ * Copyright (C) 2019 sysmocom - s.f.m.c. GmbH * All Rights Reserved * + * SPDX-License-Identifier: AGPL-3.0+ + * * Author: Pau Espin Pedrol * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . - * + * See the COPYING file in the main directory for details. */ /* diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c index 795ec7b..e184f49 100644 --- a/CommonLibs/trx_vty.c +++ b/CommonLibs/trx_vty.c @@ -1,20 +1,24 @@ /* - * Copyright (C) 2012-2017 sysmocom - s.f.m.c. GmbH + * Copyright (C) 2018-2019 sysmocom - s.f.m.c. GmbH * All Rights Reserved * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * SPDX-License-Identifier: AGPL-3.0+ + * + * Author: Pau Espin Pedrol + * + * 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . - * + * See the COPYING file in the main directory for details. */ #include -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ic745312ed07db205b1cdc0f2fa130000319354c5 Gerrit-Change-Number: 14588 Gerrit-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 25 10:31:05 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Jun 2019 10:31:05 +0000 Subject: Change in ...osmo-trx[master]: Remove AUTHORS file Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/14587 Change subject: Remove AUTHORS file ...................................................................... Remove AUTHORS file License of this file doesn't match the license stated in COPYING and in most source code files (GPLv3 vs AGPLv3). Furthermore, we don't really maintain this file, so let's drop it to avoid non-up-to-date content which may introduce confusion. Related: OS#3515 Change-Id: I536a145cb7696af8e9dbd3065ee5e5f493217ac6 --- D AUTHORS 1 file changed, 0 insertions(+), 127 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/87/14587/1 diff --git a/AUTHORS b/AUTHORS deleted file mode 100644 index 53a3c7d..0000000 --- a/AUTHORS +++ /dev/null @@ -1,127 +0,0 @@ -# -# Copyright 2008, 2009 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio 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. -# - -David A. Burgess, dburgess at kestrelsp.com: - CLI/CLI.cpp - CLI/CLI.h - CommonLibs/Assert.h - CommonLibs/BitVector.cpp - CommonLibs/Interthread.h - CommonLibs/LinkedLists.cpp - CommonLibs/LinkedLists.h - CommonLibs/Regexp.h - CommonLibs/Sockets.cpp - CommonLibs/Sockets.h - CommonLibs/Threads.cpp - CommonLibs/Threads.h - CommonLibs/Timeval.cpp - CommonLibs/Timeval.h - CommonLibs/Vector.h - GSM/GSM610Tables.cpp - GSM/GSM610Tables.h - GSM/GSMCommon.cpp - GSM/GSMCommon.h - GSM/GSMConfig.h - GSM/GSML1FEC.cpp - GSM/GSML1FEC.h - GSM/GSML2LAPDm.cpp - GSM/GSML2LAPDm.h - GSM/GSML3CCElements.cpp - GSM/GSML3CCElements.h - GSM/GSML3CCMessages.cpp - GSM/GSML3CCMessages.h - GSM/GSML3CommonElements.cpp - GSM/GSML3CommonElements.h - GSM/GSML3MMElements.cpp - GSM/GSML3MMElements.h - GSM/GSML3MMMessages.cpp - GSM/GSML3MMMessages.h - GSM/GSML3Message.cpp - GSM/GSML3Message.h - GSM/GSML3RRElements.cpp - GSM/GSML3RRElements.h - GSM/GSML3RRMessages.cpp - GSM/GSML3RRMessages.h - GSM/GSMLogicalChannel.h - GSM/GSMTDMA.cpp - GSM/GSMTDMA.h - GSM/GSMTransfer.cpp - GSM/GSMTransfer.h - LICENSEBLOCK - TRXManager/TRXManager.cpp - Transceiver/Complex.h - tests/CommonLibs/BitVectorTest.cpp - tests/CommonLibs/InterthreadTest.cpp - tests/CommonLibs/SocketsTest.cpp - tests/CommonLibs/TimevalTest.cpp - tests/CommonLibs/VectorTest.cpp - -Harvind S. Samra, hssamra at kestrelsp.com: - GSM/GSMConfig.h - GSM/GSMTransfer.h - LICENSEBLOCK - Transceiver/ComplexTest.cpp - Transceiver/Transceiver.cpp - Transceiver/Transceiver.h - Transceiver/USRPDevice.cpp - Transceiver/USRPDevice.h - Transceiver/USRPping.cpp - Transceiver/radioInterface.cpp - Transceiver/radioInterface.h - Transceiver/rcvLPF_651.h - Transceiver/runTransceiver.cpp - Transceiver/sendLPF_961.h - Transceiver/sigProcLib.cpp - Transceiver/sigProcLib.h - Transceiver/sigProcLibTest.cpp - Transceiver/sweepGenerator.cpp - Transceiver/testRadio.cpp - -Raffi Sevlian, raffisev at gmail.com: - GSM/GSMCommon.h - GSM/GSMConfig.h - GSM/GSML1FEC.h - GSM/GSML3CCElements.cpp - GSM/GSML3CCElements.h - GSM/GSML3CCMessages.cpp - GSM/GSML3CCMessages.h - GSM/GSML3CommonElements.cpp - GSM/GSML3CommonElements.h - GSM/GSML3MMElements.cpp - GSM/GSML3MMElements.h - GSM/GSML3MMMessages.cpp - GSM/GSML3MMMessages.h - GSM/GSML3Message.cpp - GSM/GSML3Message.h - GSM/GSML3RRElements.cpp - GSM/GSML3RRElements.h - GSM/GSML3RRMessages.cpp - GSM/GSML3RRMessages.h - GSM/GSMLogicalChannel.h - GSM/GSMSAPMux.cpp - GSM/GSMSAPMux.h - GSM/GSMTransfer.h - LICENSEBLOCK - TRXManager/TRXManager.h - -Alon Levy, alonlevy1 at gmail.com - RRLPMessages.cpp - RRLPMessages.h - RRLPTest.cpp -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I536a145cb7696af8e9dbd3065ee5e5f493217ac6 Gerrit-Change-Number: 14587 Gerrit-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 25 10:32:51 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Jun 2019 10:32:51 +0000 Subject: Change in ...osmo-trx[master]: trx_{vty, rate_ctr}: Set proper license AGPLv3+ In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/14588 to look at the new patch set (#2). Change subject: trx_{vty,rate_ctr}: Set proper license AGPLv3+ ...................................................................... trx_{vty,rate_ctr}: Set proper license AGPLv3+ Take the chance to improve text with author, SPDX tag and fix incorrect copyright dates. Related: OS#3515 Change-Id: Ic745312ed07db205b1cdc0f2fa130000319354c5 --- M CommonLibs/trx_rate_ctr.cpp M CommonLibs/trx_vty.c 2 files changed, 19 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/88/14588/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ic745312ed07db205b1cdc0f2fa130000319354c5 Gerrit-Change-Number: 14588 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 25 10:40:32 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Jun 2019 10:40:32 +0000 Subject: Change in ...osmo-trx[master]: Remove AUTHORS file In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/14587 to look at the new patch set (#2). Change subject: Remove AUTHORS file ...................................................................... Remove AUTHORS file License of this file doesn't match the license stated in COPYING and in most source code files (GPLv3 vs AGPLv3). Furthermore, we don't really maintain this file, so let's drop it to avoid non-up-to-date content which may introduce confusion. Related: OS#3515 Change-Id: I536a145cb7696af8e9dbd3065ee5e5f493217ac6 --- D AUTHORS M configure.ac 2 files changed, 1 insertion(+), 128 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/87/14587/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I536a145cb7696af8e9dbd3065ee5e5f493217ac6 Gerrit-Change-Number: 14587 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Jun 25 11:49:46 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Jun 2019 11:49:46 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d120a747270_6eea925f440758c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-msc failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 681s] tmsi |= GSM23003_TMSI_SGSN_MASK; [ 681s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 681s] vlr.c:339:12: note: each undeclared identifier is reported only once for each function it appears in [ 681s] Makefile:442: recipe for target 'vlr.o' failed [ 681s] make[4]: *** [vlr.o] Error 1 [ 681s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/libvlr' [ 681s] Makefile:422: recipe for target 'all-recursive' failed [ 681s] make[3]: *** [all-recursive] Error 1 [ 681s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 681s] Makefile:462: recipe for target 'all-recursive' failed [ 681s] make[2]: *** [all-recursive] Error 1 [ 681s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 681s] Makefile:394: recipe for target 'all' failed [ 681s] make[1]: *** [all] Error 2 [ 681s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 681s] dh_auto_build: make -j1 returned exit code 2 [ 681s] debian/rules:45: recipe for target 'build' failed [ 681s] make: *** [build] Error 2 [ 681s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 681s] [ 681s] obs-arm-5 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Tue Jun 25 11:49:27 UTC 2019. [ 681s] [ 681s] ### VM INTERACTION START ### [ 685s] [ 651.422637] sysrq: SysRq : Power Off [ 685s] [ 651.507336] reboot: Power down [ 685s] ### VM INTERACTION END ### [ 685s] [ 685s] obs-arm-5 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Tue Jun 25 11:49:31 UTC 2019. [ 685s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Jun 25 12:01:47 2019 From: admin at opensuse.org (OBS Notification) Date: Tue, 25 Jun 2019 12:01:47 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d120d44cb855_6eea925f4410939@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-sgsn failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 651s] bss_ptmsi = bss_ptmsi | GSM23003_TMSI_SGSN_MASK; [ 651s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 651s] gb_proxy.c:246:28: note: each undeclared identifier is reported only once for each function it appears in [ 651s] Makefile:615: recipe for target 'gb_proxy.o' failed [ 651s] make[4]: *** [gb_proxy.o] Error 1 [ 651s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/gprs' [ 651s] Makefile:391: recipe for target 'all-recursive' failed [ 651s] make[3]: *** [all-recursive] Error 1 [ 651s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 651s] Makefile:453: recipe for target 'all-recursive' failed [ 651s] make[2]: *** [all-recursive] Error 1 [ 651s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 651s] Makefile:385: recipe for target 'all' failed [ 651s] make[1]: *** [all] Error 2 [ 651s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 651s] dh_auto_build: make -j1 returned exit code 2 [ 651s] debian/rules:45: recipe for target 'build' failed [ 651s] make: *** [build] Error 2 [ 651s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 651s] [ 651s] armbuild22 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Tue Jun 25 12:01:41 UTC 2019. [ 651s] [ 651s] ### VM INTERACTION START ### [ 654s] [ 631.961764] sysrq: SysRq : Power Off [ 654s] [ 632.006627] reboot: Power down [ 655s] ### VM INTERACTION END ### [ 655s] [ 655s] armbuild22 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Tue Jun 25 12:01:45 UTC 2019. [ 655s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Jun 25 12:15:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Jun 2019 12:15:39 +0000 Subject: Change in ...osmo-bts[master]: bts: Set T200 DCCH values for CCCH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14568 ) Change subject: bts: Set T200 DCCH values for CCCH ...................................................................... Patch Set 1: So after looking a bit at the related code: bts.c calls libosmocore's lapdm_channel_init2(), which in turn calls get_n200_dcch() which will return -1 for CCH and then in turn lapdm_channel_init2() will return -EINVAL. So I think we should in bts.c only print the log line if t200_by_lchan() returns != -1, and avoid calling lapdm_channel_init2() in that case too. I initially tried avoiding a call to lchan_init_lapdm() in osmo-bts if lchan was CCCH, but it doesn't seem to like that since then lapdm_rll_tx_cb is never called and it seems RACH requests are never handled? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3d7e1883811acf97aac97325739f2ff97fc2aa08 Gerrit-Change-Number: 14568 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Jun 2019 12:15:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 25 12:28:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Jun 2019 12:28:06 +0000 Subject: Change in ...osmo-trx[master]: trx_{vty, rate_ctr}: Set proper license AGPLv3+ In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14588 ) Change subject: trx_{vty,rate_ctr}: Set proper license AGPLv3+ ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ic745312ed07db205b1cdc0f2fa130000319354c5 Gerrit-Change-Number: 14588 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 Jun 2019 12:28:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 25 12:28:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Jun 2019 12:28:15 +0000 Subject: Change in ...osmo-trx[master]: Remove AUTHORS file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14587 ) Change subject: Remove AUTHORS file ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I536a145cb7696af8e9dbd3065ee5e5f493217ac6 Gerrit-Change-Number: 14587 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 25 Jun 2019 12:28:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 25 12:28:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Jun 2019 12:28:20 +0000 Subject: Change in ...osmo-trx[master]: Remove AUTHORS file In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/14587 ) Change subject: Remove AUTHORS file ...................................................................... Remove AUTHORS file License of this file doesn't match the license stated in COPYING and in most source code files (GPLv3 vs AGPLv3). Furthermore, we don't really maintain this file, so let's drop it to avoid non-up-to-date content which may introduce confusion. Related: OS#3515 Change-Id: I536a145cb7696af8e9dbd3065ee5e5f493217ac6 --- D AUTHORS M configure.ac 2 files changed, 1 insertion(+), 128 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/AUTHORS b/AUTHORS deleted file mode 100644 index 53a3c7d..0000000 --- a/AUTHORS +++ /dev/null @@ -1,127 +0,0 @@ -# -# Copyright 2008, 2009 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio 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. -# - -David A. Burgess, dburgess at kestrelsp.com: - CLI/CLI.cpp - CLI/CLI.h - CommonLibs/Assert.h - CommonLibs/BitVector.cpp - CommonLibs/Interthread.h - CommonLibs/LinkedLists.cpp - CommonLibs/LinkedLists.h - CommonLibs/Regexp.h - CommonLibs/Sockets.cpp - CommonLibs/Sockets.h - CommonLibs/Threads.cpp - CommonLibs/Threads.h - CommonLibs/Timeval.cpp - CommonLibs/Timeval.h - CommonLibs/Vector.h - GSM/GSM610Tables.cpp - GSM/GSM610Tables.h - GSM/GSMCommon.cpp - GSM/GSMCommon.h - GSM/GSMConfig.h - GSM/GSML1FEC.cpp - GSM/GSML1FEC.h - GSM/GSML2LAPDm.cpp - GSM/GSML2LAPDm.h - GSM/GSML3CCElements.cpp - GSM/GSML3CCElements.h - GSM/GSML3CCMessages.cpp - GSM/GSML3CCMessages.h - GSM/GSML3CommonElements.cpp - GSM/GSML3CommonElements.h - GSM/GSML3MMElements.cpp - GSM/GSML3MMElements.h - GSM/GSML3MMMessages.cpp - GSM/GSML3MMMessages.h - GSM/GSML3Message.cpp - GSM/GSML3Message.h - GSM/GSML3RRElements.cpp - GSM/GSML3RRElements.h - GSM/GSML3RRMessages.cpp - GSM/GSML3RRMessages.h - GSM/GSMLogicalChannel.h - GSM/GSMTDMA.cpp - GSM/GSMTDMA.h - GSM/GSMTransfer.cpp - GSM/GSMTransfer.h - LICENSEBLOCK - TRXManager/TRXManager.cpp - Transceiver/Complex.h - tests/CommonLibs/BitVectorTest.cpp - tests/CommonLibs/InterthreadTest.cpp - tests/CommonLibs/SocketsTest.cpp - tests/CommonLibs/TimevalTest.cpp - tests/CommonLibs/VectorTest.cpp - -Harvind S. Samra, hssamra at kestrelsp.com: - GSM/GSMConfig.h - GSM/GSMTransfer.h - LICENSEBLOCK - Transceiver/ComplexTest.cpp - Transceiver/Transceiver.cpp - Transceiver/Transceiver.h - Transceiver/USRPDevice.cpp - Transceiver/USRPDevice.h - Transceiver/USRPping.cpp - Transceiver/radioInterface.cpp - Transceiver/radioInterface.h - Transceiver/rcvLPF_651.h - Transceiver/runTransceiver.cpp - Transceiver/sendLPF_961.h - Transceiver/sigProcLib.cpp - Transceiver/sigProcLib.h - Transceiver/sigProcLibTest.cpp - Transceiver/sweepGenerator.cpp - Transceiver/testRadio.cpp - -Raffi Sevlian, raffisev at gmail.com: - GSM/GSMCommon.h - GSM/GSMConfig.h - GSM/GSML1FEC.h - GSM/GSML3CCElements.cpp - GSM/GSML3CCElements.h - GSM/GSML3CCMessages.cpp - GSM/GSML3CCMessages.h - GSM/GSML3CommonElements.cpp - GSM/GSML3CommonElements.h - GSM/GSML3MMElements.cpp - GSM/GSML3MMElements.h - GSM/GSML3MMMessages.cpp - GSM/GSML3MMMessages.h - GSM/GSML3Message.cpp - GSM/GSML3Message.h - GSM/GSML3RRElements.cpp - GSM/GSML3RRElements.h - GSM/GSML3RRMessages.cpp - GSM/GSML3RRMessages.h - GSM/GSMLogicalChannel.h - GSM/GSMSAPMux.cpp - GSM/GSMSAPMux.h - GSM/GSMTransfer.h - LICENSEBLOCK - TRXManager/TRXManager.h - -Alon Levy, alonlevy1 at gmail.com - RRLPMessages.cpp - RRLPMessages.h - RRLPTest.cpp diff --git a/configure.ac b/configure.ac index e2a07f8..f2664ed 100644 --- a/configure.ac +++ b/configure.ac @@ -32,7 +32,7 @@ AC_CANONICAL_HOST AC_CANONICAL_TARGET -AM_INIT_AUTOMAKE([subdir-objects]) +AM_INIT_AUTOMAKE([foreign subdir-objects]) dnl Linux kernel KBuild style compile messages m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I536a145cb7696af8e9dbd3065ee5e5f493217ac6 Gerrit-Change-Number: 14587 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 25 12:28:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 25 Jun 2019 12:28:20 +0000 Subject: Change in ...osmo-trx[master]: trx_{vty, rate_ctr}: Set proper license AGPLv3+ In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/14588 ) Change subject: trx_{vty,rate_ctr}: Set proper license AGPLv3+ ...................................................................... trx_{vty,rate_ctr}: Set proper license AGPLv3+ Take the chance to improve text with author, SPDX tag and fix incorrect copyright dates. Related: OS#3515 Change-Id: Ic745312ed07db205b1cdc0f2fa130000319354c5 --- M CommonLibs/trx_rate_ctr.cpp M CommonLibs/trx_vty.c 2 files changed, 19 insertions(+), 13 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 d98caff..43e4189 100644 --- a/CommonLibs/trx_rate_ctr.cpp +++ b/CommonLibs/trx_rate_ctr.cpp @@ -2,21 +2,23 @@ * Copyright (C) 2019 sysmocom - s.f.m.c. GmbH * All Rights Reserved * + * SPDX-License-Identifier: AGPL-3.0+ + * * Author: Pau Espin Pedrol * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . - * + * See the COPYING file in the main directory for details. */ /* diff --git a/CommonLibs/trx_vty.c b/CommonLibs/trx_vty.c index 795ec7b..e184f49 100644 --- a/CommonLibs/trx_vty.c +++ b/CommonLibs/trx_vty.c @@ -1,20 +1,24 @@ /* - * Copyright (C) 2012-2017 sysmocom - s.f.m.c. GmbH + * Copyright (C) 2018-2019 sysmocom - s.f.m.c. GmbH * All Rights Reserved * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * SPDX-License-Identifier: AGPL-3.0+ + * + * Author: Pau Espin Pedrol + * + * 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. + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU General Public License + * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . - * + * See the COPYING file in the main directory for details. */ #include -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ic745312ed07db205b1cdc0f2fa130000319354c5 Gerrit-Change-Number: 14588 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 Tue Jun 25 13:58:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Jun 2019 13:58:35 +0000 Subject: Change in ...osmo-bts[master]: bts: Bypass T200 DCCH values for CCCH In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/14568 to look at the new patch set (#2). Change subject: bts: Bypass T200 DCCH values for CCCH ...................................................................... bts: Bypass T200 DCCH values for CCCH Otherwise t200_ms_dcch array values are left uninitialized with random values, and passed later on to lapdm_channel_init2(). lapdm_channel_init2() will anyways fail during initial check on get_n200_dcch() and return -EINVAL, so let's not print garbage or call a function which will anyways simply return an error. Catched due to some strange values seen in log (see D0 and D3): osmo-bts/src/common/bts.c:421 (bts=0,trx=0,ts=0,ss=4) Setting T200 D0=1028672, D3=2, S0=520, S3=520 (all in ms) Related: OS#4066 Change-Id: I3d7e1883811acf97aac97325739f2ff97fc2aa08 --- M src/common/bts.c 1 file changed, 11 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/68/14568/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3d7e1883811acf97aac97325739f2ff97fc2aa08 Gerrit-Change-Number: 14568 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 25 14:53:10 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 25 Jun 2019 14:53:10 +0000 Subject: Change in ...osmo-bts[master]: bts: Bypass T200 DCCH values for CCCH In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14568 ) Change subject: bts: Bypass T200 DCCH values for CCCH ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3d7e1883811acf97aac97325739f2ff97fc2aa08 Gerrit-Change-Number: 14568 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Jun 2019 14:53: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 25 14:55:16 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 25 Jun 2019 14:55:16 +0000 Subject: Change in ...osmo-bts[master]: RSL: Fix fixed MS power control in RSL CHAN ACTIV In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14489 ) Change subject: RSL: Fix fixed MS power control in RSL CHAN ACTIV ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0bbe171a287b10d71fc853cd721f66e4c84db8c5 Gerrit-Change-Number: 14489 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 25 Jun 2019 14:55: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 25 15:02:44 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 25 Jun 2019 15:02:44 +0000 Subject: Change in ...libosmocore[master]: vty: Simplify char escaping in asciidoc output In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14538 ) Change subject: vty: Simplify char escaping in asciidoc output ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7df6858bb98abffc1d5bf420f991ae5854b24638 Gerrit-Change-Number: 14538 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 25 Jun 2019 15:02: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 25 21:46:44 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Jun 2019 21:46:44 +0000 Subject: Change in ...libosmocore[master]: vty: Simplify char escaping in asciidoc output In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14538 ) Change subject: vty: Simplify char escaping in asciidoc output ...................................................................... vty: Simplify char escaping in asciidoc output Change-Id: I7df6858bb98abffc1d5bf420f991ae5854b24638 --- M src/vty/command.c 1 file changed, 4 insertions(+), 9 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/vty/command.c b/src/vty/command.c index 89a2bc1..454a10c 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -515,7 +515,7 @@ { int _strlen; char *out, *out_ptr; - int len = 0, i, j; + int len = 0, i; if (!inp) return NULL; @@ -538,23 +538,18 @@ out_ptr = out; -#define ADD(out, str) \ - for (j = 0; j < strlen(str); ++j) \ - *(out++) = str[j]; - for (i = 0; i < _strlen; ++i) { switch (inp[i]) { case '|': - ADD(out_ptr, "\\|"); - break; + /* Prepend escape character "\": */ + *(out_ptr++) = '\\'; + /* fall through */ default: *(out_ptr++) = inp[i]; break; } } -#undef ADD - out_ptr[0] = '\0'; return out; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7df6858bb98abffc1d5bf420f991ae5854b24638 Gerrit-Change-Number: 14538 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 25 21:47:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Jun 2019 21:47:07 +0000 Subject: Change in ...osmo-gsm-tester[master]: Introduce osmux support for msc, bsc, mgw In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14547 ) Change subject: Introduce osmux support for msc,bsc,mgw ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ief3518e77650f2cddb48357b07fe95346e46ee1b Gerrit-Change-Number: 14547 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Jun 2019 21:47: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 25 21:47:11 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Jun 2019 21:47:11 +0000 Subject: Change in ...osmo-gsm-tester[master]: tests: voice: Add voice call test with Osmux enabled In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14548 ) Change subject: tests: voice: Add voice call test with Osmux enabled ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie4f360a77f6fcbc74f140a7fcb5feef2d94ac734 Gerrit-Change-Number: 14548 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 25 Jun 2019 21:47:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 25 21:47:15 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Jun 2019 21:47:15 +0000 Subject: Change in ...osmo-gsm-tester[master]: Introduce osmux support for msc, bsc, mgw In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14547 ) Change subject: Introduce osmux support for msc,bsc,mgw ...................................................................... Introduce osmux support for msc,bsc,mgw Change-Id: Ief3518e77650f2cddb48357b07fe95346e46ee1b --- M src/osmo_gsm_tester/osmo_bsc.py M src/osmo_gsm_tester/osmo_mgw.py M src/osmo_gsm_tester/osmo_msc.py M src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl M src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl 6 files changed, 41 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/osmo_bsc.py b/src/osmo_gsm_tester/osmo_bsc.py index ec9c3b8..4160527 100644 --- a/src/osmo_gsm_tester/osmo_bsc.py +++ b/src/osmo_gsm_tester/osmo_bsc.py @@ -32,6 +32,7 @@ self.process = None self.encryption = None self.rsl_ip = None + self.use_osmux = "off" self.suite_run = suite_run self.ip_address = ip_address self.bts = [] @@ -90,6 +91,7 @@ else: encryption_vty = util.encryption2osmovty(values['bsc']['net']['encryption']) config.overlay(values, dict(bsc=dict(net=dict(encryption=encryption_vty)))) + config.overlay(values, dict(bsc=dict(use_osmux=self.use_osmux))) if self.rsl_ip is not None: config.overlay(values, dict(bsc=dict(net=dict(rsl_ip=self.rsl_ip)))) @@ -113,6 +115,15 @@ other external entities to test the RSL path, such as TTCN3 tests.''' self.rsl_ip = ip_addr + def set_use_osmux(self, use=False, force=False): + if not use: + self.use_osmux = "off" + else: + if not force: + self.use_osmux = "on" + else: + self.use_osmux = "only" + def bts_add(self, bts): self.bts.append(bts) bts.set_bsc(self) diff --git a/src/osmo_gsm_tester/osmo_mgw.py b/src/osmo_gsm_tester/osmo_mgw.py index ca7bd51..ea8e652 100644 --- a/src/osmo_gsm_tester/osmo_mgw.py +++ b/src/osmo_gsm_tester/osmo_mgw.py @@ -31,6 +31,7 @@ self.process = None self.suite_run = suite_run self.ip_address = ip_address + self.use_osmux = "off" def start(self): self.log('Starting osmo-mgw') @@ -63,7 +64,11 @@ values = dict(mgw=config.get_defaults('mgw')) config.overlay(values, self.suite_run.config()) - config.overlay(values, dict(mgw=dict(ip_address=self.ip_address))) + config.overlay(values, { 'mgw': { + 'ip_address': self.ip_address, + 'use_osmux': self.use_osmux + } + }) self.dbg('MGW CONFIG:\n' + pprint.pformat(values)) @@ -81,4 +86,14 @@ def running(self): return not self.process.terminated() + def set_use_osmux(self, use=False, force=False): + if not use: + self.use_osmux = "off" + else: + if not force: + self.use_osmux = "on" + else: + self.use_osmux = "only" + + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/osmo_msc.py b/src/osmo_gsm_tester/osmo_msc.py index 192926c..51f50c4 100644 --- a/src/osmo_gsm_tester/osmo_msc.py +++ b/src/osmo_gsm_tester/osmo_msc.py @@ -32,6 +32,7 @@ self.config = None self.encryption = None self.authentication = None + self.use_osmux = "off" self.suite_run = suite_run self.ip_address = ip_address self.hlr = hlr @@ -84,6 +85,7 @@ config.overlay(values, dict(msc=dict(net=dict(encryption=encryption_vty)))) if self.authentication is not None: config.overlay(values, dict(msc=dict(net=dict(authentication=self.authentication)))) + config.overlay(values, dict(msc=dict(use_osmux=self.use_osmux))) self.config = values @@ -107,6 +109,15 @@ return self.authentication = "required" if val else "optional" + def set_use_osmux(self, use=False, force=False): + if not use: + self.use_osmux = "off" + else: + if not force: + self.use_osmux = "on" + else: + self.use_osmux = "only" + def mcc(self): return self.config['msc']['net']['mcc'] diff --git a/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl index 53e683b..572e765 100644 --- a/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl @@ -118,5 +118,6 @@ amr-config 5_90k allowed amr-config 5_15k forbidden amr-config 4_75k forbidden + osmux ${bsc.use_osmux} msc-addr msc_remote bsc-addr bsc_local diff --git a/src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl index 9e338e1..f91ab30 100644 --- a/src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl @@ -14,3 +14,4 @@ number endpoints 31 rtcp-omit rtp-accept-all 1 + osmux ${mgw.use_osmux} diff --git a/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl index b370d5e..31c57d3 100644 --- a/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl @@ -28,6 +28,7 @@ mgw local-ip ${msc.ip_address.addr} mgw endpoint-range 1 31 mgw bts-base 8000 + osmux ${msc.use_osmux} assign-tmsi cs7-instance-iu 0 cs7-instance-a 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ief3518e77650f2cddb48357b07fe95346e46ee1b Gerrit-Change-Number: 14547 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jun 25 21:47:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Jun 2019 21:47:16 +0000 Subject: Change in ...osmo-gsm-tester[master]: tests: voice: Add voice call test with Osmux enabled In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14548 ) Change subject: tests: voice: Add voice call test with Osmux enabled ...................................................................... tests: voice: Add voice call test with Osmux enabled Change-Id: Ie4f360a77f6fcbc74f140a7fcb5feef2d94ac734 --- M src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl A suites/voice/lib/testlib.py M suites/voice/mo_mt_call.py A suites/voice/mo_mt_call_osmux.py 4 files changed, 81 insertions(+), 52 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl index f91ab30..5f351a4 100644 --- a/src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-mgw.cfg.tmpl @@ -15,3 +15,4 @@ rtcp-omit rtp-accept-all 1 osmux ${mgw.use_osmux} + osmux bind-ip ${mgw.ip_address.addr} diff --git a/suites/voice/lib/testlib.py b/suites/voice/lib/testlib.py new file mode 100644 index 0000000..7d934f1 --- /dev/null +++ b/suites/voice/lib/testlib.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +def test_mo_mt_call(use_osmux=False, force_osmux=False): + hlr = suite.hlr() + bts = suite.bts() + mgw_msc = suite.mgw() + mgw_bsc = suite.mgw() + stp = suite.stp() + msc = suite.msc(hlr, mgw_msc, stp) + bsc = suite.bsc(msc, mgw_bsc, stp) + ms_mo = suite.modem() + ms_mt = suite.modem() + + hlr.start() + stp.start() + + msc.set_use_osmux(use_osmux, force_osmux) + msc.start() + + # osmo-msc still doesn't support linking 2 internal leg calls through Osmux + # if both calls are using Osmux. Currently, RTP is always used between the 2 + # endpoints of the MGW. See OS#4065. + mgw_msc.set_use_osmux(use_osmux, False) + mgw_msc.start() + + # We don't want to force Osmux in BSC_MGW since in MGW BTS-side is still RTP. + mgw_bsc.set_use_osmux(use_osmux, False) + mgw_bsc.start() + + bsc.set_use_osmux(use_osmux, force_osmux) + bsc.bts_add(bts) + bsc.start() + + bts.start() + wait(bsc.bts_is_connected, bts) + + hlr.subscriber_add(ms_mo) + hlr.subscriber_add(ms_mt) + + ms_mo.connect(msc.mcc_mnc()) + ms_mt.connect(msc.mcc_mnc()) + + ms_mo.log_info() + ms_mt.log_info() + + print('waiting for modems to attach...') + wait(ms_mo.is_connected, msc.mcc_mnc()) + wait(ms_mt.is_connected, msc.mcc_mnc()) + wait(msc.subscriber_attached, ms_mo, ms_mt) + + assert len(ms_mo.call_id_list()) == 0 and len(ms_mt.call_id_list()) == 0 + mo_cid = ms_mo.call_dial(ms_mt) + mt_cid = ms_mt.call_wait_incoming(ms_mo) + print('dial success') + + assert not ms_mo.call_is_active(mo_cid) and not ms_mt.call_is_active(mt_cid) + ms_mt.call_answer(mt_cid) + wait(ms_mo.call_is_active, mo_cid) + wait(ms_mt.call_is_active, mt_cid) + print('answer success, call established and ongoing') + + sleep(5) # maintain the call active for 5 seconds + + assert ms_mo.call_is_active(mo_cid) and ms_mt.call_is_active(mt_cid) + ms_mt.call_hangup(mt_cid) + wait(lambda: len(ms_mo.call_id_list()) == 0 and len(ms_mt.call_id_list()) == 0) + print('hangup success') diff --git a/suites/voice/mo_mt_call.py b/suites/voice/mo_mt_call.py index aeda80d..740b1fe 100755 --- a/suites/voice/mo_mt_call.py +++ b/suites/voice/mo_mt_call.py @@ -1,56 +1,8 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -hlr = suite.hlr() -bts = suite.bts() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) -ms_mo = suite.modem() -ms_mt = suite.modem() +import testlib +suite.test_import_modules_register_for_cleanup(testlib) +from testlib import test_mo_mt_call -hlr.start() -stp.start() -msc.start() -mgw_msc.start() -mgw_bsc.start() - -bsc.bts_add(bts) -bsc.start() - -bts.start() -wait(bsc.bts_is_connected, bts) - -hlr.subscriber_add(ms_mo) -hlr.subscriber_add(ms_mt) - -ms_mo.connect(msc.mcc_mnc()) -ms_mt.connect(msc.mcc_mnc()) - -ms_mo.log_info() -ms_mt.log_info() - -print('waiting for modems to attach...') -wait(ms_mo.is_connected, msc.mcc_mnc()) -wait(ms_mt.is_connected, msc.mcc_mnc()) -wait(msc.subscriber_attached, ms_mo, ms_mt) - -assert len(ms_mo.call_id_list()) == 0 and len(ms_mt.call_id_list()) == 0 -mo_cid = ms_mo.call_dial(ms_mt) -mt_cid = ms_mt.call_wait_incoming(ms_mo) -print('dial success') - -assert not ms_mo.call_is_active(mo_cid) and not ms_mt.call_is_active(mt_cid) -ms_mt.call_answer(mt_cid) -wait(ms_mo.call_is_active, mo_cid) -wait(ms_mt.call_is_active, mt_cid) -print('answer success, call established and ongoing') - -sleep(5) # maintain the call active for 5 seconds - -assert ms_mo.call_is_active(mo_cid) and ms_mt.call_is_active(mt_cid) -ms_mt.call_hangup(mt_cid) -wait(lambda: len(ms_mo.call_id_list()) == 0 and len(ms_mt.call_id_list()) == 0) -print('hangup success') +test_mo_mt_call(False, False) diff --git a/suites/voice/mo_mt_call_osmux.py b/suites/voice/mo_mt_call_osmux.py new file mode 100755 index 0000000..acf7d71 --- /dev/null +++ b/suites/voice/mo_mt_call_osmux.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +import testlib +suite.test_import_modules_register_for_cleanup(testlib) +from testlib import test_mo_mt_call + +test_mo_mt_call(True, True) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/14548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ie4f360a77f6fcbc74f140a7fcb5feef2d94ac734 Gerrit-Change-Number: 14548 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 25 22:00:42 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Jun 2019 22:00:42 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Support uppercase LCO options Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14589 Change subject: mgw: Support uppercase LCO options ...................................................................... mgw: Support uppercase LCO options MGCP RFC3435 (https://tools.ietf.org/html/rfc3435) states almost all text has to be handled in a case-insensitive way, except SDP parts. Related: OS#4001 Change-Id: Ic28a5eacc4c441d68e8a20d2743956ab2e01125d --- M src/libosmo-mgcp/mgcp_protocol.c M tests/mgcp/mgcp_test.c M tests/mgcp/mgcp_test.ok 3 files changed, 76 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/89/14589/1 diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 74926ad..841440b 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -590,7 +590,7 @@ static int set_local_cx_options(void *ctx, struct mgcp_lco *lco, const char *options) { - char *p_opt, *a_opt; + char *lco_id; char codec[17]; if (!options) @@ -608,18 +608,32 @@ talloc_free(lco->string); lco->string = talloc_strdup(ctx, options); - p_opt = strstr(lco->string, "p:"); - if (p_opt && sscanf(p_opt, "p:%d-%d", - &lco->pkt_period_min, &lco->pkt_period_max) == 1) - lco->pkt_period_max = lco->pkt_period_min; + lco_id = lco->string; + while ((lco_id = get_lco_identifier(lco_id))) { + switch (tolower(lco_id[0])) { + case 'p': + if (sscanf(lco_id + 1, ":%d-%d", + &lco->pkt_period_min, &lco->pkt_period_max) == 1) + lco->pkt_period_max = lco->pkt_period_min; + break; + case 'a': + /* FIXME: LCO also supports the negotiation of more then one codec. + * (e.g. a:PCMU;G726-32) But this implementation only supports a single + * codec only. */ + if (sscanf(lco_id + 1, ":%16[^,]", codec) == 1) { + talloc_free(lco->codec); + lco->codec = talloc_strdup(ctx, codec); + } + break; + default: + LOGP(DLMGCP, LOGL_NOTICE, + "LCO: unhandled option: '%c'/%d\n", *lco_id, *lco_id); + break; + } - /* FIXME: LCO also supports the negotiation of more then one codec. - * (e.g. a:PCMU;G726-32) But this implementation only supports a single - * codec only. */ - a_opt = strstr(lco->string, "a:"); - if (a_opt && sscanf(a_opt, "a:%16[^,]", codec) == 1) { - talloc_free(lco->codec); - lco->codec = talloc_strdup(ctx, codec); + lco_id = strchr(lco_id, ','); + if (!lco_id) + break; } LOGP(DLMGCP, LOGL_DEBUG, diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index c4931b2..ab6d0ce 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -208,8 +208,24 @@ "a=rtpmap:99 AMR/8000\r\n" \ "a=ptime:40\r\n" -#define MDCX4_SO \ +/* Test different upper/lower case in options */ +#define MDCX4_PT4 \ "MDCX 18983220 1 at mgw MGCP 1.0\r\n" \ + "M: sendrecv\r" \ + "C: 2\r\n" \ + "I: %s\r\n" \ + "L: A:AMR, NT:IN\r\n" \ + "\n" \ + "v=0\r\n" \ + "o=- %s 23 IN IP4 0.0.0.0\r\n" \ + "c=IN IP4 0.0.0.0\r\n" \ + "t=0 0\r\n" \ + "m=audio 4441 RTP/AVP 99\r\n" \ + "a=rtpmap:99 AMR/8000\r\n" \ + "a=ptime:40\r\n" + +#define MDCX4_SO \ + "MDCX 18983221 1 at mgw MGCP 1.0\r\n" \ "M: sendonly\r" \ "C: 2\r\n" \ "I: %s\r\n" \ @@ -224,17 +240,17 @@ "a=ptime:40\r\n" #define MDCX4_RO \ - "MDCX 18983221 1 at mgw MGCP 1.0\r\n" \ + "MDCX 18983222 1 at mgw MGCP 1.0\r\n" \ "M: recvonly\r" \ "C: 2\r\n" \ "I: %s\r\n" \ "L: p:20, a:AMR, nt:IN\r\n" #define MDCX_TOO_LONG_CI \ - "MDCX 18983222 1 at mgw MGCP 1.0\r\n" \ + "MDCX 18983223 1 at mgw MGCP 1.0\r\n" \ "I: 123456789012345678901234567890123\n" -#define MDCX_TOO_LONG_CI_RET "510 18983222 FAIL\r\n" +#define MDCX_TOO_LONG_CI_RET "510 18983223 FAIL\r\n" #define SHORT2 "CRCX 1" #define SHORT2_RET "510 000000 FAIL\r\n" @@ -526,8 +542,9 @@ {"MDCX4_PT1", MDCX4_PT1, MDCX4_RET("18983217"), 99}, {"MDCX4_PT2", MDCX4_PT2, MDCX4_RET("18983218"), 99}, {"MDCX4_PT3", MDCX4_PT3, MDCX4_RET("18983219"), 99}, - {"MDCX4_SO", MDCX4_SO, MDCX4_RET("18983220"), 99}, - {"MDCX4_RO", MDCX4_RO, MDCX4_RO_RET("18983221"), PTYPE_IGNORE}, + {"MDCX4_PT4", MDCX4_PT4, MDCX4_RET("18983220"), 99}, + {"MDCX4_SO", MDCX4_SO, MDCX4_RET("18983221"), 99}, + {"MDCX4_RO", MDCX4_RO, MDCX4_RO_RET("18983222"), PTYPE_IGNORE}, {"DLCX", DLCX, DLCX_RET, PTYPE_IGNORE}, {"CRCX_ZYN", CRCX_ZYN, CRCX_ZYN_RET, 97}, {"EMPTY", EMPTY, EMPTY_RET}, diff --git a/tests/mgcp/mgcp_test.ok b/tests/mgcp/mgcp_test.ok index d21eaa1..3929d79 100644 --- a/tests/mgcp/mgcp_test.ok +++ b/tests/mgcp/mgcp_test.ok @@ -193,10 +193,34 @@ Dummy packets: 2 ================================================ -Testing MDCX4_SO +Testing MDCX4_PT4 creating message from statically defined input: ---------8<--------- MDCX 18983220 1 at mgw MGCP 1.0 +M: sendrecv C: 2 +I: %s +L: A:AMR, NT:IN + +v=0 +o=- %s 23 IN IP4 0.0.0.0 +c=IN IP4 0.0.0.0 +t=0 0 +m=audio 4441 RTP/AVP 99 +a=rtpmap:99 AMR/8000 +a=ptime:40 + +---------8<--------- +checking response: +using message with patched conn_id for comparison +Response matches our expectations. +(response contains a connection id) +Dummy packets: 2 + +================================================ +Testing MDCX4_SO +creating message from statically defined input: +---------8<--------- +MDCX 18983221 1 at mgw MGCP 1.0 M: sendonly C: 2 I: %s L: p:20, a:AMR, nt:IN @@ -219,7 +243,7 @@ Testing MDCX4_RO creating message from statically defined input: ---------8<--------- -MDCX 18983221 1 at mgw MGCP 1.0 +MDCX 18983222 1 at mgw MGCP 1.0 M: recvonly C: 2 I: %s L: p:20, a:AMR, nt:IN @@ -446,7 +470,7 @@ Testing MDCX_TOO_LONG_CI creating message from statically defined input: ---------8<--------- -MDCX 18983222 1 at mgw MGCP 1.0 +MDCX 18983223 1 at mgw MGCP 1.0 I: 123456789012345678901234567890123 ---------8<--------- -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ic28a5eacc4c441d68e8a20d2743956ab2e01125d Gerrit-Change-Number: 14589 Gerrit-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 25 22:00:43 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 25 Jun 2019 22:00:43 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Support upper-case header parameters Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14590 Change subject: mgw: Support upper-case header parameters ...................................................................... mgw: Support upper-case header parameters MGCP RFC3435 (https://tools.ietf.org/html/rfc3435) states almost all text has to be handled in a case-insensitive way, except SDP parts. Related: OS#4001 Change-Id: I48252415f9d0cd985ad097f334aa4c1665f52511 --- M src/libosmo-mgcp/mgcp_protocol.c M tests/mgcp/mgcp_test.c M tests/mgcp/mgcp_test.ok 3 files changed, 18 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/90/14590/1 diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 841440b..6473394 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -812,7 +812,7 @@ if (!mgcp_check_param(endp, line)) continue; - switch (line[0]) { + switch (toupper(line[0])) { case 'L': local_options = (const char *)line + 3; break; @@ -830,7 +830,6 @@ mode = (const char *)line + 3; break; case 'X': - case 'x': if (strncasecmp("Osmux: ", line + 2, strlen("Osmux: ")) == 0) { /* If osmux is disabled, just skip setting it up */ if (!p->endp->cfg->osmux) @@ -1089,7 +1088,7 @@ if (!mgcp_check_param(endp, line)) continue; - switch (line[0]) { + 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]); @@ -1114,7 +1113,6 @@ silent = strcmp("noanswer", line + 3) == 0; break; case 'X': - case 'x': if (strncasecmp("Osmux: ", line + 2, strlen("Osmux: ")) == 0) { /* If osmux is disabled, just skip setting it up */ if (!p->endp->cfg->osmux) @@ -1313,7 +1311,7 @@ if (!mgcp_check_param(endp, line)) continue; - switch (line[0]) { + switch (toupper(line[0])) { case 'C': if (mgcp_verify_call_id(endp, line + 3) != 0) { error_code = 516; @@ -1464,7 +1462,7 @@ LOGP(DLMGCP, LOGL_NOTICE, "RQNT: processing request for notification ...\n"); for_each_line(line, p->save) { - switch (line[0]) { + switch (toupper(line[0])) { case 'S': tone = extract_tone(line); break; diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index ab6d0ce..c67b9d5 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -211,10 +211,10 @@ /* Test different upper/lower case in options */ #define MDCX4_PT4 \ "MDCX 18983220 1 at mgw MGCP 1.0\r\n" \ - "M: sendrecv\r" \ - "C: 2\r\n" \ - "I: %s\r\n" \ - "L: A:AMR, NT:IN\r\n" \ + "m: sendrecv\r" \ + "c: 2\r\n" \ + "i: %s\r\n" \ + "l: A:AMR, NT:IN\r\n" \ "\n" \ "v=0\r\n" \ "o=- %s 23 IN IP4 0.0.0.0\r\n" \ @@ -260,7 +260,7 @@ #define CRCX \ "CRCX 2 1 at mgw MGCP 1.0\r\n" \ - "M: recvonly\r\n" \ + "m: recvonly\r\n" \ "C: 2\r\n" \ "L: p:20\r\n" \ "\r\n" \ diff --git a/tests/mgcp/mgcp_test.ok b/tests/mgcp/mgcp_test.ok index 3929d79..08ea438 100644 --- a/tests/mgcp/mgcp_test.ok +++ b/tests/mgcp/mgcp_test.ok @@ -65,7 +65,7 @@ creating message from statically defined input: ---------8<--------- CRCX 2 1 at mgw MGCP 1.0 -M: recvonly +m: recvonly C: 2 L: p:20 @@ -197,9 +197,9 @@ creating message from statically defined input: ---------8<--------- MDCX 18983220 1 at mgw MGCP 1.0 -M: sendrecv C: 2 -I: %s -L: A:AMR, NT:IN +m: sendrecv c: 2 +i: %s +l: A:AMR, NT:IN v=0 o=- %s 23 IN IP4 0.0.0.0 @@ -383,7 +383,7 @@ creating message from statically defined input: ---------8<--------- CRCX 2 1 at mgw MGCP 1.0 -M: recvonly +m: recvonly C: 2 L: p:20 @@ -508,7 +508,7 @@ creating message from statically defined input: ---------8<--------- CRCX 2 1 at mgw MGCP 1.0 -M: recvonly +m: recvonly C: 2 L: p:20 @@ -526,7 +526,7 @@ creating message from statically defined input: ---------8<--------- CRCX 2 1 at mgw MGCP 1.0 -M: recvonly +m: recvonly C: 2 L: p:20 @@ -638,7 +638,7 @@ creating message from statically defined input: ---------8<--------- CRCX 2 1 at mgw MGCP 1.0 -M: recvonly +m: recvonly C: 2 L: p:20 @@ -1189,7 +1189,7 @@ creating message from statically defined input: ---------8<--------- CRCX 2 1 at mgw MGCP 1.0 -M: recvonly +m: recvonly C: 2 L: p:20 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I48252415f9d0cd985ad097f334aa4c1665f52511 Gerrit-Change-Number: 14590 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Jun 26 02:41:35 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 26 Jun 2019 02:41:35 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d12db623e705_6eea925f4556939@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 582s] -Returned: 0, Current node: 1 '%s> ' [ 582s] -Going to execute 'ambiguous_str' [ 582s] -Called: 'ambiguous_str [ARG]' (argc=0) [ 582s] -Returned: 0, Current node: 1 '%s> ' [ 582s] -Going to execute 'ambiguous_str arg' [ 582s] -Called: 'ambiguous_str [ARG]' (argc=1) [ 582s] -Returned: 0, Current node: 1 '%s> ' [ 582s] -Going to execute 'ambiguous_str arg keyword' [ 582s] -Called: 'ambiguous_str ARG keyword' [ 582s] -Returned: 0, Current node: 1 '%s> ' [ 582s] -All tests passed [ 582s] ./testsuite.at:196: exit code was 139, expected 0 [ 582s] 31. testsuite.at:192: 31. vty (testsuite.at:192): FAILED (testsuite.at:196) [ 582s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 582s] make[1]: *** [override_dh_auto_test] Error 1 [ 582s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 582s] debian/rules:15: recipe for target 'build' failed [ 582s] make: *** [build] Error 2 [ 582s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 582s] [ 582s] armbuild21 failed "build libosmocore_1.1.0.73.e1e1.dsc" at Wed Jun 26 02:41:31 UTC 2019. [ 582s] [ 582s] ### VM INTERACTION START ### [ 585s] [ 565.916212] sysrq: SysRq : Power Off [ 585s] [ 565.972069] reboot: Power down [ 585s] ### VM INTERACTION END ### [ 585s] [ 585s] armbuild21 failed "build libosmocore_1.1.0.73.e1e1.dsc" at Wed Jun 26 02:41:34 UTC 2019. [ 585s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 26 05:15:34 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 26 Jun 2019 05:15:34 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d12ff7924ecd_6eea925f45760e4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 478s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 478s] ./src/common/bts.c:423: undefined reference to `lapdm_channel_init2' [ 478s] collect2: error: ld returned 1 exit status [ 478s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 478s] make[4]: *** [osmo-bts-virtual] Error 1 [ 478s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 478s] Makefile:385: recipe for target 'all-recursive' failed [ 478s] make[3]: *** [all-recursive] Error 1 [ 478s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 478s] Makefile:434: recipe for target 'all-recursive' failed [ 478s] make[2]: *** [all-recursive] Error 1 [ 478s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 478s] Makefile:366: recipe for target 'all' failed [ 478s] make[1]: *** [all] Error 2 [ 478s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 478s] dh_auto_build: make -j1 returned exit code 2 [ 478s] debian/rules:12: recipe for target 'build' failed [ 478s] make: *** [build] Error 2 [ 478s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 478s] [ 478s] obs-arm-5 failed "build osmo-bts_0.8.1.328.5b92.dsc" at Wed Jun 26 05:15:30 UTC 2019. [ 478s] [ 478s] ### VM INTERACTION START ### [ 481s] [ 444.894410] sysrq: SysRq : Power Off [ 481s] [ 444.912299] reboot: Power down [ 481s] ### VM INTERACTION END ### [ 481s] [ 481s] obs-arm-5 failed "build osmo-bts_0.8.1.328.5b92.dsc" at Wed Jun 26 05:15:33 UTC 2019. [ 481s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 26 06:10:43 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 26 Jun 2019 06:10:43 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d130c79bb788_6eea925f460279d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-sgsn failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 563s] bss_ptmsi = bss_ptmsi | GSM23003_TMSI_SGSN_MASK; [ 563s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 563s] gb_proxy.c:246:28: note: each undeclared identifier is reported only once for each function it appears in [ 563s] Makefile:615: recipe for target 'gb_proxy.o' failed [ 563s] make[4]: *** [gb_proxy.o] Error 1 [ 563s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/gprs' [ 563s] Makefile:391: recipe for target 'all-recursive' failed [ 563s] make[3]: *** [all-recursive] Error 1 [ 563s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 563s] Makefile:453: recipe for target 'all-recursive' failed [ 563s] make[2]: *** [all-recursive] Error 1 [ 563s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 563s] Makefile:385: recipe for target 'all' failed [ 563s] make[1]: *** [all] Error 2 [ 563s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 563s] dh_auto_build: make -j1 returned exit code 2 [ 563s] debian/rules:45: recipe for target 'build' failed [ 563s] make: *** [build] Error 2 [ 563s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 563s] [ 563s] armbuild25 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Wed Jun 26 06:10:24 UTC 2019. [ 563s] [ 563s] ### VM INTERACTION START ### [ 566s] [ 538.501896] sysrq: SysRq : Power Off [ 566s] [ 538.518304] reboot: Power down [ 567s] ### VM INTERACTION END ### [ 567s] [ 567s] armbuild25 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Wed Jun 26 06:10:28 UTC 2019. [ 567s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Jun 26 06:23:00 2019 From: admin at opensuse.org (OBS Notification) Date: Wed, 26 Jun 2019 06:23:00 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d130f4b34ef5_6eea925f4604144@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-msc failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 652s] tmsi |= GSM23003_TMSI_SGSN_MASK; [ 652s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 652s] vlr.c:339:12: note: each undeclared identifier is reported only once for each function it appears in [ 652s] Makefile:442: recipe for target 'vlr.o' failed [ 652s] make[4]: *** [vlr.o] Error 1 [ 652s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/libvlr' [ 652s] Makefile:422: recipe for target 'all-recursive' failed [ 652s] make[3]: *** [all-recursive] Error 1 [ 652s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 652s] Makefile:462: recipe for target 'all-recursive' failed [ 652s] make[2]: *** [all-recursive] Error 1 [ 652s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 652s] Makefile:394: recipe for target 'all' failed [ 652s] make[1]: *** [all] Error 2 [ 652s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 652s] dh_auto_build: make -j1 returned exit code 2 [ 652s] debian/rules:45: recipe for target 'build' failed [ 652s] make: *** [build] Error 2 [ 652s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 652s] [ 652s] armbuild19 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Wed Jun 26 06:22:47 UTC 2019. [ 652s] [ 652s] ### VM INTERACTION START ### [ 655s] [ 603.921439] sysrq: SysRq : Power Off [ 655s] [ 603.924005] reboot: Power down [ 655s] ### VM INTERACTION END ### [ 655s] [ 655s] armbuild19 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Wed Jun 26 06:22:50 UTC 2019. [ 655s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Jun 26 06:49:59 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Jun 2019 06:49:59 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14591 Change subject: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 ...................................................................... osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 Change-Id: Iec0d86f9be7243578ddc1ab322fc313cb5ac5d0b --- M src/osmo-bts-trx/trx_if.c 1 file changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/91/14591/1 diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 2805260..fde4d50 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -39,6 +39,9 @@ #include #include +#include +#include + #include #include #include @@ -611,9 +614,9 @@ return -EINVAL; } tn = buf[0]; - fn = (buf[1] << 24) | (buf[2] << 16) | (buf[3] << 8) | buf[4]; + fn = osmo_load32be(buf + 1); rssi = -(int8_t)buf[5]; - toa256 = ((int16_t)(buf[6] << 8) | buf[7]); + toa256 = (int16_t) osmo_load16be(buf + 6); /* copy and convert bits {254..0} to sbits {-127..127} */ for (i = 0; i < burst_len; i++) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iec0d86f9be7243578ddc1ab322fc313cb5ac5d0b Gerrit-Change-Number: 14591 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 26 06:50:00 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Jun 2019 06:50:00 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: introduce TRXD header version handling Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14592 Change subject: osmo-bts-trx/trx_if.c: introduce TRXD header version handling ...................................................................... osmo-bts-trx/trx_if.c: introduce TRXD header version handling It may be necessary to extend the message specific header with more information. Since this is not a TLV-based protocol, we need to include the header format version. +-----------------+---------------------------+ | 7 6 5 4 3 2 1 0 | bit numbers (value range) | +-----------------+---------------------------+ | X X X X . . . . | header version (0..15) | +-----------------+---------------------------+ | . . . . . X X X | TDMA TN (0..7) | +-----------------+---------------------------+ | . . . . X . . . | RESERVED (0) | +-----------------+---------------------------+ Instead of prepending an additional byte, it was decided to use 4 MSB bits of the first octet, which used to be zero-initialized due to the value range of TDMA TN (0..7). Therefore the current header format has implicit version 0x00. Otherwise Wireshark (or trx_sniff.py) would have to guess the header version, or alternatively follow the control channel looking for the version setting command. This change introduces a new structure 'trx_ul_burst_ind', which represents an Uplink burst and the corresponding meta info. The purpose of this structure is to avoid overloading the existing functions, such as trx_sched_ul_burst(), with more and more arguments every time we bump the version. On receipt of a TRXD message, trx_data_read_cb() now parses the header version, and calls the corresponding dissector function, e.g. trx_data_handle_v0() for version 0x00. Change-Id: I171c18229ca3e5cab70de0064a31e47c78602c0c Related: OS#4006 --- M include/osmo-bts/scheduler.h M src/common/scheduler.c M src/osmo-bts-trx/trx_if.c 3 files changed, 180 insertions(+), 53 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/92/14592/1 diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index c862307..695700d 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -173,10 +173,6 @@ /*! \brief PHY informs us of new (current) GSM frame number */ int trx_sched_clock(struct gsm_bts *bts, uint32_t fn); -/*! \brief handle an UL burst received by PHY */ -int trx_sched_ul_burst(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - sbit_t *bits, uint16_t nbits, int8_t rssi, int16_t toa); - /*! \brief set multiframe scheduler to given physical channel config */ int trx_sched_set_pchan(struct l1sched_trx *l1t, uint8_t tn, enum gsm_phys_chan_config pchan); @@ -231,4 +227,20 @@ bool trx_sched_is_sacch_fn(struct gsm_bts_trx_ts *ts, uint32_t fn, bool uplink); extern const struct trx_sched_multiframe trx_sched_multiframes[]; +/*! UL burst indication with the corresponding meta info */ +struct trx_ul_burst_ind { + /* Mandatory fields */ + uint32_t fn; /*!< TDMA frame number */ + uint8_t tn; /*!< TDMA time-slot number */ + int16_t toa256; /*!< Timing of Arrival in units of 1/256 of symbol */ + int8_t rssi; /*!< Received Signal Strength Indication */ + + /* Burst soft-bits */ + size_t burst_len; + sbit_t *burst; +}; + +/*! Handle an UL burst received by PHY */ +int trx_sched_ul_burst(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi); + #endif /* TRX_SCHEDULER_H */ diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 3f804a9..7b51a2a 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1313,11 +1313,10 @@ return 0; } -/* process uplink burst */ -int trx_sched_ul_burst(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - sbit_t *bits, uint16_t nbits, int8_t rssi, int16_t toa256) +/* Process an Uplink burst indication */ +int trx_sched_ul_burst(struct l1sched_trx *l1t, const struct trx_ul_burst_ind *bi) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *l1cs; const struct trx_sched_frame *frame; uint8_t offset, period, bid; @@ -1329,7 +1328,7 @@ /* get frame from multiframe */ period = l1ts->mf_period; - offset = fn % period; + offset = bi->fn % period; frame = l1ts->mf_frames + offset; chan = frame->ul_chan; @@ -1346,28 +1345,29 @@ return -EINVAL; /* calculate how many TDMA frames were potentially lost */ - trx_sched_calc_frame_loss(l1t, l1cs, tn, fn); + trx_sched_calc_frame_loss(l1t, l1cs, bi->tn, bi->fn); /* update TDMA frame counters */ - l1cs->last_tdma_fn = fn; + l1cs->last_tdma_fn = bi->fn; l1cs->proc_tdma_fs++; /* decrypt */ - if (bits && l1cs->ul_encr_algo) { + if (bi->burst && l1cs->ul_encr_algo) { ubit_t ks[114]; int i; - osmo_a5(l1cs->ul_encr_algo, l1cs->ul_encr_key, fn, NULL, ks); + osmo_a5(l1cs->ul_encr_algo, l1cs->ul_encr_key, bi->fn, NULL, ks); for (i = 0; i < 57; i++) { if (ks[i]) - bits[i + 3] = - bits[i + 3]; + bi->burst[i + 3] = - bi->burst[i + 3]; if (ks[i + 57]) - bits[i + 88] = - bits[i + 88]; + bi->burst[i + 88] = - bi->burst[i + 88]; } } - /* put burst to function */ - func(l1t, tn, fn, chan, bid, bits, nbits, rssi, toa256); + /* put burst to function + * TODO: rather pass a pointer to trx_ul_burst_ind */ + func(l1t, bi->tn, bi->fn, chan, bid, bi->burst, bi->burst_len, bi->rssi, bi->toa256); return 0; } diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index fde4d50..e4abc8a 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -7,6 +7,7 @@ * * Copyright (C) 2013 Andreas Eversberg * Copyright (C) 2016-2017 Harald Welte + * Copyright (C) 2019 Vadim Yanitskiy * * All Rights Reserved * @@ -590,65 +591,179 @@ * TRX burst data socket */ +/* Common header length: 1/2 VER + 1/2 TDMA TN + 4 TDMA FN */ +#define TRX_CHDR_LEN (1 + 4) +/* Uplink v0 header length: 1 RSSI + 2 ToA256 */ +#define TRX_UL_V0HDR_LEN (TRX_CHDR_LEN + 1 + 2) + +/* TRXD header dissector for version 0x00 */ +static int trx_data_handle_v0(struct trx_l1h *l1h, + struct trx_ul_burst_ind *bi, + const uint8_t *buf, size_t buf_len) +{ + /* Make sure we have enough data */ + if (buf_len < TRX_UL_V0HDR_LEN) { + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, + "Short read on TRXD, missing version 0 header " + "(len=%zu vs expected %d)\n", buf_len, TRX_UL_V0HDR_LEN); + return -EIO; + } + + bi->tn = buf[0] & 0b111; + bi->fn = osmo_load32be(buf + 1); + bi->rssi = -(int8_t)buf[5]; + bi->toa256 = (int16_t) osmo_load16be(buf + 6); + + if (bi->fn >= GSM_HYPERFRAME) { + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, + "Illegal TDMA fn=%u\n", bi->fn); + return -EINVAL; + } + + return TRX_UL_V0HDR_LEN; +} + +/* Parse TRXD message from transceiver, compose an UL burst indication. + * + * This message contains a demodulated Uplink burst with fixed-size + * header preceding the burst bits. The header consists of the common + * and message specific part. + * + * +---------------+-----------------+------------+ + * | common header | specific header | burst bits | + * +---------------+-----------------+------------+ + * + * Common header is the same as for Downlink message: + * + * +-----------------+----------------+-------------------+ + * | VER (1/2 octet) | TN (1/2 octet) | FN (4 octets, BE) | + * +-----------------+----------------+-------------------+ + * + * and among with TDMA parameters, contains the version indicator: + * + * +-----------------+------------------------+ + * | 7 6 5 4 3 2 1 0 | bit numbers | + * +-----------------+------------------------+ + * | X X X X . . . . | header version (0..15) | + * +-----------------+------------------------+ + * | . . . . . X X X | TDMA TN (0..7) | + * +-----------------+------------------------+ + * | . . . . X . . . | RESERVED (0) | + * +-----------------+------------------------+ + * + * which is encoded in 4 MSB bits of the first octet, which used to be + * zero-initialized due to the value range of TDMA TN. Therefore, the + * old header format has implicit version 0x00. + * + * The message specific header has the following structure: + * + * == Version 0x00 + * + * +------+-----+--------------------+ + * | RSSI | ToA | soft-bits (254..0) | + * +------+-----+--------------------+ + * + * where: + * + * - RSSI (1 octet) - Received Signal Strength Indication + * encoded without the negative sign. + * - ToA (2 octets) - Timing of Arrival in units of 1/256 + * of symbol (big endian). + * + * == Coding of the burst bits + * + * Unlike to be transmitted bursts, the received bursts are designated + * using the soft-bits notation, so the receiver can indicate its + * assurance from 0 to -127 that a given bit is 1, and from 0 to +127 + * that a given bit is 0. + * + * Each soft-bit (-127..127) of the burst is encoded as an unsigned + * value in range (254..0) respectively using the constant shift. + * + */ static int trx_data_read_cb(struct osmo_fd *ofd, unsigned int what) { struct trx_l1h *l1h = ofd->data; uint8_t buf[TRX_MAX_BURST_LEN]; - int len; - uint8_t tn; - int8_t rssi; - int16_t toa256 = 0; - uint32_t fn; sbit_t bits[EGPRS_BURST_LEN]; - int i, burst_len = GSM_BURST_LEN; + struct trx_ul_burst_ind bi; + ssize_t hdr_len, buf_len; + uint8_t *burst_bits; + uint8_t hdr_ver; + int i; - len = recv(ofd->fd, buf, sizeof(buf), 0); - if (len <= 0) { - return len; - } else if (len == EGPRS_BURST_LEN + 10) { - burst_len = EGPRS_BURST_LEN; - /* Accept bursts ending with 2 bytes of padding (OpenBTS compatible trx) or without them: */ - } else if (len != GSM_BURST_LEN + 10 && len != GSM_BURST_LEN + 8) { - LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, "Got data message with invalid lenght " - "'%d'\n", len); + buf_len = recv(ofd->fd, buf, sizeof(buf), 0); + if (buf_len <= 0) { + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, + "recv() failed on TRXD with rc=%zd\n", buf_len); + return buf_len; + } + + /* Parse the header depending on its version */ + hdr_ver = buf[0] >> 4; + switch (hdr_ver) { + case 0x00: + /* Legacy protocol has no version indicator */ + hdr_len = trx_data_handle_v0(l1h, &bi, buf, buf_len); + break; + default: + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, + "TRXD header version %u is not supported\n", hdr_ver); + return -ENOTSUP; + } + + /* Header parsing error */ + if (hdr_len < 0) + return hdr_len; + + /* We're done with the header now */ + burst_bits = buf + hdr_len; + buf_len -= hdr_len; + + /* Verify burst length */ + switch (buf_len) { + /* Legacy transceivers append two padding bytes */ + case EGPRS_BURST_LEN + 2: + case GSM_BURST_LEN + 2: + buf_len -= 2; + break; + case EGPRS_BURST_LEN: + case GSM_BURST_LEN: + break; + + default: + LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, + "Rx TRXD message with odd burst length %zu\n", buf_len); return -EINVAL; } - tn = buf[0]; - fn = osmo_load32be(buf + 1); - rssi = -(int8_t)buf[5]; - toa256 = (int16_t) osmo_load16be(buf + 6); - /* copy and convert bits {254..0} to sbits {-127..127} */ - for (i = 0; i < burst_len; i++) { - if (buf[8 + i] == 255) + /* Convert unsigned soft-bits [254..0] to soft-bits [-127..127] */ + for (i = 0; i < buf_len; i++) { + if (burst_bits[i] == 255) bits[i] = -127; else - bits[i] = 127 - buf[8 + i]; + bits[i] = 127 - burst_bits[i]; } - if (tn >= 8) { - LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, "Illegal TS %d\n", tn); - return -EINVAL; - } - if (fn >= GSM_HYPERFRAME) { - LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, "Illegal FN %u\n", fn); - return -EINVAL; - } + bi.burst_len = buf_len; + bi.burst = bits; - LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, "RX burst tn=%u fn=%u rssi=%d toa256=%d\n", - tn, fn, rssi, toa256); + LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, + "Rx UL burst (hdr_ver=%u) tn=%u fn=%u rssi=%d toa256=%d\n", + hdr_ver, bi.tn, bi.fn, bi.rssi, bi.toa256); #ifdef TOA_RSSI_DEBUG char deb[128]; sprintf(deb, "| 0 " - " | rssi=%4d toa=%5d fn=%u", rssi, toa256, fn); - deb[1 + (128 + rssi) / 4] = '*'; + " | rssi=%4d toa=%5d fn=%u", + bi.rssi, bi.toa256, bi.fn); + deb[1 + (128 + bi.rssi) / 4] = '*'; fprintf(stderr, "%s\n", deb); #endif /* feed received burst into scheduler code */ - trx_sched_ul_burst(&l1h->l1s, tn, fn, bits, burst_len, rssi, toa256); + trx_sched_ul_burst(&l1h->l1s, &bi); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I171c18229ca3e5cab70de0064a31e47c78602c0c Gerrit-Change-Number: 14592 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 26 06:50:02 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Jun 2019 06:50:02 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: introduce TRXD header version 0x01 support Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14593 Change subject: osmo-bts-trx/trx_if.c: introduce TRXD header version 0x01 support ...................................................................... osmo-bts-trx/trx_if.c: introduce TRXD header version 0x01 support The new version adds the following fields to the TRX2L1 message, keeping the L12TRX message unchanged: +------+-----+-----+-----+--------------------+ | RSSI | ToA | MTS | C/I | soft-bits (254..0) | +------+-----+-----+-----+--------------------+ - MTS (1 octet) - Modulation and Training Sequence info, and - C/I (2 octets) - Carrier-to-Interference ratio (big endian). == Coding of MTS: Modulation and Training Sequence info 3GPP TS 45.002 version 15.1.0 defines several modulation types, and a few sets of training sequences for each type. The most common are GMSK and 8-PSK (which is used in EDGE). +-----------------+---------------------------------------+ | 7 6 5 4 3 2 1 0 | bit numbers (value range) | +-----------------+---------------------------------------+ | . . . . . X X X | Training Sequence Code (0..7) | +-----------------+---------------------------------------+ | . X X X X . . . | Modulation, TS set number (see below) | +-----------------+---------------------------------------+ | X . . . . . . . | IDLE / nope frame indication (0 or 1) | +-----------------+---------------------------------------+ The bit number 7 (MSB) is set to high when either nothing has been detected, or during IDLE frames, so we can deliver noise levels, and avoid clock gaps on the L1 side. Other bits are ignored, and should be set to low (0) in this case. L16 shall be set to 0x00. == Coding of modulation and TS set number GMSK has 4 sets of training sequences (see tables 5.2.3a-d), while 8-PSK (see tables 5.2.3f-g) and the others have 2 sets. Access and Synchronization bursts also have several synch. sequences. +-----------------+---------------------------------------+ | 7 6 5 4 3 2 1 0 | bit numbers (value range) | +-----------------+---------------------------------------+ | . 0 0 X X . . . | GMSK, 4 TS sets (0..3) | +-----------------+---------------------------------------+ | . 0 1 0 X . . . | 8-PSK, 2 TS sets (0..1) | +-----------------+---------------------------------------+ | . 0 1 1 X . . . | AQPSK, 2 TS sets (0..1) | +-----------------+---------------------------------------+ | . 1 0 0 X . . . | 16QAM, 2 TS sets (0..1) | +-----------------+---------------------------------------+ | . 1 0 1 X . . . | 32QAM, 2 TS sets (0..1) | +-----------------+---------------------------------------+ | . 1 1 1 X . . . | RESERVED (0) | +-----------------+---------------------------------------+ == C/I: Carrier-to-Interference ratio The C/I value is computed from the training sequence of each burst, where we can compare the "ideal" training sequence with the actual training sequence, and then express that difference in centiBels. == Limitations - The only supported modulation types are GMSK and 8-PSK. Messages with other modulation types will be rejected. - IDLE / NOPE indications are not (yet) supported. - The logical channel handlers do not (yet) handle optional fields, such as TSC and C/I. This will be implemented in the follow-up changes. Change-Id: If61c71d20d590bf07bfd019afb33000a0b6135bd Related: OS#4006 --- M include/osmo-bts/scheduler.h M src/osmo-bts-trx/trx_if.c 2 files changed, 148 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/93/14593/1 diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 695700d..4b2b5bc 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -227,14 +227,28 @@ bool trx_sched_is_sacch_fn(struct gsm_bts_trx_ts *ts, uint32_t fn, bool uplink); extern const struct trx_sched_multiframe trx_sched_multiframes[]; +#define TRX_BI_F_NOPE_IND (1 << 0) +#define TRX_BI_F_MOD_TYPE (1 << 1) +#define TRX_BI_F_TS_INFO (1 << 2) +#define TRX_BI_F_CI_CB (1 << 3) + /*! UL burst indication with the corresponding meta info */ struct trx_ul_burst_ind { + /* Field presence bitmask (see TRX_BI_F_*) */ + uint32_t flags; + /* Mandatory fields */ uint32_t fn; /*!< TDMA frame number */ uint8_t tn; /*!< TDMA time-slot number */ int16_t toa256; /*!< Timing of Arrival in units of 1/256 of symbol */ int8_t rssi; /*!< Received Signal Strength Indication */ + /* Optional fields (defined by flags) */ + enum trx_burst_type bt; /*!< Modulation type */ + uint8_t tsc_set; /*!< Training Sequence Set */ + uint8_t tsc; /*!< Training Sequence Code */ + int16_t ci_cb; /*!< Carrier-to-Interference ratio (in centiBels) */ + /* Burst soft-bits */ size_t burst_len; sbit_t *burst; diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index e4abc8a..34152e4 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -595,6 +595,8 @@ #define TRX_CHDR_LEN (1 + 4) /* Uplink v0 header length: 1 RSSI + 2 ToA256 */ #define TRX_UL_V0HDR_LEN (TRX_CHDR_LEN + 1 + 2) +/* Uplink v1 header length: + 1 MTS + 2 C/I */ +#define TRX_UL_V1HDR_LEN (TRX_UL_V0HDR_LEN + 1 + 2) /* TRXD header dissector for version 0x00 */ static int trx_data_handle_v0(struct trx_l1h *l1h, @@ -623,6 +625,64 @@ return TRX_UL_V0HDR_LEN; } +/* TRXD header dissector for version 0x01 */ +static int trx_data_handle_v1(struct trx_l1h *l1h, + struct trx_ul_burst_ind *bi, + const uint8_t *buf, size_t buf_len) +{ + uint8_t mts; + int rc; + + /* Make sure we have enough data */ + if (buf_len < TRX_UL_V1HDR_LEN) { + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, + "Short read on TRXD, missing version 1 header " + "(len=%zu vs expected %d)\n", buf_len, TRX_UL_V1HDR_LEN); + return -EIO; + } + + /* Parse v0 specific part */ + rc = trx_data_handle_v0(l1h, bi, buf, buf_len); + if (rc < 0) + return rc; + + /* Move closer to the v1 specific part */ + buf_len -= rc; + buf += rc; + + /* IDLE / NOPE frame indication */ + if (buf[0] & (1 << 7)) { + bi->flags |= TRX_BI_F_NOPE_IND; + return TRX_UL_V1HDR_LEN; + } + + /* Modulation info and TSC set */ + mts = (buf[0] >> 3) & 0b1111; + if ((mts & 0b1100) == 0x00) { + bi->bt = TRX_BURST_GMSK; + bi->tsc_set = mts & 0b11; + bi->flags |= TRX_BI_F_MOD_TYPE; + } else if ((mts & 0b0100) == 0b0100) { + bi->bt = TRX_BURST_8PSK; + bi->tsc_set = mts & 0b1; + bi->flags |= TRX_BI_F_MOD_TYPE; + } else { + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, + "Indicated modulation 0x%02x is not supported\n", mts & 0b1110); + return -ENOTSUP; + } + + /* Training Sequence Code */ + bi->tsc = buf[0] & 0b111; + bi->flags |= TRX_BI_F_TS_INFO; + + /* C/I: Carrier-to-Interference ratio (in centiBels) */ + bi->ci_cb = (int16_t) osmo_load16be(buf + 1); + bi->flags |= TRX_BI_F_CI_CB; + + return TRX_UL_V1HDR_LEN; +} + /* Parse TRXD message from transceiver, compose an UL burst indication. * * This message contains a demodulated Uplink burst with fixed-size @@ -663,12 +723,72 @@ * | RSSI | ToA | soft-bits (254..0) | * +------+-----+--------------------+ * + * == Version 0x01 + * + * +------+-----+-----+-----+--------------------+ + * | RSSI | ToA | MTS | C/I | soft-bits (254..0) | + * +------+-----+-----+-----+--------------------+ + * * where: * * - RSSI (1 octet) - Received Signal Strength Indication * encoded without the negative sign. * - ToA (2 octets) - Timing of Arrival in units of 1/256 * of symbol (big endian). + * - MTS (1 octet) - Modulation and Training Sequence info. + * - C/I (2 octets) - Carrier-to-Interference ratio (big endian). + * + * == Coding of MTS: Modulation and Training Sequence info + * + * 3GPP TS 45.002 version 15.1.0 defines several modulation types, + * and a few sets of training sequences for each type. The most + * common are GMSK and 8-PSK (which is used in EDGE). + * + * +-----------------+---------------------------------------+ + * | 7 6 5 4 3 2 1 0 | bit numbers (value range) | + * +-----------------+---------------------------------------+ + * | . . . . . X X X | Training Sequence Code (0..7) | + * +-----------------+---------------------------------------+ + * | . X X X X . . . | Modulation, TS set number (see below) | + * +-----------------+---------------------------------------+ + * | X . . . . . . . | IDLE / nope frame indication (0 or 1) | + * +-----------------+---------------------------------------+ + * + * The bit number 7 (MSB) is set to high when either nothing has been + * detected, or during IDLE frames, so we can deliver noise levels, + * and avoid clock gaps on the L1 side. Other bits are ignored, + * and should be set to low (0) in this case. L16 shall be set to 0x00. + * + * == Coding of modulation and TS set number + * + * GMSK has 4 sets of training sequences (see tables 5.2.3a-d), + * while 8-PSK (see tables 5.2.3f-g) and the others have 2 sets. + * Access and Synchronization bursts also have several synch. + * sequences. + * + * +-----------------+---------------------------------------+ + * | 7 6 5 4 3 2 1 0 | bit numbers (value range) | + * +-----------------+---------------------------------------+ + * | . 0 0 X X . . . | GMSK, 4 TS sets (0..3) | + * +-----------------+---------------------------------------+ + * | . 0 1 0 X . . . | 8-PSK, 2 TS sets (0..1) | + * +-----------------+---------------------------------------+ + * | . 0 1 1 X . . . | AQPSK, 2 TS sets (0..1) | + * +-----------------+---------------------------------------+ + * | . 1 0 0 X . . . | 16QAM, 2 TS sets (0..1) | + * +-----------------+---------------------------------------+ + * | . 1 0 1 X . . . | 32QAM, 2 TS sets (0..1) | + * +-----------------+---------------------------------------+ + * | . 1 1 1 X . . . | RESERVED (0) | + * +-----------------+---------------------------------------+ + * + * NOTE: we only support GMSK and 8-PSK. + * + * == C/I: Carrier-to-Interference ratio + * + * The C/I value can be computed from the training sequence of each + * burst, where we can compare the "ideal" training sequence with + * the actual training sequence and then express that in centiBels. * * == Coding of the burst bits * @@ -699,6 +819,9 @@ return buf_len; } + /* Pre-clean (initialize) presence flags */ + bi.flags = 0x00; + /* Parse the header depending on its version */ hdr_ver = buf[0] >> 4; switch (hdr_ver) { @@ -706,6 +829,9 @@ /* Legacy protocol has no version indicator */ hdr_len = trx_data_handle_v0(l1h, &bi, buf, buf_len); break; + case 0x01: + hdr_len = trx_data_handle_v1(l1h, &bi, buf, buf_len); + break; default: LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, "TRXD header version %u is not supported\n", hdr_ver); @@ -731,6 +857,14 @@ case GSM_BURST_LEN: break; + /* Since version 0x01, burst can be omitted */ + case 0x00: + if (hdr_ver >= 0x01 && (bi.flags & TRX_BI_F_NOPE_IND)) { + LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, + "IDLE / NOPE indications are not (yet) supported\n"); + return -ENOTSUP; + } + /* fall-through */ default: LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, "Rx TRXD message with odd burst length %zu\n", buf_len); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If61c71d20d590bf07bfd019afb33000a0b6135bd Gerrit-Change-Number: 14593 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 26 08:33:12 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 08:33:12 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14591 ) Change subject: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/#/c/14591/1/src/osmo-bts-trx/trx_if.c File src/osmo-bts-trx/trx_if.c: https://gerrit.osmocom.org/#/c/14591/1/src/osmo-bts-trx/trx_if.c at 43 PS1, Line 43: #include I think you should include #include instead. https://gerrit.osmocom.org/#/c/14591/1/src/osmo-bts-trx/trx_if.c at 617 PS1, Line 617: fn = osmo_load32be(buf + 1); Can we use array offsets instead of mixing them with pointer arithmetic? fn = osmo_load32be(&buf[1]); https://gerrit.osmocom.org/#/c/14591/1/src/osmo-bts-trx/trx_if.c at 619 PS1, Line 619: toa256 = (int16_t) osmo_load16be(buf + 6); toa256 = (int16_t) osmo_load16be(&buf[6]); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iec0d86f9be7243578ddc1ab322fc313cb5ac5d0b Gerrit-Change-Number: 14591 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 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 Wed Jun 26 09:08:37 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Jun 2019 09:08:37 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14591 ) Change subject: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/14591/1/src/osmo-bts-trx/trx_if.c File src/osmo-bts-trx/trx_if.c: https://gerrit.osmocom.org/#/c/14591/1/src/osmo-bts-trx/trx_if.c at 43 PS1, Line 43: #include > I think you should include #include instead. ACK, thanks! https://gerrit.osmocom.org/#/c/14591/1/src/osmo-bts-trx/trx_if.c at 617 PS1, Line 617: fn = osmo_load32be(buf + 1); > Can we use array offsets instead of mixing them with pointer arithmetic? [?] Heh, I expected your comment as you're always against using pointer arithmetic ;) What's wrong with pointer arithmetic? IMHO, this looks quite clean: load 32-bit integer skipping one byte. I don't see anything against that in our coding standards [1]. Neither I see any benefits besides personal preferences. [1] https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iec0d86f9be7243578ddc1ab322fc313cb5ac5d0b Gerrit-Change-Number: 14591 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 09:08:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 10:00:17 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 10:00:17 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14591 ) Change subject: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14591/1/src/osmo-bts-trx/trx_if.c File src/osmo-bts-trx/trx_if.c: https://gerrit.osmocom.org/#/c/14591/1/src/osmo-bts-trx/trx_if.c at 617 PS1, Line 617: fn = osmo_load32be(buf + 1); > Heh, I expected your comment as you're always against using pointer arithmetic ;) [?] You missed the important part: "instead of mixing them". So imho either use array indices everywhere or pointer arithmetic everywhere, but don't go using one and then on next line using another, that makes code harder to read/understand. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iec0d86f9be7243578ddc1ab322fc313cb5ac5d0b Gerrit-Change-Number: 14591 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 10:00:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 10:23:31 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 10:23:31 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Support uppercase header parameters 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/+/14590 to look at the new patch set (#2). Change subject: mgw: Support uppercase header parameters ...................................................................... mgw: Support uppercase header parameters MGCP RFC3435 (https://tools.ietf.org/html/rfc3435) states almost all text has to be handled in a case-insensitive way, except SDP parts. Related: OS#4001 Change-Id: I48252415f9d0cd985ad097f334aa4c1665f52511 --- M src/libosmo-mgcp/mgcp_protocol.c M tests/mgcp/mgcp_test.c M tests/mgcp/mgcp_test.ok 3 files changed, 18 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/90/14590/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I48252415f9d0cd985ad097f334aa4c1665f52511 Gerrit-Change-Number: 14590 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 26 10:23:31 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 10:23:31 +0000 Subject: Change in ...osmo-mgw[master]: mgcp-cli: Support uppercase header parameters Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14594 Change subject: mgcp-cli: Support uppercase header parameters ...................................................................... mgcp-cli: Support uppercase header parameters MGCP RFC3435 (https://tools.ietf.org/html/rfc3435) states almost all text has to be handled in a case-insensitive way, except SDP parts. Related: OS#4001 Change-Id: I4f7b07b77c2946e9cd6f0eeca00011bd905126dd --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/94/14594/1 diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index f2204e1..fd188c3 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -35,6 +35,7 @@ #include #include #include +#include #ifndef OSMUX_CID_MAX #define OSMUX_CID_MAX 255 /* FIXME: use OSMUX_CID_MAX from libosmo-netif? */ @@ -573,7 +574,7 @@ *data_end = '\0'; for_each_non_empty_line(line, data_ptr) { - switch (line[0]) { + switch (toupper(line[0])) { case 'Z': rc = mgcp_parse_head_param(r->head.endpoint, sizeof(r->head.endpoint), @@ -603,7 +604,6 @@ goto exit; break; case 'X': - case 'x': if (strncasecmp("Osmux: ", line + 2, strlen("Osmux: ")) == 0) { rc = mgcp_parse_osmux_cid(line); if (rc < 0) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I4f7b07b77c2946e9cd6f0eeca00011bd905126dd Gerrit-Change-Number: 14594 Gerrit-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 26 10:23:32 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 10:23:32 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Support receiving uppercase connection mode Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14595 Change subject: mgw: Support receiving uppercase connection mode ...................................................................... mgw: Support receiving uppercase connection mode Change-Id: I4da93dfc69b5585a197a7e201a1afb72c2f97030 --- M src/libosmo-mgcp/mgcp_msg.c M tests/mgcp/mgcp_test.c M tests/mgcp/mgcp_test.ok 3 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/95/14595/1 diff --git a/src/libosmo-mgcp/mgcp_msg.c b/src/libosmo-mgcp/mgcp_msg.c index 59e0e91..44589d1 100644 --- a/src/libosmo-mgcp/mgcp_msg.c +++ b/src/libosmo-mgcp/mgcp_msg.c @@ -91,13 +91,13 @@ if (!endp) return -1; - if (strcmp(mode, "recvonly") == 0) + if (strcasecmp(mode, "recvonly") == 0) conn->mode = MGCP_CONN_RECV_ONLY; - else if (strcmp(mode, "sendrecv") == 0) + else if (strcasecmp(mode, "sendrecv") == 0) conn->mode = MGCP_CONN_RECV_SEND; - else if (strcmp(mode, "sendonly") == 0) + else if (strcasecmp(mode, "sendonly") == 0) conn->mode = MGCP_CONN_SEND_ONLY; - else if (strcmp(mode, "loopback") == 0) + else if (strcasecmp(mode, "loopback") == 0) conn->mode = MGCP_CONN_LOOPBACK; else { LOGPCONN(conn, DLMGCP, LOGL_ERROR, diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index c67b9d5..5a14bdf 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -165,7 +165,7 @@ #define MDCX4_PT1 \ "MDCX 18983217 1 at mgw MGCP 1.0\r\n" \ - "M: sendrecv\r" \ + "M: SENDRECV\r" \ "C: 2\r\n" \ "I: %s\r\n" \ "L: p:20-40, a:AMR, nt:IN\r\n" \ diff --git a/tests/mgcp/mgcp_test.ok b/tests/mgcp/mgcp_test.ok index 08ea438..358a85c 100644 --- a/tests/mgcp/mgcp_test.ok +++ b/tests/mgcp/mgcp_test.ok @@ -125,7 +125,7 @@ creating message from statically defined input: ---------8<--------- MDCX 18983217 1 at mgw MGCP 1.0 -M: sendrecv C: 2 +M: SENDRECV C: 2 I: %s L: p:20-40, a:AMR, nt:IN -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I4da93dfc69b5585a197a7e201a1afb72c2f97030 Gerrit-Change-Number: 14595 Gerrit-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 26 10:55:41 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 10:55:41 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Support receiving lowercase LCO codec Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14596 Change subject: mgw: Support receiving lowercase LCO codec ...................................................................... mgw: Support receiving lowercase LCO codec Change-Id: I51dc1cdcbe2a5587769335fbecb5039ef22cae5d --- M src/libosmo-mgcp/mgcp_codec.c M src/libosmo-mgcp/mgcp_protocol.c M tests/mgcp/mgcp_test.c M tests/mgcp/mgcp_test.ok 4 files changed, 10 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/96/14596/1 diff --git a/src/libosmo-mgcp/mgcp_codec.c b/src/libosmo-mgcp/mgcp_codec.c index 8bf0564..8be4c3c 100644 --- a/src/libosmo-mgcp/mgcp_codec.c +++ b/src/libosmo-mgcp/mgcp_codec.c @@ -99,7 +99,7 @@ conn->end.codec = NULL; } -/* Set members of struct mgcp_rtp_codec, extrapolate in missing information */ +/* Set members of struct mgcp_rtp_codec, extrapolate in missing information. Param audio_name is expected in uppercase. */ static int codec_set(void *ctx, struct mgcp_rtp_codec *codec, int payload_type, const char *audio_name, unsigned int pt_offset, struct mgcp_codec_param *param) { @@ -239,7 +239,7 @@ * \param[out] codec configuration (caller provided memory). * \param[out] conn related rtp-connection. * \param[in] payload_type codec type id (e.g. 3 for GSM, -1 when undefined). - * \param[in] audio_name audio codec name (e.g. "GSM/8000/1"). + * \param[in] audio_name audio codec name, in uppercase (e.g. "GSM/8000/1"). * \param[in] param optional codec parameters (set to NULL when unused). * \returns 0 on success, -EINVAL on failure. */ int mgcp_codec_add(struct mgcp_conn_rtp *conn, int payload_type, const char *audio_name, struct mgcp_codec_param *param) diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 6473394..460bb7b 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -592,6 +592,7 @@ { char *lco_id; char codec[17]; + int len; if (!options) return 0; @@ -622,7 +623,11 @@ * codec only. */ if (sscanf(lco_id + 1, ":%16[^,]", codec) == 1) { talloc_free(lco->codec); - lco->codec = talloc_strdup(ctx, codec); + /* MGCP header is case insensive, and we'll need + codec in uppercase when using it later: */ + len = strlen(codec); + lco->codec = talloc_size(ctx, len + 1); + osmo_str_toupper_buf(lco->codec, len + 1, codec); } break; default: diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 5a14bdf..39fe5d0 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -214,7 +214,7 @@ "m: sendrecv\r" \ "c: 2\r\n" \ "i: %s\r\n" \ - "l: A:AMR, NT:IN\r\n" \ + "l: A:amr, NT:IN\r\n" \ "\n" \ "v=0\r\n" \ "o=- %s 23 IN IP4 0.0.0.0\r\n" \ diff --git a/tests/mgcp/mgcp_test.ok b/tests/mgcp/mgcp_test.ok index 358a85c..6f4da10 100644 --- a/tests/mgcp/mgcp_test.ok +++ b/tests/mgcp/mgcp_test.ok @@ -199,7 +199,7 @@ MDCX 18983220 1 at mgw MGCP 1.0 m: sendrecv c: 2 i: %s -l: A:AMR, NT:IN +l: A:amr, NT:IN v=0 o=- %s 23 IN IP4 0.0.0.0 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I51dc1cdcbe2a5587769335fbecb5039ef22cae5d Gerrit-Change-Number: 14596 Gerrit-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 26 11:03:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 11:03:16 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Support receiving uppercase connection 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-mgw/+/14595 to look at the new patch set (#2). Change subject: mgw: Support receiving uppercase connection mode ...................................................................... mgw: Support receiving uppercase connection mode MGCP RFC3435 (https://tools.ietf.org/html/rfc3435) states almost all text has to be handled in a case-insensitive way, except SDP parts. Related: OS#4001 Change-Id: I4da93dfc69b5585a197a7e201a1afb72c2f97030 --- M src/libosmo-mgcp/mgcp_msg.c M tests/mgcp/mgcp_test.c M tests/mgcp/mgcp_test.ok 3 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/95/14595/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I4da93dfc69b5585a197a7e201a1afb72c2f97030 Gerrit-Change-Number: 14595 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 26 11:03:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 11:03:16 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Support receiving lowercase LCO codec 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/+/14596 to look at the new patch set (#2). Change subject: mgw: Support receiving lowercase LCO codec ...................................................................... mgw: Support receiving lowercase LCO codec MGCP RFC3435 (https://tools.ietf.org/html/rfc3435) states almost all text has to be handled in a case-insensitive way, except SDP parts. Related: OS#4001 Change-Id: I51dc1cdcbe2a5587769335fbecb5039ef22cae5d --- M src/libosmo-mgcp/mgcp_codec.c M src/libosmo-mgcp/mgcp_protocol.c M tests/mgcp/mgcp_test.c M tests/mgcp/mgcp_test.ok 4 files changed, 10 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/96/14596/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I51dc1cdcbe2a5587769335fbecb5039ef22cae5d Gerrit-Change-Number: 14596 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 26 11:03:20 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 11:03:20 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Make check of duplicated LCO fields case insensitive Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14597 Change subject: mgw: Make check of duplicated LCO fields case insensitive ...................................................................... mgw: Make check of duplicated LCO fields case insensitive Otherwise it would not catch a duplicate if first the param is introduced in upper case and later in lower case, or the other way around. MGCP RFC3435 (https://tools.ietf.org/html/rfc3435) states almost all text has to be handled in a case-insensitive way, except SDP parts. Related: OS#4001 Change-Id: I254bfa3a2d2562441ca3a576cc8e1e7967d9c495 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/97/14597/1 diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 460bb7b..b4ebe30 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -559,7 +559,7 @@ * before. If yes, we must bail, an LCO must only appear once * in the LCO string */ for (i = 0; i < lco_seen_n; i++) { - if (strcmp(lco_seen[i], lco_identifier) == 0) + if (strcasecmp(lco_seen[i], lco_identifier) == 0) goto error; } lco_seen[lco_seen_n] = lco_identifier; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I254bfa3a2d2562441ca3a576cc8e1e7967d9c495 Gerrit-Change-Number: 14597 Gerrit-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 26 11:11:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 11:11:39 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Allow receiving lowercase MGCP header keyword Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14598 Change subject: mgw: Allow receiving lowercase MGCP header keyword ...................................................................... mgw: Allow receiving lowercase MGCP header keyword MGCP RFC3435 (https://tools.ietf.org/html/rfc3435) states almost all text has to be handled in a case-insensitive way, except SDP parts. Related: OS#4001 Change-Id: I7d1e55faddafa3c3093d38513d4a434ecf5ea5bd --- M src/libosmo-mgcp/mgcp_msg.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/98/14598/1 diff --git a/src/libosmo-mgcp/mgcp_msg.c b/src/libosmo-mgcp/mgcp_msg.c index 44589d1..3e95ed1 100644 --- a/src/libosmo-mgcp/mgcp_msg.c +++ b/src/libosmo-mgcp/mgcp_msg.c @@ -325,7 +325,7 @@ } break; case 2: - if (strcmp("MGCP", elem)) { + if (strcasecmp("MGCP", elem)) { LOGP(DLMGCP, LOGL_ERROR, "MGCP header parsing error\n"); return -510; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7d1e55faddafa3c3093d38513d4a434ecf5ea5bd Gerrit-Change-Number: 14598 Gerrit-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 26 11:11:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 11:11:39 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Allow receiving lowercase X-Osmo-Ign Callid field Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14599 Change subject: mgw: Allow receiving lowercase X-Osmo-Ign Callid field ...................................................................... mgw: Allow receiving lowercase X-Osmo-Ign Callid field MGCP RFC3435 (https://tools.ietf.org/html/rfc3435) states almost all text has to be handled in a case-insensitive way, except SDP parts. Related: OS#4001 Change-Id: Ifc1b3bfe6ff6922df478cea89bbbb291b5fa5706 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/99/14599/1 diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index b4ebe30..180b1ce 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -784,7 +784,7 @@ if (!token) break; - if (!strcmp(token, "C")) + if (!strcasecmp(token, "C")) endp->x_osmo_ign |= MGCP_X_OSMO_IGN_CALLID; else LOGPENDP(endp, DLMGCP, LOGL_ERROR, "received unknown X-Osmo-IGN item '%s'\n", token); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc1b3bfe6ff6922df478cea89bbbb291b5fa5706 Gerrit-Change-Number: 14599 Gerrit-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 26 11:11:40 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 11:11:40 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Allow receiving uppercase noanswer keyword Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14600 Change subject: mgw: Allow receiving uppercase noanswer keyword ...................................................................... mgw: Allow receiving uppercase noanswer keyword MGCP RFC3435 (https://tools.ietf.org/html/rfc3435) states almost all text has to be handled in a case-insensitive way, except SDP parts. Related: OS#4001 Change-Id: I637cb20f0af4de33ebf6589b1aff260d57d03e7b --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/00/14600/1 diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 180b1ce..73cd6d6 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -1115,7 +1115,7 @@ mode = (const char *)line + 3; break; case 'Z': - silent = strcmp("noanswer", line + 3) == 0; + silent = strcasecmp("noanswer", line + 3) == 0; break; case 'X': if (strncasecmp("Osmux: ", line + 2, strlen("Osmux: ")) == 0) { @@ -1332,7 +1332,7 @@ } break; case 'Z': - silent = strcmp("noanswer", line + 3) == 0; + silent = strcasecmp("noanswer", line + 3) == 0; break; default: LOGPENDP(endp, DLMGCP, LOGL_NOTICE, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I637cb20f0af4de33ebf6589b1aff260d57d03e7b Gerrit-Change-Number: 14600 Gerrit-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 26 11:16:54 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Jun 2019 11:16:54 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14591 ) Change subject: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/14591/1/src/osmo-bts-trx/trx_if.c File src/osmo-bts-trx/trx_if.c: https://gerrit.osmocom.org/#/c/14591/1/src/osmo-bts-trx/trx_if.c at 617 PS1, Line 617: fn = osmo_load32be(buf + 1); > You missed the important part: "instead of mixing them". [...] In case of buf[0], I am accessing the first octet of the buffer. In case of (buf + 1) I am passing a pointer to osmo_load32be(), skipping one octet. There is no mix IMHO. I would agree with you if I were doing *(buf + 5) e.g. for RSSI. https://gerrit.osmocom.org/#/c/14591/1/src/osmo-bts-trx/trx_if.c at 619 PS1, Line 619: toa256 = (int16_t) osmo_load16be(buf + 6); > toa256 = (int16_t) osmo_load16be(&buf[6]); Same here, I am passing pointer to a buffer, not a value by pointer. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iec0d86f9be7243578ddc1ab322fc313cb5ac5d0b Gerrit-Change-Number: 14591 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 11:16:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 12:14:53 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 26 Jun 2019 12:14:53 +0000 Subject: Change in ...osmo-mgw[master]: vty: add "no conn-timeout" Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14601 Change subject: vty: add "no conn-timeout" ...................................................................... vty: add "no conn-timeout" VTY command to disable conn-timeout again, after it has been enabled. "conn-timeout" was introduced in [1]. [1] Change-Id I18886052e090466f73829133c24f011806cc1fe0. Change-Id: I7dee7dafaaf4bb93fd692ea06b52b9e012beac6d --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/01/14601/1 diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 06aa7c8..944d936 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -1389,6 +1389,15 @@ return CMD_SUCCESS; } +DEFUN(cfg_mgcp_no_conn_timeout, + cfg_mgcp_no_conn_timeout_cmd, + "no conn-timeout", + NO_STR "Disable inactive connections (CIs) timeout\n") +{ + g_cfg->conn_timeout = 0; + return CMD_SUCCESS; +} + int mgcp_vty_init(void) { install_element_ve(&show_mgcp_cmd); @@ -1456,6 +1465,7 @@ install_element(MGCP_NODE, &cfg_mgcp_no_allow_transcoding_cmd); install_element(MGCP_NODE, &cfg_mgcp_domain_cmd); install_element(MGCP_NODE, &cfg_mgcp_conn_timeout_cmd); + install_element(MGCP_NODE, &cfg_mgcp_no_conn_timeout_cmd); install_element(MGCP_NODE, &cfg_mgcp_trunk_cmd); install_node(&trunk_node, config_write_trunk); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7dee7dafaaf4bb93fd692ea06b52b9e012beac6d Gerrit-Change-Number: 14601 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 26 12:14:53 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 26 Jun 2019 12:14:53 +0000 Subject: Change in ...osmo-mgw[master]: vty: update desc of "conn-timeout" Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14602 Change subject: vty: update desc of "conn-timeout" ...................................................................... vty: update desc of "conn-timeout" It can be used together with LCLS, just make sure to also enable keep alive packets. Related: OS#3783 Change-Id: Ib4d19104d558a26a444a80fb36f4b7b33bc5cc59 --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/02/14602/1 diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 944d936..87bb1b9 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -1381,8 +1381,8 @@ cfg_mgcp_conn_timeout_cmd, "conn-timeout <1-65534>", "Set a time after which inactive connections (CIs) are closed. This can be used to work around interoperability" - " problems causing connections to stay open forever, and slowly exhausting all available ports. Do not enable" - " when LCLS is used (connections in LCLS state appear to be inactive)!\n" + " problems causing connections to stay open forever, and slowly exhausting all available ports. Enable keep" + " alive packages in MGW clients when using this option together with LCLS (OsmoBSC, OsmoMSC: 'rtp keep-alive')!\n" "Timeout value (sec.)\n") { g_cfg->conn_timeout = strtoul(argv[0], NULL, 10); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib4d19104d558a26a444a80fb36f4b7b33bc5cc59 Gerrit-Change-Number: 14602 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 26 12:15:40 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 26 Jun 2019 12:15:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: mgw: add osmo-mgw.cfg Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14603 Change subject: mgw: add osmo-mgw.cfg ...................................................................... mgw: add osmo-mgw.cfg Change-Id: I3dd498902db4ea0233f43099ec5b6b4292714908 --- A mgw/osmo-mgw.cfg 1 file changed, 37 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/03/14603/1 diff --git a/mgw/osmo-mgw.cfg b/mgw/osmo-mgw.cfg new file mode 100644 index 0000000..b27a50c --- /dev/null +++ b/mgw/osmo-mgw.cfg @@ -0,0 +1,37 @@ +! +! OsmoMGW (1.2.0.17-52e3) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 1 + logging print extended-timestamp 1 + logging level set-all notice + logging level lmgcp debug +! +stats interval 5 +! +line vty + no login + bind 127.0.0.1 +! +mgcp + bind ip 127.0.0.1 + bind port 2427 + rtp port-range 4002 16000 + rtp bind-ip 127.0.0.1 + rtp ip-probing + rtp ip-dscp 184 + no rtp keep-alive + no rtcp-omit + no rtp-patch + sdp audio-payload number 98 + sdp audio-payload name GSM + sdp audio-payload send-ptime + sdp audio-payload send-name + loop 0 + number endpoints 31 + allow-transcoding + osmux off -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3dd498902db4ea0233f43099ec5b6b4292714908 Gerrit-Change-Number: 14603 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 26 12:15:40 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 26 Jun 2019 12:15:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RTP_Emulation: allow expecting connection refused Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14604 Change subject: RTP_Emulation: allow expecting connection refused ...................................................................... RTP_Emulation: allow expecting connection refused Prepare for upcoming connection timeout test, where we want to run into connection refused. Change-Id: Id6365bc59e19368a87b951367742a0b7cc5e9574 --- M library/RTP_Emulation.ttcn 1 file changed, 43 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/04/14604/1 diff --git a/library/RTP_Emulation.ttcn b/library/RTP_Emulation.ttcn index 31bf68a..6539da7 100644 --- a/library/RTP_Emulation.ttcn +++ b/library/RTP_Emulation.ttcn @@ -105,6 +105,9 @@ var uint32_t g_rx_last_ts; var IuUP_Entity g_iuup_ent; // := valueof(t_IuUP_Entity(1)); + + var boolean g_conn_refuse_expect := false; + var boolean g_conn_refuse_received := false; } type enumerated RtpemMode { @@ -175,9 +178,12 @@ signature RTPEM_mode(in RtpemMode mode); signature RTPEM_configure(in RtpemConfig cfg); signature RTPEM_stats_get(out RtpemStats stats, in boolean rtcp); +signature RTPEM_conn_refuse_expect(in boolean expect); +signature RTPEM_conn_refuse_received(out boolean received); type port RTPEM_CTRL_PT procedure { - inout RTPEM_bind, RTPEM_connect, RTPEM_mode, RTPEM_configure, RTPEM_stats_get; + inout RTPEM_bind, RTPEM_connect, RTPEM_mode, RTPEM_configure, RTPEM_stats_get, RTPEM_conn_refuse_expect, + RTPEM_conn_refuse_received; } with { extension "internal" }; function f_rtpem_bind(RTPEM_CTRL_PT pt, in HostName local_host, inout PortNumber local_port) { @@ -299,6 +305,21 @@ } } +function f_rtpem_conn_refuse_expect(RTPEM_CTRL_PT pt) { + pt.call(RTPEM_conn_refuse_expect:{true}) { + [] pt.getreply(RTPEM_conn_refuse_expect:{true}) {}; + } +} + +function f_rtpem_conn_refuse_verify(RTPEM_CTRL_PT pt) { + pt.call(RTPEM_conn_refuse_received:{?}) { + [] pt.getreply(RTPEM_conn_refuse_received:{true}) {}; + [] pt.getreply(RTPEM_conn_refuse_received:{false}) { + setverdict(fail, "Expected to receive connection refused"); + }; + } +} + template PDU_RTP ts_RTP(BIT32_BO_LAST ssrc, INT7b pt, LIN2_BO_LAST seq, uint32_t ts, octetstring payload, BIT1 marker := '0'B) := { version := 2, @@ -348,6 +369,11 @@ tr_rtp.msg := { rtp := ? }; tr_rtcp.msg := { rtcp := ? }; + var template ASP_Event tr_conn_refuse := {result := { errorCode := ?, + connId := ?, + os_error_code := ?, + os_error_text := "Connection refused"}}; + g_iuup_ent := valueof(t_IuUP_Entity(g_cfg.iuup_tx_init)); while (true) { @@ -448,7 +474,12 @@ CTRL.reply(RTPEM_stats_get:{g_stats_rtp, is_rtcp}); } } - + [] CTRL.getcall(RTPEM_conn_refuse_expect:{?}) -> param(g_conn_refuse_expect) { + CTRL.reply(RTPEM_conn_refuse_expect:{g_conn_refuse_expect}); + } + [] CTRL.getcall(RTPEM_conn_refuse_received:{?}) { + CTRL.reply(RTPEM_conn_refuse_received:{g_conn_refuse_received}); + } /* simply ignore any RTTP/RTP if receiver not enabled */ @@ -491,6 +522,16 @@ lengthof(g_cfg.tx_fixed_payload); } + /* connection refused */ + [g_conn_refuse_expect] RTP.receive(tr_conn_refuse) { + log("Connection refused (expected)"); + g_conn_refuse_received := true; + } + [not g_conn_refuse_expect] RTP.receive(tr_conn_refuse) { + setverdict(fail, "Connection refused (unexpected)"); + mtc.stop; + } + /* fail on any unexpected messages */ [] RTP.receive { setverdict(fail, "Received unexpected type from RTP"); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id6365bc59e19368a87b951367742a0b7cc5e9574 Gerrit-Change-Number: 14604 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 26 12:15:40 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 26 Jun 2019 12:15:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: mgw: add connection timeout test Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14605 Change subject: mgw: add connection timeout test ...................................................................... mgw: add connection timeout test Change-Id: I020b682b347045818fd28de240daa0aa33fe43b4 --- M mgw/MGCP_Test.ttcn 1 file changed, 41 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/05/14605/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 31c2a1d..46c7a81 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -2066,6 +2066,45 @@ /* TODO: AUCX (various) */ /* TODO: invalid verb (various) */ + + testcase TC_conn_timeout() runs on dummy_CT { + var RtpFlowData flow; + var MgcpEndpoint ep := c_mgw_ep_rtpbridge & "1@" & c_mgw_domain; + var MgcpCallId call_id := '1225'H; + var MGCP_RecvFrom mrf; + + f_init(ep); + log("Setting conn-timeout to 1s"); + f_vty_config(MGWVTY, "mgcp", "conn-timeout 1"); + + log("Sending UDP data for 1.5s"); + flow := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 111, "GSM-HR-08/8000/1")); + flow.em.portnr := 10000; + f_flow_create(RTPEM[0], ep, call_id, "loopback", flow); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); + f_sleep(1.5); + + log("Stopping for 0.5s and resuming"); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_NONE); + f_sleep(0.5); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); + f_sleep(0.1); + + log("Stopping for 1.5s, expecting to run into timeout"); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_NONE); + f_sleep(1.5); + + log("Resuming should fail now"); + f_rtpem_conn_refuse_expect(RTPEM[0]); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); + f_sleep(0.2); + f_rtpem_conn_refuse_verify(RTPEM[0]); + + f_vty_config(MGWVTY, "mgcp", "no conn-timeout"); + + setverdict(pass); + } + control { execute(TC_selftest()); execute(TC_crcx()); @@ -2119,5 +2158,7 @@ execute(TC_amr_oa_bwe_rtp_conversion()); execute(TC_amr_oa_oa_rtp_conversion()); execute(TC_amr_bwe_bwe_rtp_conversion()); + + execute(TC_conn_timeout()); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I020b682b347045818fd28de240daa0aa33fe43b4 Gerrit-Change-Number: 14605 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 26 12:23:18 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 26 Jun 2019 12:23:18 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: mgw: add connection timeout test In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14605 to look at the new patch set (#2). Change subject: mgw: add connection timeout test ...................................................................... mgw: add connection timeout test Change-Id: I020b682b347045818fd28de240daa0aa33fe43b4 --- M mgw/MGCP_Test.ttcn 1 file changed, 41 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/05/14605/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I020b682b347045818fd28de240daa0aa33fe43b4 Gerrit-Change-Number: 14605 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 26 12:24:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 12:24:25 +0000 Subject: Change in ...osmo-mgw[master]: vty: add "no conn-timeout" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14601 ) Change subject: vty: add "no conn-timeout" ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14601/1/src/libosmo-mgcp/mgcp_vty.c File src/libosmo-mgcp/mgcp_vty.c: https://gerrit.osmocom.org/#/c/14601/1/src/libosmo-mgcp/mgcp_vty.c at 1392 PS1, Line 1392: DEFUN(cfg_mgcp_no_conn_timeout, In my opinion in this case I think it makes sense to simply extend the exiting "conn-timeout" above to support receiving 0, and documenting there that 0 is used to disable it. Using 0 to disable a timeout is quite a usual thing and expected by users imho. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7dee7dafaaf4bb93fd692ea06b52b9e012beac6d Gerrit-Change-Number: 14601 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 12:24: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 26 12:30:29 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 12:30:29 +0000 Subject: Change in ...osmo-mgw[master]: vty: update desc of "conn-timeout" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14602 ) Change subject: vty: update desc of "conn-timeout" ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/14602/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14602/1//COMMIT_MSG at 10 PS1, Line 10: alive packets. Please extend the ration on WHY is this needed. https://gerrit.osmocom.org/#/c/14602/1/src/libosmo-mgcp/mgcp_vty.c File src/libosmo-mgcp/mgcp_vty.c: https://gerrit.osmocom.org/#/c/14602/1/src/libosmo-mgcp/mgcp_vty.c at 1385 PS1, Line 1385: " alive packages in MGW clients when using this option together with LCLS (OsmoBSC, OsmoMSC: 'rtp keep-alive')!\n" "Enable keep alive" -> "Enable keep-alive" -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib4d19104d558a26a444a80fb36f4b7b33bc5cc59 Gerrit-Change-Number: 14602 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 12:30: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 Wed Jun 26 12:35:34 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 12:35:34 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RTP_Emulation: allow expecting connection refused In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14604 ) Change subject: RTP_Emulation: allow expecting connection refused ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/#/c/14604/1/library/RTP_Emulation.ttcn File library/RTP_Emulation.ttcn: https://gerrit.osmocom.org/#/c/14604/1/library/RTP_Emulation.ttcn at 375 PS1, Line 375: os_error_text := "Connection refused"}}; Would be fat better matching by error code, not by text (thinking about locale stuff). -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id6365bc59e19368a87b951367742a0b7cc5e9574 Gerrit-Change-Number: 14604 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 12:35:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 12:36:40 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 12:36:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: mgw: add osmo-mgw.cfg In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14603 ) Change subject: mgw: add osmo-mgw.cfg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3dd498902db4ea0233f43099ec5b6b4292714908 Gerrit-Change-Number: 14603 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 12:36: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 26 12:39:29 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 12:39:29 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: mgw: add connection timeout test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14605 ) Change subject: mgw: add connection timeout test ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14605/2/mgw/MGCP_Test.ttcn File mgw/MGCP_Test.ttcn: https://gerrit.osmocom.org/#/c/14605/2/mgw/MGCP_Test.ttcn at 2103 PS2, Line 2103: f_vty_config(MGWVTY, "mgcp", "no conn-timeout"); See my previous comment about "conn-timeout 0". BTW, looks better to set "conn-timeout" to some integer variable on every test during f_init(). This way if test fails it doesn't affect other test behavior. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I020b682b347045818fd28de240daa0aa33fe43b4 Gerrit-Change-Number: 14605 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 12:39: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 Wed Jun 26 12:47:22 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 26 Jun 2019 12:47:22 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_trap2cgi.py: Don't recurse in ctrl_client() In-Reply-To: References: Message-ID: Hello msuraev, pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 to look at the new patch set (#3). Change subject: osmo_trap2cgi.py: Don't recurse in ctrl_client() ...................................................................... osmo_trap2cgi.py: Don't recurse in ctrl_client() Use a loop instead. Without it the script will eventually crash with a RecursionError. File "/usr/bin/osmo_trap2cgi.py", line 211, in conn_client await ctrl_client(proxy, reader, writer) File "/usr/bin/osmo_trap2cgi.py", line 202, in ctrl_client proxy.dispatch(wr, data) [...] File "/usr/bin/osmo_trap2cgi.py", line 202, in ctrl_client proxy.dispatch(wr, data) File "/usr/bin/osmo_trap2cgi.py", line 201, in ctrl_client [...] RecursionError: maximum recursion depth exceeded in comparison Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Related: SYS#4399 --- M scripts/osmo_trap2cgi.py 1 file changed, 18 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/python/osmo-python-tests refs/changes/45/14545/3 -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Gerrit-Change-Number: 14545 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: msuraev Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 12:48:08 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 26 Jun 2019 12:48:08 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_trap2cgi.py: Don't recurse in ctrl_client() In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 ) Change subject: osmo_trap2cgi.py: Don't recurse in ctrl_client() ...................................................................... Patch Set 3: Ok, bumped the version of the script -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Gerrit-Change-Number: 14545 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: msuraev Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 12:48:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 12:49:13 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 26 Jun 2019 12:49:13 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_trap2cgi.py: Don't recurse in ctrl_client() In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 ) Change subject: osmo_trap2cgi.py: Don't recurse in ctrl_client() ...................................................................... Patch Set 3: (3 comments) https://gerrit.osmocom.org/#/c/14545/1/scripts/osmo_trap2cgi.py File scripts/osmo_trap2cgi.py: https://gerrit.osmocom.org/#/c/14545/1/scripts/osmo_trap2cgi.py at 193 PS1, Line 193: await conn_client(proxy) > We need to break this recursion as well. Done https://gerrit.osmocom.org/#/c/14545/1/scripts/osmo_trap2cgi.py at 211 PS1, Line 211: await ctrl_client(proxy, reader, writer) > We're more or less in the same boat then. :-) [?] Done https://gerrit.osmocom.org/#/c/14545/1/scripts/osmo_trap2cgi.py at 215 PS1, Line 215: await conn_client(proxy) > Nothing special, the recursion variant seems easier to review/understand. Ok, thanks for the clarification. -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Gerrit-Change-Number: 14545 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: msuraev Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 12:49:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: msuraev Comment-In-Reply-To: pespin Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 12:50:08 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 12:50:08 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_trap2cgi.py: Don't recurse in ctrl_client() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 ) Change subject: osmo_trap2cgi.py: Don't recurse in ctrl_client() ...................................................................... Patch Set 3: Code-Review+2 Adding +2 based on previous comments from Max and my own review. -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Gerrit-Change-Number: 14545 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: msuraev Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 12:50:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 13:44:44 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 13:44:44 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: cosmetic: bsc: Document timer timing out in f_tc_ho_out_fail_no_ho_de... Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14606 Change subject: cosmetic: bsc: Document timer timing out in f_tc_ho_out_fail_no_ho_detect ...................................................................... cosmetic: bsc: Document timer timing out in f_tc_ho_out_fail_no_ho_detect Change-Id: I4d06fcff63d82f849da08f509b007cb19e809fb0 --- M bsc/BSC_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/06/14606/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index ec1be13..f9609ba 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3167,7 +3167,7 @@ } /* The MS never shows up on the remote BSS. Eventually the BSC times - * out and we run into 3GPP TS 48.008 3.1.5.3.3 "Abnormal Conditions": + * out (T8) and we run into 3GPP TS 48.008 3.1.5.3.3 "Abnormal Conditions": * RR should be released and Clear Request should go to the MSC. */ var MgcpCommand mgcp; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4d06fcff63d82f849da08f509b007cb19e809fb0 Gerrit-Change-Number: 14606 Gerrit-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 26 14:17:02 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 26 Jun 2019 14:17:02 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RTP_Emulation: allow expecting connection refused In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14604 to look at the new patch set (#2). Change subject: RTP_Emulation: allow expecting connection refused ...................................................................... RTP_Emulation: allow expecting connection refused Prepare for upcoming connection timeout test, where we want to run into connection refused. Change-Id: Id6365bc59e19368a87b951367742a0b7cc5e9574 --- M library/RTP_Emulation.ttcn 1 file changed, 43 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/04/14604/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id6365bc59e19368a87b951367742a0b7cc5e9574 Gerrit-Change-Number: 14604 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 14:17:02 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 26 Jun 2019 14:17:02 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: mgw: add connection timeout test In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14605 to look at the new patch set (#3). Change subject: mgw: add connection timeout test ...................................................................... mgw: add connection timeout test Change-Id: I020b682b347045818fd28de240daa0aa33fe43b4 --- M mgw/MGCP_Test.ttcn 1 file changed, 40 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/05/14605/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I020b682b347045818fd28de240daa0aa33fe43b4 Gerrit-Change-Number: 14605 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 14:17:20 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 26 Jun 2019 14:17:20 +0000 Subject: Change in ...osmo-mgw[master]: vty: allow 0 as conn-timeout to disable it 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/+/14601 to look at the new patch set (#2). Change subject: vty: allow 0 as conn-timeout to disable it ...................................................................... vty: allow 0 as conn-timeout to disable it VTY command to disable conn-timeout again, after it has been enabled. conn-timeout was introduced in [1]. [1] Change-Id I18886052e090466f73829133c24f011806cc1fe0. Change-Id: I7dee7dafaaf4bb93fd692ea06b52b9e012beac6d --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/01/14601/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7dee7dafaaf4bb93fd692ea06b52b9e012beac6d Gerrit-Change-Number: 14601 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 14:17:20 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 26 Jun 2019 14:17:20 +0000 Subject: Change in ...osmo-mgw[master]: vty: update desc of conn-timeout 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/+/14602 to look at the new patch set (#2). Change subject: vty: update desc of conn-timeout ...................................................................... vty: update desc of conn-timeout It can be used together with LCLS, just make sure to also enable keep-alive packets. In OS#3429 it was pointed out, that during LCLS the media path remains active but is not used. Without any traffic flowing, this looks like a timed out connection and so it will be killed if conn-timeout is set. However, OsmoBSC and OsmoMSC have an option to enable RTP keep-alive packets (through libosmo-mgcp, originally intended to keep connections behind NAT open). If that option is enabled, the keep-alive packets should also prevent the conn-timeout. Related: OS#3783 Change-Id: Ib4d19104d558a26a444a80fb36f4b7b33bc5cc59 --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/02/14602/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib4d19104d558a26a444a80fb36f4b7b33bc5cc59 Gerrit-Change-Number: 14602 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 14:17:50 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 26 Jun 2019 14:17:50 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RTP_Emulation: allow expecting connection refused In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14604 ) Change subject: RTP_Emulation: allow expecting connection refused ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14604/1/library/RTP_Emulation.ttcn File library/RTP_Emulation.ttcn: https://gerrit.osmocom.org/#/c/14604/1/library/RTP_Emulation.ttcn at 375 PS1, Line 375: os_error_text := "Connection refused"}}; > Would be fat better matching by error code, not by text (thinking about locale stuff). Done -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id6365bc59e19368a87b951367742a0b7cc5e9574 Gerrit-Change-Number: 14604 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 14:17:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 14:18:44 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 26 Jun 2019 14:18:44 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: mgw: add connection timeout test In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14605 ) Change subject: mgw: add connection timeout test ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/14605/2/mgw/MGCP_Test.ttcn File mgw/MGCP_Test.ttcn: https://gerrit.osmocom.org/#/c/14605/2/mgw/MGCP_Test.ttcn at 2103 PS2, Line 2103: f_vty_config(MGWVTY, "mgcp", "no conn-timeout"); > See my previous comment about "conn-timeout 0". [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I020b682b347045818fd28de240daa0aa33fe43b4 Gerrit-Change-Number: 14605 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 14:18:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 14:19:00 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 14:19:00 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RTP_Emulation: allow expecting connection refused In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14604 ) Change subject: RTP_Emulation: allow expecting connection refused ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id6365bc59e19368a87b951367742a0b7cc5e9574 Gerrit-Change-Number: 14604 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 14:19: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 26 14:19:17 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 26 Jun 2019 14:19:17 +0000 Subject: Change in ...osmo-mgw[master]: vty: update desc of conn-timeout In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14602 ) Change subject: vty: update desc of conn-timeout ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/14602/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14602/1//COMMIT_MSG at 10 PS1, Line 10: alive packets. > Please extend the ration on WHY is this needed. Done https://gerrit.osmocom.org/#/c/14602/1/src/libosmo-mgcp/mgcp_vty.c File src/libosmo-mgcp/mgcp_vty.c: https://gerrit.osmocom.org/#/c/14602/1/src/libosmo-mgcp/mgcp_vty.c at 1385 PS1, Line 1385: " alive packages in MGW clients when using this option together with LCLS (OsmoBSC, OsmoMSC: 'rtp keep-alive')!\n" > "Enable keep alive" -> "Enable keep-alive" Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib4d19104d558a26a444a80fb36f4b7b33bc5cc59 Gerrit-Change-Number: 14602 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 14:19:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 14:21:17 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 14:21:17 +0000 Subject: Change in ...osmo-mgw[master]: vty: update desc of conn-timeout In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14602 ) Change subject: vty: update desc of conn-timeout ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib4d19104d558a26a444a80fb36f4b7b33bc5cc59 Gerrit-Change-Number: 14602 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 14:21:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 14:21:48 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 26 Jun 2019 14:21:48 +0000 Subject: Change in ...osmo-mgw[master]: vty: allow 0 as conn-timeout to disable it In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14601 ) Change subject: vty: allow 0 as conn-timeout to disable it ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14601/1/src/libosmo-mgcp/mgcp_vty.c File src/libosmo-mgcp/mgcp_vty.c: https://gerrit.osmocom.org/#/c/14601/1/src/libosmo-mgcp/mgcp_vty.c at 1392 PS1, Line 1392: DEFUN(cfg_mgcp_no_conn_timeout, > In my opinion in this case I think it makes sense to simply extend the exiting "conn-timeout" above [?] I've added zero as value, but not documented explicitly that it disables the timeout. Do you think we need to state that explicitly? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7dee7dafaaf4bb93fd692ea06b52b9e012beac6d Gerrit-Change-Number: 14601 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 14:21:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 14:22:21 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 14:22:21 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: mgw: add connection timeout test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14605 ) Change subject: mgw: add connection timeout test ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I020b682b347045818fd28de240daa0aa33fe43b4 Gerrit-Change-Number: 14605 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 14:22: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 26 14:23:46 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 14:23:46 +0000 Subject: Change in ...osmo-mgw[master]: vty: allow 0 as conn-timeout to disable it In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14601 ) Change subject: vty: allow 0 as conn-timeout to disable it ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14601/1/src/libosmo-mgcp/mgcp_vty.c File src/libosmo-mgcp/mgcp_vty.c: https://gerrit.osmocom.org/#/c/14601/1/src/libosmo-mgcp/mgcp_vty.c at 1392 PS1, Line 1392: DEFUN(cfg_mgcp_no_conn_timeout, > I've added zero as value, but not documented explicitly that it disables the timeout. [?] I think it's useful so you don't need to confirm by looking at code. Add something like: "Set to 0 to disable timeout". -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7dee7dafaaf4bb93fd692ea06b52b9e012beac6d Gerrit-Change-Number: 14601 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 14:23:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 14:29:08 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 26 Jun 2019 14:29:08 +0000 Subject: Change in ...osmo-mgw[master]: vty: allow 0 as conn-timeout to disable it 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/+/14601 to look at the new patch set (#3). Change subject: vty: allow 0 as conn-timeout to disable it ...................................................................... vty: allow 0 as conn-timeout to disable it VTY command to disable conn-timeout again, after it has been enabled. conn-timeout was introduced in [1]. [1] Change-Id I18886052e090466f73829133c24f011806cc1fe0. Change-Id: I7dee7dafaaf4bb93fd692ea06b52b9e012beac6d --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/01/14601/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7dee7dafaaf4bb93fd692ea06b52b9e012beac6d Gerrit-Change-Number: 14601 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 14:29:08 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 26 Jun 2019 14:29:08 +0000 Subject: Change in ...osmo-mgw[master]: vty: update desc of conn-timeout In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/14602 to look at the new patch set (#3). Change subject: vty: update desc of conn-timeout ...................................................................... vty: update desc of conn-timeout It can be used together with LCLS, just make sure to also enable keep-alive packets. In OS#3429 it was pointed out, that during LCLS the media path remains active but is not used. Without any traffic flowing, this looks like a timed out connection and so it will be killed if conn-timeout is set. However, OsmoBSC and OsmoMSC have an option to enable RTP keep-alive packets (through libosmo-mgcp, originally intended to keep connections behind NAT open). If that option is enabled, the keep-alive packets should also prevent the conn-timeout. Related: OS#3783 Change-Id: Ib4d19104d558a26a444a80fb36f4b7b33bc5cc59 --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/02/14602/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib4d19104d558a26a444a80fb36f4b7b33bc5cc59 Gerrit-Change-Number: 14602 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 14:31:13 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 26 Jun 2019 14:31:13 +0000 Subject: Change in ...osmo-mgw[master]: vty: allow 0 as conn-timeout to disable it In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14601 ) Change subject: vty: allow 0 as conn-timeout to disable it ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/14601/1/src/libosmo-mgcp/mgcp_vty.c File src/libosmo-mgcp/mgcp_vty.c: https://gerrit.osmocom.org/#/c/14601/1/src/libosmo-mgcp/mgcp_vty.c at 1392 PS1, Line 1392: DEFUN(cfg_mgcp_no_conn_timeout, > I think it's useful so you don't need to confirm by looking at code. [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7dee7dafaaf4bb93fd692ea06b52b9e012beac6d Gerrit-Change-Number: 14601 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 14:31:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 14:32:01 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 14:32:01 +0000 Subject: Change in ...osmo-mgw[master]: vty: allow 0 as conn-timeout to disable it In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14601 ) Change subject: vty: allow 0 as conn-timeout to disable it ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7dee7dafaaf4bb93fd692ea06b52b9e012beac6d Gerrit-Change-Number: 14601 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 14:32:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 14:40:32 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 26 Jun 2019 14:40:32 +0000 Subject: Change in ...osmo-python-tests[master]: osmo_trap2cgi.py: Don't recurse in ctrl_client() In-Reply-To: References: Message-ID: daniel has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 ) Change subject: osmo_trap2cgi.py: Don't recurse in ctrl_client() ...................................................................... osmo_trap2cgi.py: Don't recurse in ctrl_client() Use a loop instead. Without it the script will eventually crash with a RecursionError. File "/usr/bin/osmo_trap2cgi.py", line 211, in conn_client await ctrl_client(proxy, reader, writer) File "/usr/bin/osmo_trap2cgi.py", line 202, in ctrl_client proxy.dispatch(wr, data) [...] File "/usr/bin/osmo_trap2cgi.py", line 202, in ctrl_client proxy.dispatch(wr, data) File "/usr/bin/osmo_trap2cgi.py", line 201, in ctrl_client [...] RecursionError: maximum recursion depth exceeded in comparison Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Related: SYS#4399 --- M scripts/osmo_trap2cgi.py 1 file changed, 18 insertions(+), 15 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/scripts/osmo_trap2cgi.py b/scripts/osmo_trap2cgi.py index ad66e7b..ca73fa8 100755 --- a/scripts/osmo_trap2cgi.py +++ b/scripts/osmo_trap2cgi.py @@ -22,7 +22,7 @@ */ """ -__version__ = "0.0.1" # bump this on every non-trivial change +__version__ = "0.0.2" # bump this on every non-trivial change from functools import partial import configparser, argparse, time, os, asyncio, aiohttp @@ -190,29 +190,32 @@ return await reader.readexactly(num_bytes) except asyncio.IncompleteReadError: proxy.log.info('Failed to read %d bytes reconnecting to %s:%d...', num_bytes, proxy.ctrl_addr, proxy.ctrl_port) - await conn_client(proxy) + raise async def ctrl_client(proxy, rd, wr): """ - Recursively read CTRL stream and handle selected messages. + Read CTRL stream and handle selected messages. """ - header = await recon_reader(proxy, rd, 4) - data = await recon_reader(proxy, rd, get_ctrl_len(proxy, header)) - proxy.dispatch(wr, data) - await ctrl_client(proxy, rd, wr) + while True: + header = await recon_reader(proxy, rd, 4) + data = await recon_reader(proxy, rd, get_ctrl_len(proxy, header)) + proxy.dispatch(wr, data) async def conn_client(proxy): """ (Re)establish connection with CTRL server and pass Reader/Writer to CTRL handler. """ - try: - reader, writer = await asyncio.open_connection(proxy.ctrl_addr, proxy.ctrl_port) - proxy.log.info('Connected to %s:%d', proxy.ctrl_addr, proxy.ctrl_port) - await ctrl_client(proxy, reader, writer) - except OSError as e: - proxy.log.info('%s: %d seconds delayed retrying...', e, proxy.timeout) - await asyncio.sleep(proxy.timeout) - await conn_client(proxy) + while True: + try: + reader, writer = await asyncio.open_connection(proxy.ctrl_addr, proxy.ctrl_port) + proxy.log.info('Connected to %s:%d', proxy.ctrl_addr, proxy.ctrl_port) + await ctrl_client(proxy, reader, writer) + except OSError as e: + proxy.log.info('%s: %d seconds delayed retrying...', e, proxy.timeout) + await asyncio.sleep(proxy.timeout) + except asyncio.IncompleteReadError: + pass + proxy.log.info('Reconnecting...') if __name__ == '__main__': -- To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: python/osmo-python-tests Gerrit-Branch: master Gerrit-Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c Gerrit-Change-Number: 14545 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: msuraev Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 14:56:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 14:56:57 +0000 Subject: Change in ...osmo-bsc[master]: bsc_subscr_conn_fsm: Use gscon_bssmap_clear() helper on send failure Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14607 Change subject: bsc_subscr_conn_fsm: Use gscon_bssmap_clear() helper on send failure ...................................................................... bsc_subscr_conn_fsm: Use gscon_bssmap_clear() helper on send failure Change-Id: I45b42b76c260a5bac416ad3a5761918a8ab59f86 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 1 insertion(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/07/14607/1 diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 7b9f912..0830dee 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -984,7 +984,6 @@ { uint8_t sapi; int rc; - struct msgb *resp = NULL; if (!conn->lchan) { LOGP(DMSC, LOGL_ERROR, @@ -1027,8 +1026,7 @@ failed_to_send: LOGPFSML(conn->fi, LOGL_ERROR, "Tx BSSMAP CLEAR REQUEST to MSC\n"); - resp = gsm0808_create_clear_rqst(GSM0808_CAUSE_EQUIPMENT_FAILURE); - gscon_sigtran_send(conn, resp); + gscon_bssmap_clear(conn, GSM0808_CAUSE_EQUIPMENT_FAILURE); osmo_fsm_inst_state_chg(conn->fi, ST_ACTIVE, 0, 0); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I45b42b76c260a5bac416ad3a5761918a8ab59f86 Gerrit-Change-Number: 14607 Gerrit-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 26 15:08:51 2019 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 26 Jun 2019 15:08:51 +0000 Subject: Change in ...osmo-mgw[master]: vty: allow 0 as conn-timeout to disable it In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14601 ) Change subject: vty: allow 0 as conn-timeout to disable it ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/#/c/14601/1/src/libosmo-mgcp/mgcp_vty.c File src/libosmo-mgcp/mgcp_vty.c: https://gerrit.osmocom.org/#/c/14601/1/src/libosmo-mgcp/mgcp_vty.c at 1392 PS1, Line 1392: DEFUN(cfg_mgcp_no_conn_timeout, > Done We should agree on one way to do it, because "no e1_line 0 keepalive" is still what libosmo-abis wants to see (and that line is pretty much included in all default configs floating around the internet), so if we drop the "no" here, we should drop it everywhere else as well -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7dee7dafaaf4bb93fd692ea06b52b9e012beac6d Gerrit-Change-Number: 14601 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 15:08:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 15:20:03 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 15:20:03 +0000 Subject: Change in ...osmo-bsc[master]: bsc_subscr_conn_fsm: Log Tx of BSSMAP Clear Request with cause Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14608 Change subject: bsc_subscr_conn_fsm: Log Tx of BSSMAP Clear Request with cause ...................................................................... bsc_subscr_conn_fsm: Log Tx of BSSMAP Clear Request with cause Change-Id: Ief0ec314723ce1d23da334df2add73c36ebf19f3 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/08/14608/1 diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 0830dee..bc5cb27 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -133,8 +133,12 @@ static void gscon_bssmap_clear(struct gsm_subscriber_connection *conn, enum gsm0808_cause cause) { - struct msgb *resp = gsm0808_create_clear_rqst(cause); + + struct msgb *resp; int rc; + + LOGPFSML(conn->fi, LOGL_DEBUG, "Tx BSSMAP CLEAR REQUEST(%s) to MSC\n", gsm0808_cause_name(cause)); + resp = gsm0808_create_clear_rqst(cause); if (!resp) { LOGPFSML(conn->fi, LOGL_ERROR, "Unable to compose BSSMAP Clear Request message\n"); return; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ief0ec314723ce1d23da334df2add73c36ebf19f3 Gerrit-Change-Number: 14608 Gerrit-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 26 15:55:45 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 15:55:45 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Do proper chan release in TC_ho_out_fail_no_ho_detect Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14609 Change subject: bsc: Do proper chan release in TC_ho_out_fail_no_ho_detect ...................................................................... bsc: Do proper chan release in TC_ho_out_fail_no_ho_detect BSC waits to receive a ClearCommand in response to its ClearRequest before it starts tearing down the MGCP conn on the MSC-side of the MGW endpoint. As a result, expected DLCX was not being sent which made test fail. However, currently test still fails because current osmo-bsc master sends a repeated ClearRequest message in this scenario. Related: OS#4078 Change-Id: Ic398896147a0b6b04ffeae56a23d25783b2b17fe --- M bsc/BSC_Tests.ttcn 1 file changed, 13 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/09/14609/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index f9609ba..88df9bc 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -2893,7 +2893,7 @@ } /* Expecting MGCP to DLCX the endpoint's two connections: towards BTS and towards MSC */ -private function f_expect_dlcx_conns(boolean exp_clear_cmpl := true) runs on MSC_ConnHdlr { +private function f_expect_dlcx_conns() runs on MSC_ConnHdlr { var MgcpCommand mgcp; var template MgcpResponse mgcp_resp; var MGCP_RecvFrom mrf; @@ -2923,9 +2923,7 @@ }; } - if (exp_clear_cmpl) { - BSSAP.receive(tr_BSSMAP_ClearComplete); - } + BSSAP.receive(tr_BSSMAP_ClearComplete); } private function f_tc_ho_out_of_this_bsc(charstring id) runs on MSC_ConnHdlr { @@ -2978,7 +2976,7 @@ var BssmapCause cause := enum2int(cause_val); BSSAP.send(ts_BSSMAP_ClearCommand(cause)); - f_expect_dlcx_conns(true); + f_expect_dlcx_conns(); setverdict(pass); f_sleep(1.0); } @@ -3171,6 +3169,7 @@ * RR should be released and Clear Request should go to the MSC. */ var MgcpCommand mgcp; + var PDU_BSSAP rx_clear_request; interleave { [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { log("Got Deact SACCH"); @@ -3182,12 +3181,15 @@ log("Got RF Chan Rel"); RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); } - [] BSSAP.receive(tr_BSSMAP_ClearRequest) { + [] BSSAP.receive(tr_BSSMAP_ClearRequest) -> value rx_clear_request { log("Got BSSMAP Clear Request"); + /* Instruct BSC to clear channel */ + var BssmapCause cause := bit2int(rx_clear_request.pdu.bssmap.clearRequest.cause.causeValue); + BSSAP.send(ts_BSSMAP_ClearCommand(cause)); } } - f_expect_dlcx_conns(false); + f_expect_dlcx_conns(); setverdict(pass); f_sleep(1.0); @@ -3332,7 +3334,7 @@ var BssmapCause cause := enum2int(cause_val); BSSAP.send(ts_BSSMAP_ClearCommand(cause)); - f_expect_dlcx_conns(true); + f_expect_dlcx_conns(); setverdict(pass); f_sleep(1.0); @@ -3414,7 +3416,7 @@ var BssmapCause cause := enum2int(cause_val); BSSAP.send(ts_BSSMAP_ClearCommand(cause)); - f_expect_dlcx_conns(true); + f_expect_dlcx_conns(); setverdict(pass); f_sleep(1.0); } @@ -3493,7 +3495,7 @@ var BssmapCause cause := enum2int(cause_val); BSSAP.send(ts_BSSMAP_ClearCommand(cause)); - f_expect_dlcx_conns(true); + f_expect_dlcx_conns(); setverdict(pass); f_sleep(1.0); @@ -3566,7 +3568,7 @@ var BssmapCause cause := bit2int(rx_clear_request.pdu.bssmap.clearRequest.cause.causeValue); BSSAP.send(ts_BSSMAP_ClearCommand(cause)); }; - f_expect_dlcx_conns(true); + f_expect_dlcx_conns(); setverdict(pass); f_sleep(1.0); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic398896147a0b6b04ffeae56a23d25783b2b17fe Gerrit-Change-Number: 14609 Gerrit-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 26 16:36:26 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Jun 2019 16:36:26 +0000 Subject: Change in ...osmo-mgw[master]: vty: allow 0 as conn-timeout to disable it In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14601 ) Change subject: vty: allow 0 as conn-timeout to disable it ...................................................................... Patch Set 3: Code-Review+1 Is there any 'mgcp_vty_reference.xml'? If yes, please also update it. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7dee7dafaaf4bb93fd692ea06b52b9e012beac6d Gerrit-Change-Number: 14601 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 16: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 Wed Jun 26 18:27:44 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Jun 2019 18:27:44 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 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/+/14591 to look at the new patch set (#2). Change subject: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 ...................................................................... osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 Change-Id: Iec0d86f9be7243578ddc1ab322fc313cb5ac5d0b --- 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/91/14591/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iec0d86f9be7243578ddc1ab322fc313cb5ac5d0b Gerrit-Change-Number: 14591 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 18:27:47 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Jun 2019 18:27:47 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: rename and clarify TRX_MAX_BURST_LEN Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14610 Change subject: osmo-bts-trx/trx_if.c: rename and clarify TRX_MAX_BURST_LEN ...................................................................... osmo-bts-trx/trx_if.c: rename and clarify TRX_MAX_BURST_LEN This constant actually defines the maximum TRXD message length, which includes the header and burst bits, not just burst. Change-Id: I383125e1c4df039fc6b554833bc8736deacbe731 --- M src/osmo-bts-trx/trx_if.c 1 file changed, 5 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/10/14610/1 diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 0becdd5..9b1604c 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -52,8 +52,6 @@ int transceiver_available = 0; -#define TRX_MAX_BURST_LEN 512 - /* * socket helper functions */ @@ -587,10 +585,13 @@ * TRX burst data socket */ +/* Maximum DATA message length (header + burst) */ +#define TRX_DATA_MSG_MAX_LEN 512 + static int trx_data_read_cb(struct osmo_fd *ofd, unsigned int what) { struct trx_l1h *l1h = ofd->data; - uint8_t buf[TRX_MAX_BURST_LEN]; + uint8_t buf[TRX_DATA_MSG_MAX_LEN]; int len; uint8_t tn; int8_t rssi; @@ -661,7 +662,7 @@ int trx_if_send_burst(struct trx_l1h *l1h, uint8_t tn, uint32_t fn, uint8_t pwr, const ubit_t *bits, uint16_t nbits) { - uint8_t buf[TRX_MAX_BURST_LEN]; + uint8_t buf[TRX_DATA_MSG_MAX_LEN]; if ((nbits != GSM_BURST_LEN) && (nbits != EGPRS_BURST_LEN)) { LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, "Tx burst length %u invalid\n", nbits); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I383125e1c4df039fc6b554833bc8736deacbe731 Gerrit-Change-Number: 14610 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 26 18:57:40 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 18:57:40 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14591 ) Change subject: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iec0d86f9be7243578ddc1ab322fc313cb5ac5d0b Gerrit-Change-Number: 14591 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 18:57: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 26 18:58:56 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 26 Jun 2019 18:58:56 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: rename and clarify TRX_MAX_BURST_LEN In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14610 ) Change subject: osmo-bts-trx/trx_if.c: rename and clarify TRX_MAX_BURST_LEN ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I383125e1c4df039fc6b554833bc8736deacbe731 Gerrit-Change-Number: 14610 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 18:58: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 26 19:38:37 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Jun 2019 19:38:37 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: request the newest TRXD header version Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14611 Change subject: osmo-bts-trx/trx_if.c: request the newest TRXD header version ...................................................................... osmo-bts-trx/trx_if.c: request the newest TRXD header version This change introduces the new command for TRXD header version negotiation - SETFORMAT. Old transceivers would reject it as an unknown command. FakeTRX confirms all unknown commands with status 0. The modern transceivers should respond with status code equal to or less than the requested header version. Change-Id: I8afe950bd1ec2afaf3347ff848ee46e69c4f5011 --- M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/trx_if.c M src/osmo-bts-trx/trx_if.h 4 files changed, 44 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/11/14611/1 diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index e6e384a..816d745 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -208,6 +208,9 @@ l1h->config.bsic_sent = 1; } + /* Ask transceiver to use the newest TRXD header version */ + trx_if_cmd_setformat(l1h, TRX_DATA_FORMAT_VER); + if (!l1h->config.poweron_sent) { trx_if_cmd_poweron(l1h); l1h->config.poweron_sent = 1; diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index 9c95c53..90c2758 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -8,6 +8,7 @@ struct trx_config { uint8_t poweron; /* poweron(1) or poweroff(0) */ int poweron_sent; + uint8_t trxd_hdr_ver; int arfcn_valid; uint16_t arfcn; diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 3fc06b8..2bf2a8d 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -272,6 +272,14 @@ return 0; } +/*! Send "SETFORMAT" command to TRX: change TRXD header format version */ +int trx_if_cmd_setformat(struct trx_l1h *l1h, uint8_t ver) +{ + LOGPPHI(l1h->phy_inst, DTRX, LOGL_INFO, + "Requesting TRXD header format version %u\n", ver); + return trx_ctrl_cmd(l1h, 0, "SETFORMAT", "%u", ver); +} + /*! Send "SETTSC" command to TRX */ int trx_if_cmd_settsc(struct trx_l1h *l1h, uint8_t tsc) { @@ -463,6 +471,30 @@ return rsp->status == 0 ? 0 : -EINVAL; } +/* Old transceivers would reject SETFORMAT as an unknown command. FakeTRX confirms + * all unknown commands with status 0. The modern transceivers should respond + * with status code equal to or less than the requested version. */ +static int trx_ctrl_rx_rsp_setformat(struct trx_l1h *l1h, struct trx_ctrl_rsp *rsp) +{ + if (rsp->status < 0 || rsp->status > TRX_DATA_FORMAT_VER) { + LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, + "TRX indicated an unsupported header " + "format version %d\n", rsp->status); + return -EINVAL; + } else if (rsp->status == -1 || rsp->status == 0) { + l1h->config.trxd_hdr_ver = 0; + LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, + "Using legacy TRXD header format version\n"); + } else { + l1h->config.trxd_hdr_ver = rsp->status; + LOGPPHI(l1h->phy_inst, DTRX, LOGL_INFO, + "Using TRXD header format version %u\n", + l1h->config.trxd_hdr_ver); + } + + return 0; +} + /* -EINVAL: unrecoverable error, exit BTS * N > 0: try sending originating command again after N seconds * 0: Done with response, get originating command out from send queue @@ -487,6 +519,8 @@ } } else if (strcmp(rsp->cmd, "SETSLOT") == 0) { return trx_ctrl_rx_rsp_setslot(l1h, rsp); + } else if (strcmp(rsp->cmd, "SETFORMAT") == 0) { + return trx_ctrl_rx_rsp_setformat(l1h, rsp); } if (rsp->status) { diff --git a/src/osmo-bts-trx/trx_if.h b/src/osmo-bts-trx/trx_if.h index cdfbd41..a76065c 100644 --- a/src/osmo-bts-trx/trx_if.h +++ b/src/osmo-bts-trx/trx_if.h @@ -35,4 +35,10 @@ const ubit_t *bits, uint16_t nbits); int trx_if_powered(struct trx_l1h *l1h); +/* The latest supported TRXD header format version */ +#define TRX_DATA_FORMAT_VER 0 + +/* Format negotiation command */ +int trx_if_cmd_setformat(struct trx_l1h *l1h, uint8_t ver); + #endif /* TRX_IF_H */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14611 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8afe950bd1ec2afaf3347ff848ee46e69c4f5011 Gerrit-Change-Number: 14611 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 26 19:42:22 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Jun 2019 19:42:22 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: introduce TRXD header version handling In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14592 ) Change subject: osmo-bts-trx/trx_if.c: introduce TRXD header version handling ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I171c18229ca3e5cab70de0064a31e47c78602c0c Gerrit-Change-Number: 14592 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 26 Jun 2019 19:42:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jun 26 21:13:25 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Jun 2019 21:13:25 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: pass trx_ul_burst_ind to lchan handlers Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14612 Change subject: osmo-bts-trx/scheduler: pass trx_ul_burst_ind to lchan handlers ...................................................................... osmo-bts-trx/scheduler: pass trx_ul_burst_ind to lchan handlers Change-Id: Iae6b78bafa4b86d0c681684de47320d641d3f7c0 Related: OS#4006 --- 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, 189 insertions(+), 152 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/12/14612/1 diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index 505f4d7..d713900 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -13,10 +13,8 @@ uint32_t fn, enum trx_chan_type chan, uint8_t bid, uint16_t *nbits); -typedef int trx_sched_ul_func(struct l1sched_trx *l1t, uint8_t tn, - uint32_t fn, enum trx_chan_type chan, - uint8_t bid, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256); +typedef int trx_sched_ul_func(struct l1sched_trx *l1t, enum trx_chan_type chan, + uint8_t bid, const struct trx_ul_burst_ind *bi); struct trx_chan_desc { /*! \brief Human-readable name */ @@ -70,21 +68,16 @@ enum trx_chan_type chan, uint8_t bid, uint16_t *nbits); ubit_t *tx_tchh_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, enum trx_chan_type chan, uint8_t bid, uint16_t *nbits); -int rx_rach_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256); -int rx_data_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256); -int rx_pdtch_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256); -int rx_tchf_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256); -int rx_tchh_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256); +int rx_rach_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, + uint8_t bid, const struct trx_ul_burst_ind *bi); +int rx_data_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, + uint8_t bid, const struct trx_ul_burst_ind *bi); +int rx_pdtch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, + uint8_t bid, const struct trx_ul_burst_ind *bi); +int rx_tchf_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, + uint8_t bid, const struct trx_ul_burst_ind *bi); +int rx_tchh_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, + uint8_t bid, const struct trx_ul_burst_ind *bi); const ubit_t *_sched_dl_burst(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, uint16_t *nbits); diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 83779d7..93214f9 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1287,9 +1287,17 @@ * Instead of doing this, it makes sense to use the * amount of lost frames in measurement calculations. */ - static sbit_t zero_burst[GSM_BURST_LEN] = { 0 }; trx_sched_ul_func *func; + /* Prepare dummy burst indication */ + struct trx_ul_burst_ind bi = { + .flags = TRX_BI_F_NOPE_IND, + .burst_len = GSM_BURST_LEN, + .burst = { 0 }, + .rssi = -128, + .tn = tn, + }; + for (i = 1; i < elapsed_fs; i++) { fn_i = TDMA_FN_SUM(l1cs->last_tdma_fn, i); offset = fn_i % l1ts->mf_period; @@ -1303,8 +1311,8 @@ "Substituting lost TDMA frame=%u by all-zero " "dummy burst\n", fn_i); - func(l1t, tn, fn_i, frame->ul_chan, frame->ul_bid, - zero_burst, GSM_BURST_LEN, -128, 0); + bi.fn = fn_i; + func(l1t, frame->ul_chan, frame->ul_bid, &bi); l1cs->lost_tdma_fs--; } @@ -1365,9 +1373,8 @@ } } - /* put burst to function - * TODO: rather pass a pointer to trx_ul_burst_ind */ - func(l1t, bi->tn, bi->fn, chan, bid, bi->burst, bi->burst_len, bi->rssi, bi->toa256); + /* Invoke the logical channel handler */ + func(l1t,chan, bid, bi); return 0; } diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index ade3cff..294e73c 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -775,9 +775,8 @@ return seq; } -int rx_rach_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256) +int rx_rach_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, + uint8_t bid, const struct trx_ul_burst_ind *bi) { struct osmo_phsap_prim l1sap; int n_errors, n_bits_total; @@ -796,31 +795,33 @@ /* Handover RACH cannot be extended (11-bit) */ if (chan == TRXC_RACH) - synch_seq = rach_get_synch_seq(bits, &best_score); + /* TODO: check for TRX_BI_F_TS_INFO flag! */ + synch_seq = rach_get_synch_seq((sbit_t *) bi->burst, &best_score); - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, + LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, "Received RACH (%s; match=%.1f%%) toa=%d\n", get_value_string(rach_synch_seq_names, synch_seq), best_score * 100.0 / (127 * RACH_SYNCH_SEQ_LEN), - toa256); + bi->toa256); /* Compose a new L1SAP primitive */ memset(&l1sap, 0x00, sizeof(l1sap)); osmo_prim_init(&l1sap.oph, SAP_GSM_PH, PRIM_PH_RACH, PRIM_OP_INDICATION, NULL); - l1sap.u.rach_ind.chan_nr = trx_chan_desc[chan].chan_nr | tn; - l1sap.u.rach_ind.acc_delay = (toa256 >= 0) ? toa256 / 256 : 0; - l1sap.u.rach_ind.acc_delay_256bits = toa256; - l1sap.u.rach_ind.rssi = rssi; - l1sap.u.rach_ind.fn = fn; + l1sap.u.rach_ind.chan_nr = trx_chan_desc[chan].chan_nr | bi->tn; + l1sap.u.rach_ind.acc_delay = (bi->toa256 >= 0) ? bi->toa256 / 256 : 0; + l1sap.u.rach_ind.acc_delay_256bits = bi->toa256; + l1sap.u.rach_ind.rssi = bi->rssi; + l1sap.u.rach_ind.fn = bi->fn; /* Decode RACH depending on its synch. sequence */ switch (synch_seq) { case RACH_SYNCH_SEQ_TS1: case RACH_SYNCH_SEQ_TS2: - rc = gsm0503_rach_ext_decode_ber(&ra11, bits + RACH_EXT_TAIL_LEN + RACH_SYNCH_SEQ_LEN, + rc = gsm0503_rach_ext_decode_ber(&ra11, bi->burst + RACH_EXT_TAIL_LEN + RACH_SYNCH_SEQ_LEN, l1t->trx->bts->bsic, &n_errors, &n_bits_total); if (rc) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, "Received bad Access Burst\n"); + LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, + "Received bad Access Burst\n"); return 0; } @@ -837,14 +838,16 @@ default: /* Fall-back to the default TS0 if needed */ if (synch_seq != RACH_SYNCH_SEQ_TS0) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, "Falling-back to the default TS0\n"); + LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, + "Falling-back to the default TS0\n"); synch_seq = RACH_SYNCH_SEQ_TS0; } - rc = gsm0503_rach_decode_ber(&ra, bits + RACH_EXT_TAIL_LEN + RACH_SYNCH_SEQ_LEN, + rc = gsm0503_rach_decode_ber(&ra, bi->burst + RACH_EXT_TAIL_LEN + RACH_SYNCH_SEQ_LEN, l1t->trx->bts->bsic, &n_errors, &n_bits_total); if (rc) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, "Received bad Access Burst\n"); + LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, + "Received bad Access Burst\n"); return 0; } @@ -863,11 +866,10 @@ } /*! \brief a single (SDCCH/SACCH) burst was received by the PHY, process it */ -int rx_data_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256) +int rx_data_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, + uint8_t bid, const struct trx_ul_burst_ind *bi) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; uint32_t *first_fn = &chan_state->ul_first_fn; @@ -883,9 +885,10 @@ /* handle RACH, if handover RACH detection is turned on */ if (chan_state->ho_rach_detect == 1) - return rx_rach_fn(l1t, tn, fn, chan, bid, bits, GSM_BURST_LEN, rssi, toa256); + return rx_rach_fn(l1t, chan, bid, bi); - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, "Received Data, bid=%u\n", bid); + LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, + "Received Data, bid=%u\n", bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -898,7 +901,7 @@ if (bid == 0) { memset(*bursts_p, 0, 464); *mask = 0x0; - *first_fn = fn; + *first_fn = bi->fn; *rssi_sum = 0; *rssi_num = 0; *toa256_sum = 0; @@ -907,20 +910,20 @@ /* update mask + RSSI */ *mask |= (1 << bid); - *rssi_sum += rssi; + *rssi_sum += bi->rssi; (*rssi_num)++; - *toa256_sum += toa256; + *toa256_sum += bi->toa256; (*toa_num)++; /* copy burst to buffer of 4 bursts */ burst = *bursts_p + bid * 116; - memcpy(burst, bits + 3, 58); - memcpy(burst + 58, bits + 87, 58); + memcpy(burst, bi->burst + 3, 58); + memcpy(burst + 58, bi->burst + 87, 58); /* send burst information to loops process */ if (L1SAP_IS_LINK_SACCH(trx_chan_desc[chan].link_id)) { - trx_loop_sacch_input(l1t, trx_chan_desc[chan].chan_nr | tn, - chan_state, rssi, toa256); + trx_loop_sacch_input(l1t, trx_chan_desc[chan].chan_nr | bi->tn, + chan_state, bi->rssi, bi->toa256); } /* wait until complete set of bursts */ @@ -929,7 +932,8 @@ /* check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "Received incomplete data (%u/%u)\n", + LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, + "Received incomplete data (%u/%u)\n", *first_fn, (*first_fn) % l1ts->mf_period); /* we require first burst to have correct FN */ @@ -943,28 +947,33 @@ /* decode */ rc = gsm0503_xcch_decode(l2, *bursts_p, &n_errors, &n_bits_total); if (rc) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "Received bad data (%u/%u)\n", + LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, + "Received bad data (%u/%u)\n", *first_fn, (*first_fn) % l1ts->mf_period); l2_len = 0; } else l2_len = GSM_MACBLOCK_LEN; /* Send uplink measurement information to L2 */ - l1if_process_meas_res(l1t->trx, tn, *first_fn, trx_chan_desc[chan].chan_nr | tn, - n_errors, n_bits_total, *rssi_sum / *rssi_num, *toa256_sum / *toa_num); + l1if_process_meas_res(l1t->trx, bi->tn, *first_fn, + trx_chan_desc[chan].chan_nr | bi->tn, + n_errors, n_bits_total, + *rssi_sum / *rssi_num, + *toa256_sum / *toa_num); ber10k = compute_ber10k(n_bits_total, n_errors); - return _sched_compose_ph_data_ind(l1t, tn, *first_fn, chan, l2, l2_len, + return _sched_compose_ph_data_ind(l1t, bi->tn, *first_fn, + chan, l2, l2_len, *rssi_sum / *rssi_num, - *toa256_sum / *toa_num, 0, ber10k, - PRES_INFO_UNKNOWN); + *toa256_sum / *toa_num, + 0 /* FIXME: AVG C/I */, + ber10k, PRES_INFO_UNKNOWN); } /*! \brief a single PDTCH burst was received by the PHY, process it */ -int rx_pdtch_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256) +int rx_pdtch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, + uint8_t bid, const struct trx_ul_burst_ind *bi) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; uint32_t *first_fn = &chan_state->ul_first_fn; @@ -978,7 +987,8 @@ uint16_t ber10k; int rc; - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, "Received PDTCH bid=%u\n", bid); + LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, + "Received PDTCH bid=%u\n", bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -992,7 +1002,7 @@ if (bid == 0) { memset(*bursts_p, 0, GSM0503_EGPRS_BURSTS_NBITS); *mask = 0x0; - *first_fn = fn; + *first_fn = bi->fn; *rssi_sum = 0; *rssi_num = 0; *toa256_sum = 0; @@ -1001,21 +1011,21 @@ /* update mask + rssi */ *mask |= (1 << bid); - *rssi_sum += rssi; + *rssi_sum += bi->rssi; (*rssi_num)++; - *toa256_sum += toa256; + *toa256_sum += bi->toa256; (*toa_num)++; /* copy burst to buffer of 4 bursts */ - if (nbits == EGPRS_BURST_LEN) { + if (bi->burst_len == EGPRS_BURST_LEN) { burst = *bursts_p + bid * 348; - memcpy(burst, bits + 9, 174); - memcpy(burst + 174, bits + 261, 174); + memcpy(burst, bi->burst + 9, 174); + memcpy(burst + 174, bi->burst + 261, 174); n_bursts_bits = GSM0503_EGPRS_BURSTS_NBITS; } else { burst = *bursts_p + bid * 116; - memcpy(burst, bits + 3, 58); - memcpy(burst + 58, bits + 87, 58); + memcpy(burst, bi->burst + 3, 58); + memcpy(burst + 58, bi->burst + 87, 58); n_bursts_bits = GSM0503_GPRS_BURSTS_NBITS; } @@ -1025,8 +1035,9 @@ /* check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, "Received incomplete frame (%u/%u)\n", - fn % l1ts->mf_period, l1ts->mf_period); + LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, + "Received incomplete frame (%u/%u)\n", + bi->fn % l1ts->mf_period, l1ts->mf_period); } *mask = 0x0; @@ -1039,33 +1050,39 @@ rc = gsm0503_pdtch_egprs_decode(l2, *bursts_p, n_bursts_bits, NULL, &n_errors, &n_bits_total); - if ((nbits == GSM_BURST_LEN) && (rc < 0)) { + if ((bi->burst_len == GSM_BURST_LEN) && (rc < 0)) { rc = gsm0503_pdtch_decode(l2, *bursts_p, NULL, &n_errors, &n_bits_total); } /* Send uplink measurement information to L2 */ - l1if_process_meas_res(l1t->trx, tn, *first_fn, trx_chan_desc[chan].chan_nr | tn, - n_errors, n_bits_total, *rssi_sum / *rssi_num, *toa256_sum / *toa_num); + l1if_process_meas_res(l1t->trx, bi->tn, *first_fn, + trx_chan_desc[chan].chan_nr | bi->tn, + n_errors, n_bits_total, + *rssi_sum / *rssi_num, + *toa256_sum / *toa_num); if (rc <= 0) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, "Received bad PDTCH (%u/%u)\n", - fn % l1ts->mf_period, l1ts->mf_period); + LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, + "Received bad PDTCH (%u/%u)\n", + bi->fn % l1ts->mf_period, l1ts->mf_period); return 0; } ber10k = compute_ber10k(n_bits_total, n_errors); - return _sched_compose_ph_data_ind(l1t, tn, *first_fn, chan, - l2, rc, *rssi_sum / *rssi_num, *toa256_sum / *toa_num, 0, + return _sched_compose_ph_data_ind(l1t, bi->tn, + *first_fn, chan, l2, rc, + *rssi_sum / *rssi_num, + *toa256_sum / *toa_num, + 0 /* FIXME: AVG C/I */, ber10k, PRES_INFO_BOTH); } /*! \brief a single TCH/F burst was received by the PHY, process it */ -int rx_tchf_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256) +int rx_tchf_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, + uint8_t bid, const struct trx_ul_burst_ind *bi) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; uint32_t *first_fn = &chan_state->ul_first_fn; @@ -1077,13 +1094,14 @@ int n_errors, n_bits_total; bool bfi_flag = false; struct gsm_lchan *lchan = - get_lchan_by_chan_nr(l1t->trx, trx_chan_desc[chan].chan_nr | tn); + get_lchan_by_chan_nr(l1t->trx, trx_chan_desc[chan].chan_nr | bi->tn); /* handle rach, if handover rach detection is turned on */ if (chan_state->ho_rach_detect == 1) - return rx_rach_fn(l1t, tn, fn, chan, bid, bits, GSM_BURST_LEN, rssi, toa256); + return rx_rach_fn(l1t, chan, bid, bi); - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, "Received TCH/F, bid=%u\n", bid); + LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, + "Received TCH/F, bid=%u\n", bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -1096,7 +1114,7 @@ if (bid == 0) { memset(*bursts_p + 464, 0, 464); *mask = 0x0; - *first_fn = fn; + *first_fn = bi->fn; } /* update mask */ @@ -1104,8 +1122,8 @@ /* copy burst to end of buffer of 8 bursts */ burst = *bursts_p + bid * 116 + 464; - memcpy(burst, bits + 3, 58); - memcpy(burst + 58, bits + 87, 58); + memcpy(burst, bi->burst + 3, 58); + memcpy(burst + 58, bi->burst + 87, 58); /* wait until complete set of bursts */ if (bid != 3) @@ -1113,8 +1131,9 @@ /* check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "Received incomplete frame (%u/%u)\n", - fn % l1ts->mf_period, l1ts->mf_period); + LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, + "Received incomplete frame (%u/%u)\n", + bi->fn % l1ts->mf_period, l1ts->mf_period); } *mask = 0x0; @@ -1136,12 +1155,12 @@ * NOTE: A frame ends 7 FN after start. */ rc = gsm0503_tch_afs_decode(tch_data + 2, *bursts_p, - (((fn + 26 - 7) % 26) >> 2) & 1, chan_state->codec, + (((bi->fn + 26 - 7) % 26) >> 2) & 1, chan_state->codec, chan_state->codecs, &chan_state->ul_ft, &chan_state->ul_cmr, &n_errors, &n_bits_total); if (rc) trx_loop_amr_input(l1t, - trx_chan_desc[chan].chan_nr | tn, chan_state, + trx_chan_desc[chan].chan_nr | bi->tn, chan_state, (float)n_errors/(float)n_bits_total); amr = 2; /* we store tch_data + 2 header bytes */ /* only good speech frames get rtp header */ @@ -1152,26 +1171,31 @@ } break; default: - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "TCH mode %u invalid, please fix!\n", + LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, + "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; } memcpy(*bursts_p, *bursts_p + 464, 464); /* Send uplink measurement information to L2 */ - l1if_process_meas_res(l1t->trx, tn, *first_fn, trx_chan_desc[chan].chan_nr|tn, - n_errors, n_bits_total, rssi, toa256); + l1if_process_meas_res(l1t->trx, bi->tn, *first_fn, + trx_chan_desc[chan].chan_nr | bi->tn, + n_errors, n_bits_total, + bi->rssi, bi->toa256); /* Check if the frame is bad */ if (rc < 0) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "Received bad data (%u/%u)\n", - fn % l1ts->mf_period, l1ts->mf_period); + LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, + "Received bad data (%u/%u)\n", + bi->fn % l1ts->mf_period, l1ts->mf_period); bfi_flag = true; goto bfi; } if (rc < 4) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "Received bad data (%u/%u) " - "with invalid codec mode %d\n", fn % l1ts->mf_period, l1ts->mf_period, rc); + LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, + "Received bad data (%u/%u) with invalid codec mode %d\n", + bi->fn % l1ts->mf_period, l1ts->mf_period, rc); bfi_flag = true; goto bfi; } @@ -1179,9 +1203,14 @@ /* FACCH */ if (rc == GSM_MACBLOCK_LEN) { uint16_t ber10k = compute_ber10k(n_bits_total, n_errors); - _sched_compose_ph_data_ind(l1t, tn, (fn + GSM_HYPERFRAME - 7) % GSM_HYPERFRAME, chan, - tch_data + amr, GSM_MACBLOCK_LEN, rssi, toa256, 0, - ber10k, PRES_INFO_UNKNOWN); + _sched_compose_ph_data_ind(l1t, bi->tn, + /* FIXME: this calculation is wrong */ + (bi->fn + GSM_HYPERFRAME - 7) % GSM_HYPERFRAME, chan, + tch_data + amr, GSM_MACBLOCK_LEN, + /* FIXME: AVG RSSI and ToA256 */ + bi->rssi, bi->toa256, + 0 /* FIXME: AVG C/I */, + ber10k, PRES_INFO_UNKNOWN); bfi: if (rsl_cmode == RSL_CMOD_SPD_SPEECH) { /* indicate bad frame */ @@ -1217,7 +1246,7 @@ memset(tch_data + 2, 0, rc - 2); break; default: - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, + LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; } @@ -1233,16 +1262,17 @@ /* TCH or BFI */ compose_l1sap: - return _sched_compose_tch_ind(l1t, tn, (fn + GSM_HYPERFRAME - 7) % GSM_HYPERFRAME, chan, + return _sched_compose_tch_ind(l1t, bi->tn, + /* FIXME: this calculation is wrong */ + (bi->fn + GSM_HYPERFRAME - 7) % GSM_HYPERFRAME, chan, tch_data, rc); } /*! \brief a single TCH/H burst was received by the PHY, process it */ -int rx_tchh_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256) +int rx_tchh_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, + uint8_t bid, const struct trx_ul_burst_ind *bi) { - struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, tn); + struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; uint32_t *first_fn = &chan_state->ul_first_fn; @@ -1253,18 +1283,19 @@ int rc, amr = 0; int n_errors, n_bits_total; struct gsm_lchan *lchan = - get_lchan_by_chan_nr(l1t->trx, trx_chan_desc[chan].chan_nr | tn); + get_lchan_by_chan_nr(l1t->trx, trx_chan_desc[chan].chan_nr | bi->tn); /* Note on FN-10: If we are at FN 10, we decoded an even aligned * TCH/FACCH frame, because our burst buffer carries 6 bursts. * Even FN ending at: 10,11,19,20,2,3 */ - int fn_is_odd = (((fn + 26 - 10) % 26) >> 2) & 1; + int fn_is_odd = (((bi->fn + 26 - 10) % 26) >> 2) & 1; /* handle RACH, if handover RACH detection is turned on */ if (chan_state->ho_rach_detect == 1) - return rx_rach_fn(l1t, tn, fn, chan, bid, bits, GSM_BURST_LEN, rssi, toa256); + return rx_rach_fn(l1t, chan, bid, bi); - LOGL1S(DL1P, LOGL_DEBUG, l1t, tn, chan, fn, "Received TCH/H, bid=%u\n", bid); + LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, + "Received TCH/H, bid=%u\n", bid); /* allocate burst memory, if not already */ if (!*bursts_p) { @@ -1277,7 +1308,7 @@ if (bid == 0) { memset(*bursts_p + 464, 0, 232); *mask = 0x0; - *first_fn = fn; + *first_fn = bi->fn; } /* update mask */ @@ -1285,8 +1316,8 @@ /* copy burst to end of buffer of 6 bursts */ burst = *bursts_p + bid * 116 + 464; - memcpy(burst, bits + 3, 58); - memcpy(burst + 58, bits + 87, 58); + memcpy(burst, bi->burst + 3, 58); + memcpy(burst + 58, bi->burst + 87, 58); /* wait until complete set of bursts */ if (bid != 1) @@ -1294,8 +1325,9 @@ /* check for complete set of bursts */ if ((*mask & 0x3) != 0x3) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "Received incomplete frame (%u/%u)\n", - fn % l1ts->mf_period, l1ts->mf_period); + LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, + "Received incomplete frame (%u/%u)\n", + bi->fn % l1ts->mf_period, l1ts->mf_period); } *mask = 0x0; @@ -1332,7 +1364,7 @@ &chan_state->ul_cmr, &n_errors, &n_bits_total); if (rc) trx_loop_amr_input(l1t, - trx_chan_desc[chan].chan_nr | tn, chan_state, + trx_chan_desc[chan].chan_nr | bi->tn, chan_state, (float)n_errors/(float)n_bits_total); amr = 2; /* we store tch_data + 2 two */ /* only good speech frames get rtp header */ @@ -1343,7 +1375,8 @@ } break; default: - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "TCH mode %u invalid, please fix!\n", + LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, + "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; } @@ -1351,18 +1384,22 @@ memcpy(*bursts_p + 232, *bursts_p + 464, 232); /* Send uplink measurement information to L2 */ - l1if_process_meas_res(l1t->trx, tn, *first_fn, trx_chan_desc[chan].chan_nr|tn, - n_errors, n_bits_total, rssi, toa256); + l1if_process_meas_res(l1t->trx, bi->tn, + *first_fn /* FIXME: this is wrong */, + trx_chan_desc[chan].chan_nr | bi->tn, + n_errors, n_bits_total, bi->rssi, bi->toa256); /* Check if the frame is bad */ if (rc < 0) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "Received bad data (%u/%u)\n", - fn % l1ts->mf_period, l1ts->mf_period); + LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, + "Received bad data (%u/%u)\n", + bi->fn % l1ts->mf_period, l1ts->mf_period); goto bfi; } if (rc < 4) { - LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "Received bad data (%u/%u) " - "with invalid codec mode %d\n", fn % l1ts->mf_period, l1ts->mf_period, rc); + LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, + "Received bad data (%u/%u) with invalid codec mode %d\n", + bi->fn % l1ts->mf_period, l1ts->mf_period, rc); goto bfi; } @@ -1370,10 +1407,14 @@ if (rc == GSM_MACBLOCK_LEN) { chan_state->ul_ongoing_facch = 1; uint16_t ber10k = compute_ber10k(n_bits_total, n_errors); - _sched_compose_ph_data_ind(l1t, tn, - (fn + GSM_HYPERFRAME - 10 - ((fn % 26) >= 19)) % GSM_HYPERFRAME, chan, - tch_data + amr, GSM_MACBLOCK_LEN, rssi, toa256, 0, - ber10k, PRES_INFO_UNKNOWN); + _sched_compose_ph_data_ind(l1t, bi->tn, + /* FIXME: what the hell is this?!? */ + (bi->fn + GSM_HYPERFRAME - 10 - ((bi->fn % 26) >= 19)) % GSM_HYPERFRAME, chan, + tch_data + amr, GSM_MACBLOCK_LEN, + /* FIXME: AVG both RSSI and ToA */ + bi->rssi, bi->toa256, + 0 /* FIXME: AVG C/I */, + ber10k, PRES_INFO_UNKNOWN); bfi: if (rsl_cmode == RSL_CMOD_SPD_SPEECH) { /* indicate bad frame */ @@ -1398,7 +1439,7 @@ memset(tch_data + 2, 0, rc - 2); break; default: - LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, + LOGL1S(DL1P, LOGL_ERROR, l1t, bi->tn, chan, bi->fn, "TCH mode %u invalid, please fix!\n", tch_mode); return -EINVAL; } @@ -1415,8 +1456,9 @@ * with the slot 12, so an extra FN must be subtracted to get correct * start of frame. */ - return _sched_compose_tch_ind(l1t, tn, - (fn + GSM_HYPERFRAME - 10 - ((fn%26)==19) - ((fn%26)==20)) % GSM_HYPERFRAME, + return _sched_compose_tch_ind(l1t, bi->tn, + /* FIXME: what the hell is this?!? */ + (bi->fn + GSM_HYPERFRAME - 10 - ((bi->fn%26)==19) - ((bi->fn%26)==20)) % GSM_HYPERFRAME, chan, tch_data, rc); } diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index 25f6583..259a573 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -479,38 +479,33 @@ * directly into the L1SAP, bypassing the TDMA multiplex logic oriented * towards receiving bursts */ -int rx_rach_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256) +int rx_rach_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, + uint8_t bid, const struct trx_ul_burst_ind *bi) { return 0; } /*! \brief a single burst was received by the PHY, process it */ -int rx_data_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256) +int rx_data_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, + uint8_t bid, const struct trx_ul_burst_ind *bi) { return 0; } -int rx_pdtch_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256) +int rx_pdtch_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, + uint8_t bid, const struct trx_ul_burst_ind *bi) { return 0; } -int rx_tchf_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256) +int rx_tchf_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, + uint8_t bid, const struct trx_ul_burst_ind *bi) { return 0; } -int rx_tchh_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, - enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits, - int8_t rssi, int16_t toa256) +int rx_tchh_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, + uint8_t bid, const struct trx_ul_burst_ind *bi) { return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iae6b78bafa4b86d0c681684de47320d641d3f7c0 Gerrit-Change-Number: 14612 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 26 21:13:26 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 26 Jun 2019 21:13:26 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts/scheduler: provide actual C/I values to OsmoPCU Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/14613 Change subject: osmo-bts/scheduler: provide actual C/I values to OsmoPCU ...................................................................... osmo-bts/scheduler: provide actual C/I values to OsmoPCU Change-Id: Ia58043bd2381a4d34d604522e02899ae64ee0d26 Fixes: OS#1855 --- M include/osmo-bts/scheduler.h M src/osmo-bts-trx/scheduler_trx.c 2 files changed, 18 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/14613/1 diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 4f40636..e693e3e 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -79,11 +79,13 @@ uint32_t ul_first_fn; /* fn of first burst */ uint8_t ul_mask; /* mask of received bursts */ - /* RSSI / TOA */ + /* measurements */ uint8_t rssi_num; /* number of RSSI values */ float rssi_sum; /* sum of RSSI values */ uint8_t toa_num; /* number of TOA values */ int32_t toa256_sum; /* sum of TOA values (1/256 symbol) */ + uint8_t ci_cb_num; /* number of C/I values */ + int32_t ci_cb_sum; /* sum of C/I values (in centiBels) */ /* loss detection */ uint8_t lost_frames; /* how many L2 frames were lost */ diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 294e73c..7bdbc4f 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -982,8 +982,11 @@ uint8_t *rssi_num = &chan_state->rssi_num; int32_t *toa256_sum = &chan_state->toa256_sum; uint8_t *toa_num = &chan_state->toa_num; + int32_t *ci_cb_sum = &chan_state->ci_cb_sum; + uint8_t *ci_cb_num = &chan_state->ci_cb_num; uint8_t l2[EGPRS_0503_MAX_BYTES]; int n_errors, n_bursts_bits, n_bits_total; + int16_t lqual_cb; uint16_t ber10k; int rc; @@ -1007,6 +1010,8 @@ *rssi_num = 0; *toa256_sum = 0; *toa_num = 0; + *ci_cb_sum = 0; + *ci_cb_num = 0; } /* update mask + rssi */ @@ -1016,6 +1021,12 @@ *toa256_sum += bi->toa256; (*toa_num)++; + /* C/I: Carrier-to-Interference ratio (in centiBels) */ + if (bi->flags & TRX_BI_F_CI_CB) { + *ci_cb_sum += bi->ci_cb; + (*ci_cb_num)++; + } + /* copy burst to buffer of 4 bursts */ if (bi->burst_len == EGPRS_BURST_LEN) { burst = *bursts_p + bid * 348; @@ -1069,13 +1080,15 @@ bi->fn % l1ts->mf_period, l1ts->mf_period); return 0; } + + lqual_cb = *ci_cb_num ? (*ci_cb_sum / *ci_cb_num) : 0; ber10k = compute_ber10k(n_bits_total, n_errors); return _sched_compose_ph_data_ind(l1t, bi->tn, *first_fn, chan, l2, rc, *rssi_sum / *rssi_num, *toa256_sum / *toa_num, - 0 /* FIXME: AVG C/I */, - ber10k, PRES_INFO_BOTH); + lqual_cb, ber10k, + PRES_INFO_BOTH); } /*! \brief a single TCH/F burst was received by the PHY, process it */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia58043bd2381a4d34d604522e02899ae64ee0d26 Gerrit-Change-Number: 14613 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 27 00:41:00 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 00:41:00 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14591 ) Change subject: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iec0d86f9be7243578ddc1ab322fc313cb5ac5d0b Gerrit-Change-Number: 14591 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 00:41: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 27 00:41:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 00:41:41 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: rename and clarify TRX_MAX_BURST_LEN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14610 ) Change subject: osmo-bts-trx/trx_if.c: rename and clarify TRX_MAX_BURST_LEN ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I383125e1c4df039fc6b554833bc8736deacbe731 Gerrit-Change-Number: 14610 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 00: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 Thu Jun 27 01:05:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:05:54 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: introduce TRXD header version handling In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14592 ) Change subject: osmo-bts-trx/trx_if.c: introduce TRXD header version handling ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14592 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I171c18229ca3e5cab70de0064a31e47c78602c0c Gerrit-Change-Number: 14592 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 01:05:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 01:12:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:12:35 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/scheduler: pass trx_ul_burst_ind to lchan handlers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14612 ) Change subject: osmo-bts-trx/scheduler: pass trx_ul_burst_ind to lchan handlers ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iae6b78bafa4b86d0c681684de47320d641d3f7c0 Gerrit-Change-Number: 14612 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Jun 2019 01:12:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 01:14:39 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:14:39 +0000 Subject: Change in ...osmo-mgw[master]: vty: allow 0 as conn-timeout to disable it In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14601 ) Change subject: vty: allow 0 as conn-timeout to disable it ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7dee7dafaaf4bb93fd692ea06b52b9e012beac6d Gerrit-Change-Number: 14601 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 01:14: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 27 01:15:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:15:06 +0000 Subject: Change in ...osmo-mgw[master]: vty: update desc of conn-timeout In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14602 ) Change subject: vty: update desc of conn-timeout ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib4d19104d558a26a444a80fb36f4b7b33bc5cc59 Gerrit-Change-Number: 14602 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 01:15:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 01:16:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:16:02 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: cosmetic: bsc: Document timer timing out in f_tc_ho_out_fail_no_ho_de... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14606 ) Change subject: cosmetic: bsc: Document timer timing out in f_tc_ho_out_fail_no_ho_detect ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4d06fcff63d82f849da08f509b007cb19e809fb0 Gerrit-Change-Number: 14606 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Jun 2019 01:16: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 27 01:17:08 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:17:08 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: bsc: Do proper chan release in TC_ho_out_fail_no_ho_detect In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14609 ) Change subject: bsc: Do proper chan release in TC_ho_out_fail_no_ho_detect ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic398896147a0b6b04ffeae56a23d25783b2b17fe Gerrit-Change-Number: 14609 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Jun 2019 01:17:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 01:17:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:17:32 +0000 Subject: Change in ...osmo-bsc[master]: bsc_subscr_conn_fsm: Use gscon_bssmap_clear() helper on send failure In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14607 ) Change subject: bsc_subscr_conn_fsm: Use gscon_bssmap_clear() helper on send failure ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I45b42b76c260a5bac416ad3a5761918a8ab59f86 Gerrit-Change-Number: 14607 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Jun 2019 01: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 Thu Jun 27 01:17:47 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:17:47 +0000 Subject: Change in ...osmo-bsc[master]: bsc_subscr_conn_fsm: Log Tx of BSSMAP Clear Request with cause In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14608 ) Change subject: bsc_subscr_conn_fsm: Log Tx of BSSMAP Clear Request with cause ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ief0ec314723ce1d23da334df2add73c36ebf19f3 Gerrit-Change-Number: 14608 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Jun 2019 01:17:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 01:17:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:17:49 +0000 Subject: Change in ...osmo-bsc[master]: bsc_subscr_conn_fsm: Use gscon_bssmap_clear() helper on send failure In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14607 ) Change subject: bsc_subscr_conn_fsm: Use gscon_bssmap_clear() helper on send failure ...................................................................... bsc_subscr_conn_fsm: Use gscon_bssmap_clear() helper on send failure Change-Id: I45b42b76c260a5bac416ad3a5761918a8ab59f86 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 1 insertion(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 7b9f912..0830dee 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -984,7 +984,6 @@ { uint8_t sapi; int rc; - struct msgb *resp = NULL; if (!conn->lchan) { LOGP(DMSC, LOGL_ERROR, @@ -1027,8 +1026,7 @@ failed_to_send: LOGPFSML(conn->fi, LOGL_ERROR, "Tx BSSMAP CLEAR REQUEST to MSC\n"); - resp = gsm0808_create_clear_rqst(GSM0808_CAUSE_EQUIPMENT_FAILURE); - gscon_sigtran_send(conn, resp); + gscon_bssmap_clear(conn, GSM0808_CAUSE_EQUIPMENT_FAILURE); osmo_fsm_inst_state_chg(conn->fi, ST_ACTIVE, 0, 0); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I45b42b76c260a5bac416ad3a5761918a8ab59f86 Gerrit-Change-Number: 14607 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 Thu Jun 27 01:17:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:17:49 +0000 Subject: Change in ...osmo-bsc[master]: bsc_subscr_conn_fsm: Log Tx of BSSMAP Clear Request with cause In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bsc/+/14608 ) Change subject: bsc_subscr_conn_fsm: Log Tx of BSSMAP Clear Request with cause ...................................................................... bsc_subscr_conn_fsm: Log Tx of BSSMAP Clear Request with cause Change-Id: Ief0ec314723ce1d23da334df2add73c36ebf19f3 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 0830dee..bc5cb27 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -133,8 +133,12 @@ static void gscon_bssmap_clear(struct gsm_subscriber_connection *conn, enum gsm0808_cause cause) { - struct msgb *resp = gsm0808_create_clear_rqst(cause); + + struct msgb *resp; int rc; + + LOGPFSML(conn->fi, LOGL_DEBUG, "Tx BSSMAP CLEAR REQUEST(%s) to MSC\n", gsm0808_cause_name(cause)); + resp = gsm0808_create_clear_rqst(cause); if (!resp) { LOGPFSML(conn->fi, LOGL_ERROR, "Unable to compose BSSMAP Clear Request message\n"); return; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/14608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ief0ec314723ce1d23da334df2add73c36ebf19f3 Gerrit-Change-Number: 14608 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 Thu Jun 27 01:18:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:18:02 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: mgw: add osmo-mgw.cfg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14603 ) Change subject: mgw: add osmo-mgw.cfg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3dd498902db4ea0233f43099ec5b6b4292714908 Gerrit-Change-Number: 14603 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 01: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 Thu Jun 27 01:18:41 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:18:41 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RTP_Emulation: allow expecting connection refused In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14604 ) Change subject: RTP_Emulation: allow expecting connection refused ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id6365bc59e19368a87b951367742a0b7cc5e9574 Gerrit-Change-Number: 14604 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 01:18:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 01:19:19 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:19:19 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: mgw: add connection timeout test In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14605 ) Change subject: mgw: add connection timeout test ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I020b682b347045818fd28de240daa0aa33fe43b4 Gerrit-Change-Number: 14605 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 01:19: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 27 01:20:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:20:20 +0000 Subject: Change in ...osmo-bts[master]: bts: Bypass T200 DCCH values for CCCH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14568 ) Change subject: bts: Bypass T200 DCCH values for CCCH ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3d7e1883811acf97aac97325739f2ff97fc2aa08 Gerrit-Change-Number: 14568 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 01:20:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 01:20:21 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:20:21 +0000 Subject: Change in ...osmo-bts[master]: bts: Bypass T200 DCCH values for CCCH In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14568 ) Change subject: bts: Bypass T200 DCCH values for CCCH ...................................................................... bts: Bypass T200 DCCH values for CCCH Otherwise t200_ms_dcch array values are left uninitialized with random values, and passed later on to lapdm_channel_init2(). lapdm_channel_init2() will anyways fail during initial check on get_n200_dcch() and return -EINVAL, so let's not print garbage or call a function which will anyways simply return an error. Catched due to some strange values seen in log (see D0 and D3): osmo-bts/src/common/bts.c:421 (bts=0,trx=0,ts=0,ss=4) Setting T200 D0=1028672, D3=2, S0=520, S3=520 (all in ms) Related: OS#4066 Change-Id: I3d7e1883811acf97aac97325739f2ff97fc2aa08 --- M src/common/bts.c 1 file changed, 11 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/common/bts.c b/src/common/bts.c index b912f33..f582ebd 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -405,6 +405,7 @@ t200_ms_dcch[DL_SAPI3] = bts->t200_ms[T200_FACCH_H] + fn_advance_ms; break; default: + /* Channels such as CCCH don't use lapdm DL, and hence no T200 is needed */ return -1; } return 0; @@ -415,14 +416,16 @@ struct lapdm_channel *lc = &lchan->lapdm_ch; int t200_ms_dcch[_NR_DL_SAPI], t200_ms_acch[_NR_DL_SAPI]; - t200_by_lchan(t200_ms_dcch, t200_ms_acch, lchan); - - LOGPLCHAN(lchan, DLLAPD, LOGL_DEBUG, "Setting T200 D0=%u, D3=%u, S0=%u, S3=%u (all in ms)\n", - t200_ms_dcch[DL_SAPI0], t200_ms_dcch[DL_SAPI3], t200_ms_acch[DL_SAPI0], t200_ms_acch[DL_SAPI3]); - - lapdm_channel_init2(lc, LAPDM_MODE_BTS, t200_ms_dcch, t200_ms_acch, lchan->type); - lapdm_channel_set_flags(lc, LAPDM_ENT_F_POLLING_ONLY); - lapdm_channel_set_l1(lc, NULL, lchan); + if (t200_by_lchan(t200_ms_dcch, t200_ms_acch, lchan) == 0) { + LOGPLCHAN(lchan, DLLAPD, LOGL_DEBUG, + "Setting T200 D0=%u, D3=%u, S0=%u, S3=%u (all in ms)\n", + t200_ms_dcch[DL_SAPI0], t200_ms_dcch[DL_SAPI3], + t200_ms_acch[DL_SAPI0], t200_ms_acch[DL_SAPI3]); + lapdm_channel_init2(lc, LAPDM_MODE_BTS, t200_ms_dcch, t200_ms_acch, lchan->type); + lapdm_channel_set_flags(lc, LAPDM_ENT_F_POLLING_ONLY); + lapdm_channel_set_l1(lc, NULL, lchan); + } + /* We still need to set Rx callback to receive RACH requests: */ lapdm_channel_set_l3(lc, lapdm_rll_tx_cb, lchan); return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3d7e1883811acf97aac97325739f2ff97fc2aa08 Gerrit-Change-Number: 14568 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 01:21:49 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:21:49 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Support uppercase LCO options In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14589 ) Change subject: mgw: Support uppercase LCO options ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ic28a5eacc4c441d68e8a20d2743956ab2e01125d Gerrit-Change-Number: 14589 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Jun 2019 01:21:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 01:22:22 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:22:22 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Support uppercase header parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14590 ) Change subject: mgw: Support uppercase header parameters ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14590 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I48252415f9d0cd985ad097f334aa4c1665f52511 Gerrit-Change-Number: 14590 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Jun 2019 01:22:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 01:22:27 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:22:27 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Support uppercase LCO options In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14589 ) Change subject: mgw: Support uppercase LCO options ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ic28a5eacc4c441d68e8a20d2743956ab2e01125d Gerrit-Change-Number: 14589 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Jun 2019 01:22: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 27 01:22:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:22:46 +0000 Subject: Change in ...osmo-mgw[master]: mgcp-cli: Support uppercase header parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14594 ) Change subject: mgcp-cli: Support uppercase header parameters ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I4f7b07b77c2946e9cd6f0eeca00011bd905126dd Gerrit-Change-Number: 14594 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Jun 2019 01:22: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 27 01:23:03 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:23:03 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Support receiving uppercase connection mode In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14595 ) Change subject: mgw: Support receiving uppercase connection mode ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I4da93dfc69b5585a197a7e201a1afb72c2f97030 Gerrit-Change-Number: 14595 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Jun 2019 01:23:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 01:23:23 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:23:23 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Support receiving lowercase LCO codec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14596 ) Change subject: mgw: Support receiving lowercase LCO codec ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I51dc1cdcbe2a5587769335fbecb5039ef22cae5d Gerrit-Change-Number: 14596 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Jun 2019 01:23: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 27 01:23:35 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:23:35 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Make check of duplicated LCO fields case insensitive In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14597 ) Change subject: mgw: Make check of duplicated LCO fields case insensitive ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I254bfa3a2d2562441ca3a576cc8e1e7967d9c495 Gerrit-Change-Number: 14597 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Jun 2019 01:23:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 01:23:44 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:23:44 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Allow receiving lowercase MGCP header keyword In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14598 ) Change subject: mgw: Allow receiving lowercase MGCP header keyword ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7d1e55faddafa3c3093d38513d4a434ecf5ea5bd Gerrit-Change-Number: 14598 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Jun 2019 01:23: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 27 01:23:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:23:52 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Allow receiving lowercase X-Osmo-Ign Callid field In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14599 ) Change subject: mgw: Allow receiving lowercase X-Osmo-Ign Callid field ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc1b3bfe6ff6922df478cea89bbbb291b5fa5706 Gerrit-Change-Number: 14599 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Jun 2019 01:23: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 27 01:24:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:24:02 +0000 Subject: Change in ...osmo-mgw[master]: mgw: Allow receiving uppercase noanswer keyword In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14600 ) Change subject: mgw: Allow receiving uppercase noanswer keyword ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I637cb20f0af4de33ebf6589b1aff260d57d03e7b Gerrit-Change-Number: 14600 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Jun 2019 01:24: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 27 01:36:20 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:36:20 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: legacy flag is only for version 0x00 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14584 ) Change subject: trx_toolkit/data_msg.py: legacy flag is only for version 0x00 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I4d6c0bf54649d636ea6cb3fa2f37486b6619d5b3 Gerrit-Change-Number: 14584 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Jun 2019 01:36:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 01:36:54 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:36:54 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/fake_trx.py: add basic TRXD version 0x01 support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14585 ) Change subject: trx_toolkit/fake_trx.py: add basic TRXD version 0x01 support ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I164f5ae4ce7694d6e324aab927a04e96d489ebd8 Gerrit-Change-Number: 14585 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Jun 2019 01:36:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 01:37:12 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 27 Jun 2019 01:37:12 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/fake_trx.py: introduce a TRXC command for C/I simulation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14586 ) Change subject: trx_toolkit/fake_trx.py: introduce a TRXC command for C/I simulation ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I7080effbbc1022d1884c6d6f0cb580eba8e514ff Gerrit-Change-Number: 14586 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 27 Jun 2019 01:37:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Jun 27 02:42:26 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 27 Jun 2019 02:42:26 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d142d234d6ae_6eea925f48160f5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 463s] | This file was extended by libosmocore config.status 1.1.0.73-e1e1, which was [ 463s] | generated by GNU Autoconf 2.69. Invocation command line was [ 463s] | [ 463s] | CONFIG_FILES = [ 463s] | CONFIG_HEADERS = [ 463s] | CONFIG_LINKS = [ 463s] | CONFIG_COMMANDS = [ 463s] | $ ./config.status Doxyfile.core [ 463s] | [ 463s] | on armbuild26 [ 463s] | [ 463s] | config.status:1200: creating Doxyfile.core [ 463s] [ 463s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 463s] make[1]: *** [override_dh_auto_test] Error 1 [ 463s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 463s] debian/rules:15: recipe for target 'build' failed [ 463s] make: *** [build] Error 2 [ 463s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 463s] [ 463s] armbuild26 failed "build libosmocore_1.1.0.73.e1e1.dsc" at Thu Jun 27 02:42:11 UTC 2019. [ 463s] [ 463s] ### VM INTERACTION START ### [ 466s] [ 442.399703] sysrq: SysRq : Power Off [ 466s] [ 442.403526] reboot: Power down [ 466s] ### VM INTERACTION END ### [ 466s] [ 466s] armbuild26 failed "build libosmocore_1.1.0.73.e1e1.dsc" at Thu Jun 27 02:42:15 UTC 2019. [ 466s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Jun 27 04:14:59 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 27 Jun 2019 04:14:59 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d1442ceedae5_6eea925f48277de@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 204s] #define VERSION "0.1.0" [ 204s] #define STDC_HEADERS 1 [ 204s] [ 170.259316] serial8250: too much work for irq4 [ 204s] #define HAVE_SYS_TYPES_H 1 [ 204s] #define HAVE_SYS_STAT_H 1 [ 204s] #define HAVE_STDLIB_H 1 [ 204s] #define HAVE_STRING_H 1 [ 204s] #define HAVE_MEMORY_H 1 [ 204s] #define HAVE_STRINGS_H 1 [ 204s] #define HAVE_INTTYPES_H 1 [ 204s] #define HAVE_STDINT_H 1 [ 204s] #define HAVE_UNISTD_H 1 [ 204s] #define HAVE_DLFCN_H 1 [ 204s] #define LT_OBJDIR ".libs/" [ 204s] [ 204s] configure: exit 1 [ 204s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 204s] make: *** [debian/rules:45: build] Error 2 [ 204s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 204s] [ 204s] cloud106 failed "build osmo-sysmon_0.1.0.dsc" at Thu Jun 27 04:14:44 UTC 2019. [ 204s] [ 204s] ### VM INTERACTION START ### [ 207s] [ 173.473477] sysrq: SysRq : Power Off [ 207s] [ 173.478307] reboot: Power down [ 208s] ### VM INTERACTION END ### [ 208s] [ 208s] cloud106 failed "build osmo-sysmon_0.1.0.dsc" at Thu Jun 27 04:14:49 UTC 2019. [ 208s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Jun 27 04:14:59 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 27 Jun 2019 04:14:59 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d1442ce501d1_6eea925f4827672@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Testing/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 100s] | configure: exit 0 [ 100s] [ 100s] # -*- compilation -*- [ 100s] 4. testsuite.at:23: testing db ... [ 100s] ./testsuite.at:28: $abs_top_builddir/tests/db/db_test [ 100s] --- expout 2019-06-27 04:14:54.288162585 +0000 [ 100s] +++ /usr/src/packages/BUILD/openbsc/tests/testsuite.dir/at-groups/4/stdout 2019-06-27 04:14:54.376162587 +0000 [ 100s] @@ -1,4 +1,6 @@ [ 100s] Testing subscriber database code. [ 100s] DB: Database initialized. [ 100s] +no tables in statement ! [ 100s] +no tables in statement ! [ 100s] DB: Database prepared. [ 100s] Done [ 100s] 4. testsuite.at:23: 4. db (testsuite.at:23): FAILED (testsuite.at:28) [ 100s] make[1]: *** [debian/rules:30: override_dh_auto_test] Error 1 [ 100s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 100s] make: *** [debian/rules:13: build] Error 2 [ 100s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 100s] [ 100s] build70 failed "build openbsc_1.2.0.dsc" at Thu Jun 27 04:14:54 UTC 2019. [ 100s] [ 100s] ### VM INTERACTION START ### [ 103s] [ 93.897348] sysrq: SysRq : Power Off [ 103s] [ 93.899417] reboot: Power down [ 103s] ### VM INTERACTION END ### [ 103s] [ 103s] build70 failed "build openbsc_1.2.0.dsc" at Thu Jun 27 04:14:58 UTC 2019. [ 103s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Jun 27 05:49:51 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 Jun 2019 05:49:51 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/14591 ) Change subject: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iec0d86f9be7243578ddc1ab322fc313cb5ac5d0b Gerrit-Change-Number: 14591 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 05:49: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 Thu Jun 27 05:50:17 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 Jun 2019 05:50:17 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14591 ) Change subject: osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 ...................................................................... osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256 Change-Id: Iec0d86f9be7243578ddc1ab322fc313cb5ac5d0b --- 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 2805260..0becdd5 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -611,9 +611,9 @@ return -EINVAL; } tn = buf[0]; - fn = (buf[1] << 24) | (buf[2] << 16) | (buf[3] << 8) | buf[4]; + fn = osmo_load32be(buf + 1); rssi = -(int8_t)buf[5]; - toa256 = ((int16_t)(buf[6] << 8) | buf[7]); + toa256 = (int16_t) osmo_load16be(buf + 6); /* copy and convert bits {254..0} to sbits {-127..127} */ for (i = 0; i < burst_len; i++) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iec0d86f9be7243578ddc1ab322fc313cb5ac5d0b Gerrit-Change-Number: 14591 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 05:50:18 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 27 Jun 2019 05:50:18 +0000 Subject: Change in ...osmo-bts[master]: osmo-bts-trx/trx_if.c: rename and clarify TRX_MAX_BURST_LEN In-Reply-To: References: Message-ID: fixeria has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-bts/+/14610 ) Change subject: osmo-bts-trx/trx_if.c: rename and clarify TRX_MAX_BURST_LEN ...................................................................... osmo-bts-trx/trx_if.c: rename and clarify TRX_MAX_BURST_LEN This constant actually defines the maximum TRXD message length, which includes the header and burst bits, not just burst. Change-Id: I383125e1c4df039fc6b554833bc8736deacbe731 --- M src/osmo-bts-trx/trx_if.c 1 file changed, 5 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 0becdd5..9b1604c 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -52,8 +52,6 @@ int transceiver_available = 0; -#define TRX_MAX_BURST_LEN 512 - /* * socket helper functions */ @@ -587,10 +585,13 @@ * TRX burst data socket */ +/* Maximum DATA message length (header + burst) */ +#define TRX_DATA_MSG_MAX_LEN 512 + static int trx_data_read_cb(struct osmo_fd *ofd, unsigned int what) { struct trx_l1h *l1h = ofd->data; - uint8_t buf[TRX_MAX_BURST_LEN]; + uint8_t buf[TRX_DATA_MSG_MAX_LEN]; int len; uint8_t tn; int8_t rssi; @@ -661,7 +662,7 @@ int trx_if_send_burst(struct trx_l1h *l1h, uint8_t tn, uint32_t fn, uint8_t pwr, const ubit_t *bits, uint16_t nbits) { - uint8_t buf[TRX_MAX_BURST_LEN]; + uint8_t buf[TRX_DATA_MSG_MAX_LEN]; if ((nbits != GSM_BURST_LEN) && (nbits != EGPRS_BURST_LEN)) { LOGPPHI(l1h->phy_inst, DTRX, LOGL_ERROR, "Tx burst length %u invalid\n", nbits); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/14610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I383125e1c4df039fc6b554833bc8736deacbe731 Gerrit-Change-Number: 14610 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 admin at opensuse.org Thu Jun 27 05:52:09 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 27 Jun 2019 05:52:09 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d1459ab84758_6eea925f48371e7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 819s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 819s] ./src/common/bts.c:424: undefined reference to `lapdm_channel_init2' [ 819s] collect2: error: ld returned 1 exit status [ 819s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 819s] make[4]: *** [osmo-bts-virtual] Error 1 [ 819s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 820s] Makefile:385: recipe for target 'all-recursive' failed [ 820s] make[3]: *** [all-recursive] Error 1 [ 820s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 820s] Makefile:434: recipe for target 'all-recursive' failed [ 820s] make[2]: *** [all-recursive] Error 1 [ 820s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 820s] Makefile:366: recipe for target 'all' failed [ 820s] make[1]: *** [all] Error 2 [ 820s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 820s] dh_auto_build: make -j1 returned exit code 2 [ 820s] debian/rules:12: recipe for target 'build' failed [ 820s] make: *** [build] Error 2 [ 820s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 820s] [ 820s] obs-arm-6 failed "build osmo-bts_0.8.1.329.f227.dsc" at Thu Jun 27 05:51:49 UTC 2019. [ 820s] [ 820s] ### VM INTERACTION START ### [ 823s] [ 788.143279] sysrq: SysRq : Power Off [ 823s] [ 788.160433] reboot: Power down [ 824s] ### VM INTERACTION END ### [ 824s] [ 824s] obs-arm-6 failed "build osmo-bts_0.8.1.329.f227.dsc" at Thu Jun 27 05:51:53 UTC 2019. [ 824s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Jun 27 07:06:10 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 27 Jun 2019 07:06:10 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: mgw: add osmo-mgw.cfg In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14603 ) Change subject: mgw: add osmo-mgw.cfg ...................................................................... mgw: add osmo-mgw.cfg Change-Id: I3dd498902db4ea0233f43099ec5b6b4292714908 --- A mgw/osmo-mgw.cfg 1 file changed, 37 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/mgw/osmo-mgw.cfg b/mgw/osmo-mgw.cfg new file mode 100644 index 0000000..b27a50c --- /dev/null +++ b/mgw/osmo-mgw.cfg @@ -0,0 +1,37 @@ +! +! OsmoMGW (1.2.0.17-52e3) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging timestamp 1 + logging print extended-timestamp 1 + logging level set-all notice + logging level lmgcp debug +! +stats interval 5 +! +line vty + no login + bind 127.0.0.1 +! +mgcp + bind ip 127.0.0.1 + bind port 2427 + rtp port-range 4002 16000 + rtp bind-ip 127.0.0.1 + rtp ip-probing + rtp ip-dscp 184 + no rtp keep-alive + no rtcp-omit + no rtp-patch + sdp audio-payload number 98 + sdp audio-payload name GSM + sdp audio-payload send-ptime + sdp audio-payload send-name + loop 0 + number endpoints 31 + allow-transcoding + osmux off -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3dd498902db4ea0233f43099ec5b6b4292714908 Gerrit-Change-Number: 14603 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 07:06:11 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 27 Jun 2019 07:06:11 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: RTP_Emulation: allow expecting connection refused In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14604 ) Change subject: RTP_Emulation: allow expecting connection refused ...................................................................... RTP_Emulation: allow expecting connection refused Prepare for upcoming connection timeout test, where we want to run into connection refused. Change-Id: Id6365bc59e19368a87b951367742a0b7cc5e9574 --- M library/RTP_Emulation.ttcn 1 file changed, 43 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/library/RTP_Emulation.ttcn b/library/RTP_Emulation.ttcn index 31bf68a..70604dc 100644 --- a/library/RTP_Emulation.ttcn +++ b/library/RTP_Emulation.ttcn @@ -105,6 +105,9 @@ var uint32_t g_rx_last_ts; var IuUP_Entity g_iuup_ent; // := valueof(t_IuUP_Entity(1)); + + var boolean g_conn_refuse_expect := false; + var boolean g_conn_refuse_received := false; } type enumerated RtpemMode { @@ -175,9 +178,12 @@ signature RTPEM_mode(in RtpemMode mode); signature RTPEM_configure(in RtpemConfig cfg); signature RTPEM_stats_get(out RtpemStats stats, in boolean rtcp); +signature RTPEM_conn_refuse_expect(in boolean expect); +signature RTPEM_conn_refuse_received(out boolean received); type port RTPEM_CTRL_PT procedure { - inout RTPEM_bind, RTPEM_connect, RTPEM_mode, RTPEM_configure, RTPEM_stats_get; + inout RTPEM_bind, RTPEM_connect, RTPEM_mode, RTPEM_configure, RTPEM_stats_get, RTPEM_conn_refuse_expect, + RTPEM_conn_refuse_received; } with { extension "internal" }; function f_rtpem_bind(RTPEM_CTRL_PT pt, in HostName local_host, inout PortNumber local_port) { @@ -299,6 +305,21 @@ } } +function f_rtpem_conn_refuse_expect(RTPEM_CTRL_PT pt) { + pt.call(RTPEM_conn_refuse_expect:{true}) { + [] pt.getreply(RTPEM_conn_refuse_expect:{true}) {}; + } +} + +function f_rtpem_conn_refuse_verify(RTPEM_CTRL_PT pt) { + pt.call(RTPEM_conn_refuse_received:{?}) { + [] pt.getreply(RTPEM_conn_refuse_received:{true}) {}; + [] pt.getreply(RTPEM_conn_refuse_received:{false}) { + setverdict(fail, "Expected to receive connection refused"); + }; + } +} + template PDU_RTP ts_RTP(BIT32_BO_LAST ssrc, INT7b pt, LIN2_BO_LAST seq, uint32_t ts, octetstring payload, BIT1 marker := '0'B) := { version := 2, @@ -348,6 +369,11 @@ tr_rtp.msg := { rtp := ? }; tr_rtcp.msg := { rtcp := ? }; + var template ASP_Event tr_conn_refuse := {result := { errorCode := ERROR_SOCKET, + connId := ?, + os_error_code := 111, + os_error_text := ? /* "Connection refused" */}}; + g_iuup_ent := valueof(t_IuUP_Entity(g_cfg.iuup_tx_init)); while (true) { @@ -448,7 +474,12 @@ CTRL.reply(RTPEM_stats_get:{g_stats_rtp, is_rtcp}); } } - + [] CTRL.getcall(RTPEM_conn_refuse_expect:{?}) -> param(g_conn_refuse_expect) { + CTRL.reply(RTPEM_conn_refuse_expect:{g_conn_refuse_expect}); + } + [] CTRL.getcall(RTPEM_conn_refuse_received:{?}) { + CTRL.reply(RTPEM_conn_refuse_received:{g_conn_refuse_received}); + } /* simply ignore any RTTP/RTP if receiver not enabled */ @@ -491,6 +522,16 @@ lengthof(g_cfg.tx_fixed_payload); } + /* connection refused */ + [g_conn_refuse_expect] RTP.receive(tr_conn_refuse) { + log("Connection refused (expected)"); + g_conn_refuse_received := true; + } + [not g_conn_refuse_expect] RTP.receive(tr_conn_refuse) { + setverdict(fail, "Connection refused (unexpected)"); + mtc.stop; + } + /* fail on any unexpected messages */ [] RTP.receive { setverdict(fail, "Received unexpected type from RTP"); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id6365bc59e19368a87b951367742a0b7cc5e9574 Gerrit-Change-Number: 14604 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 07:06:11 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 27 Jun 2019 07:06:11 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: mgw: add connection timeout test In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14605 ) Change subject: mgw: add connection timeout test ...................................................................... mgw: add connection timeout test Change-Id: I020b682b347045818fd28de240daa0aa33fe43b4 --- M mgw/MGCP_Test.ttcn 1 file changed, 40 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/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 31c2a1d..aeb6ef8 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -91,6 +91,7 @@ f_vty_transceive(MGWVTY, "enable"); f_vty_enable_osmux(osmux_on); + f_vty_config(MGWVTY, "mgcp", "conn-timeout 0"); } private function f_rtpem_init(inout RTP_Emulation_CT comp_ref, integer i) @@ -2066,6 +2067,43 @@ /* TODO: AUCX (various) */ /* TODO: invalid verb (various) */ + + testcase TC_conn_timeout() runs on dummy_CT { + var RtpFlowData flow; + var MgcpEndpoint ep := c_mgw_ep_rtpbridge & "1@" & c_mgw_domain; + var MgcpCallId call_id := '1225'H; + var MGCP_RecvFrom mrf; + + f_init(ep); + log("Setting conn-timeout to 1s"); + f_vty_config(MGWVTY, "mgcp", "conn-timeout 1"); /* reset in f_init_vty() */ + + log("Sending RTP data for 1.5s"); + flow := valueof(t_RtpFlow(mp_local_ip, mp_remote_ip, 111, "GSM-HR-08/8000/1")); + flow.em.portnr := 10000; + f_flow_create(RTPEM[0], ep, call_id, "loopback", flow); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); + f_sleep(1.5); + + log("Stopping for 0.5s and resuming"); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_NONE); + f_sleep(0.5); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); + f_sleep(0.1); + + log("Stopping for 1.5s, expecting to run into timeout"); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_NONE); + f_sleep(1.5); + + log("Resuming should fail now"); + f_rtpem_conn_refuse_expect(RTPEM[0]); + f_rtpem_mode(RTPEM[0], RTPEM_MODE_BIDIR); + f_sleep(0.2); + f_rtpem_conn_refuse_verify(RTPEM[0]); + + setverdict(pass); + } + control { execute(TC_selftest()); execute(TC_crcx()); @@ -2119,5 +2157,7 @@ execute(TC_amr_oa_bwe_rtp_conversion()); execute(TC_amr_oa_oa_rtp_conversion()); execute(TC_amr_bwe_bwe_rtp_conversion()); + + execute(TC_conn_timeout()); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I020b682b347045818fd28de240daa0aa33fe43b4 Gerrit-Change-Number: 14605 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 07:23:39 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 27 Jun 2019 07:23:39 +0000 Subject: Change in ...osmo-mgw[master]: vty: allow 0 as conn-timeout to disable it In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14601 ) Change subject: vty: allow 0 as conn-timeout to disable it ...................................................................... Patch Set 3: Code-Review+2 (1 comment) Thanks for all the reviews! > Is there any 'mgcp_vty_reference.xml'? If yes, please also update it. I'll do that in a follow-up patch. Giving +2, because of >2x +1 (see https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit#Voting-Rules-for-merging-a-patch-to-master ). https://gerrit.osmocom.org/#/c/14601/1/src/libosmo-mgcp/mgcp_vty.c File src/libosmo-mgcp/mgcp_vty.c: https://gerrit.osmocom.org/#/c/14601/1/src/libosmo-mgcp/mgcp_vty.c at 1392 PS1, Line 1392: DEFUN(cfg_mgcp_no_conn_timeout, > We should agree on one way to do it, because "no e1_line 0 keepalive" is still what libosmo-abis wan [?] I would also like to have this consistent, but unfortunately we have both versions already. Here are two examples of <0-...: osmo-hlr/src/hlr_vty.c: "ncss-guard-timeout <0-255>", osmo-msc/src/libmsc/msc_vty.c: "mncc guard-timeout <0-255>", So I'll go with the <0-... version here instead of changing it again. Maybe it makes sense to propose a standard way of doing it (on the ML) and then deprecating the other one? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7dee7dafaaf4bb93fd692ea06b52b9e012beac6d Gerrit-Change-Number: 14601 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 07:23:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Comment-In-Reply-To: Hoernchen Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 07:24:59 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 27 Jun 2019 07:24:59 +0000 Subject: Change in ...osmo-mgw[master]: vty: update desc of conn-timeout In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14602 ) Change subject: vty: update desc of conn-timeout ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib4d19104d558a26a444a80fb36f4b7b33bc5cc59 Gerrit-Change-Number: 14602 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 07:24:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 07:25:08 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 27 Jun 2019 07:25:08 +0000 Subject: Change in ...osmo-mgw[master]: vty: allow 0 as conn-timeout to disable it In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14601 ) Change subject: vty: allow 0 as conn-timeout to disable it ...................................................................... vty: allow 0 as conn-timeout to disable it VTY command to disable conn-timeout again, after it has been enabled. conn-timeout was introduced in [1]. [1] Change-Id I18886052e090466f73829133c24f011806cc1fe0. Change-Id: I7dee7dafaaf4bb93fd692ea06b52b9e012beac6d --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 06aa7c8..a479b95 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -1379,10 +1379,10 @@ DEFUN(cfg_mgcp_conn_timeout, cfg_mgcp_conn_timeout_cmd, - "conn-timeout <1-65534>", - "Set a time after which inactive connections (CIs) are closed. This can be used to work around interoperability" - " problems causing connections to stay open forever, and slowly exhausting all available ports. Do not enable" - " when LCLS is used (connections in LCLS state appear to be inactive)!\n" + "conn-timeout <0-65534>", + "Set a time after which inactive connections (CIs) are closed. Set to 0 to disable timeout. This can be used to" + " work around interoperability problems causing connections to stay open forever, and slowly exhausting all" + " available ports. Do not enable when LCLS is used (connections in LCLS state appear to be inactive)!\n" "Timeout value (sec.)\n") { g_cfg->conn_timeout = strtoul(argv[0], NULL, 10); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7dee7dafaaf4bb93fd692ea06b52b9e012beac6d Gerrit-Change-Number: 14601 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen 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 Thu Jun 27 07:25:08 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 27 Jun 2019 07:25:08 +0000 Subject: Change in ...osmo-mgw[master]: vty: update desc of conn-timeout In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14602 ) Change subject: vty: update desc of conn-timeout ...................................................................... vty: update desc of conn-timeout It can be used together with LCLS, just make sure to also enable keep-alive packets. In OS#3429 it was pointed out, that during LCLS the media path remains active but is not used. Without any traffic flowing, this looks like a timed out connection and so it will be killed if conn-timeout is set. However, OsmoBSC and OsmoMSC have an option to enable RTP keep-alive packets (through libosmo-mgcp, originally intended to keep connections behind NAT open). If that option is enabled, the keep-alive packets should also prevent the conn-timeout. Related: OS#3783 Change-Id: Ib4d19104d558a26a444a80fb36f4b7b33bc5cc59 --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index a479b95..5f9853b 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -1382,7 +1382,8 @@ "conn-timeout <0-65534>", "Set a time after which inactive connections (CIs) are closed. Set to 0 to disable timeout. This can be used to" " work around interoperability problems causing connections to stay open forever, and slowly exhausting all" - " available ports. Do not enable when LCLS is used (connections in LCLS state appear to be inactive)!\n" + " available ports. Enable keep-alive packets in MGW clients when using this option together with LCLS (OsmoBSC," + " OsmoMSC: 'rtp keep-alive')!\n" "Timeout value (sec.)\n") { g_cfg->conn_timeout = strtoul(argv[0], NULL, 10); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib4d19104d558a26a444a80fb36f4b7b33bc5cc59 Gerrit-Change-Number: 14602 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 07:42:25 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 27 Jun 2019 07:42:25 +0000 Subject: Change in ...osmo-mgw[master]: manuals: update VTY documentation Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14614 Change subject: manuals: update VTY documentation ...................................................................... manuals: update VTY documentation Change-Id: Id34c363080ced158d1f1eddd15b954e731797cf8 --- M doc/manuals/chapters/counters_generated.adoc M doc/manuals/vty/mgw_vty_reference.xml 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/14/14614/1 diff --git a/doc/manuals/chapters/counters_generated.adoc b/doc/manuals/chapters/counters_generated.adoc index 22c321d..090bc29 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 based on OsmoMGW 1.5.0.60-f638 (OsmoMGW). +These counters and their description based on OsmoMGW 1.5.0.64-189f (OsmoMGW). === Rate Counters diff --git a/doc/manuals/vty/mgw_vty_reference.xml b/doc/manuals/vty/mgw_vty_reference.xml index 1770dab..047a2ad 100644 --- a/doc/manuals/vty/mgw_vty_reference.xml +++ b/doc/manuals/vty/mgw_vty_reference.xml @@ -1509,10 +1509,10 @@ - + - - + + -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id34c363080ced158d1f1eddd15b954e731797cf8 Gerrit-Change-Number: 14614 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 27 08:01:42 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 27 Jun 2019 08:01:42 +0000 Subject: Change in ...docker-playground[master]: regen_doc: check OSMO_INTERACT_VTY, fix default Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/14615 Change subject: regen_doc: check OSMO_INTERACT_VTY, fix default ...................................................................... regen_doc: check OSMO_INTERACT_VTY, fix default Change default from osmo-interact-vty.py to osmo_interact_vty.py, which is the name of the script in osmo-python-tests.git. Check if that script is in PATH before building and running the docker container. Change-Id: I763c7379b710160e0155f1fde091137754141335 --- M scripts/regen_doc.sh 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/15/14615/1 diff --git a/scripts/regen_doc.sh b/scripts/regen_doc.sh index 5327ae8..cd85d01 100755 --- a/scripts/regen_doc.sh +++ b/scripts/regen_doc.sh @@ -10,7 +10,12 @@ IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" if [ -z "$OSMO_INTERACT_VTY" ]; then - OSMO_INTERACT_VTY="osmo-interact-vty.py" + OSMO_INTERACT_VTY="osmo_interact_vty.py" +fi +if ! command -v "$OSMO_INTERACT_VTY" 2>&1; then + set +x + echo "ERROR: $OSMO_INTERACT_VTY not found. Are osmo-python-tests in PATH?" + exit 1 fi docker_images_require \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I763c7379b710160e0155f1fde091137754141335 Gerrit-Change-Number: 14615 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Jun 27 08:32:25 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 27 Jun 2019 08:32:25 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d147f29e4600_6eea925f4873879@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-msc failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 610s] tmsi |= GSM23003_TMSI_SGSN_MASK; [ 610s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 610s] vlr.c:339:12: note: each undeclared identifier is reported only once for each function it appears in [ 610s] Makefile:442: recipe for target 'vlr.o' failed [ 610s] make[4]: *** [vlr.o] Error 1 [ 610s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/libvlr' [ 610s] Makefile:422: recipe for target 'all-recursive' failed [ 610s] make[3]: *** [all-recursive] Error 1 [ 610s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 610s] Makefile:462: recipe for target 'all-recursive' failed [ 610s] make[2]: *** [all-recursive] Error 1 [ 610s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 610s] Makefile:394: recipe for target 'all' failed [ 610s] make[1]: *** [all] Error 2 [ 610s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 610s] dh_auto_build: make -j1 returned exit code 2 [ 610s] debian/rules:45: recipe for target 'build' failed [ 610s] make: *** [build] Error 2 [ 610s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 610s] [ 610s] armbuild25 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Thu Jun 27 08:32:09 UTC 2019. [ 610s] [ 610s] ### VM INTERACTION START ### [ 613s] [ 572.891171] sysrq: SysRq : Power Off [ 613s] [ 572.912645] reboot: Power down [ 613s] ### VM INTERACTION END ### [ 613s] [ 613s] armbuild25 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Thu Jun 27 08:32:12 UTC 2019. [ 613s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Jun 27 08:45:16 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 27 Jun 2019 08:45:16 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d148237419ef_6eea925f487818@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-sgsn failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 665s] bss_ptmsi = bss_ptmsi | GSM23003_TMSI_SGSN_MASK; [ 665s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 665s] gb_proxy.c:246:28: note: each undeclared identifier is reported only once for each function it appears in [ 665s] Makefile:615: recipe for target 'gb_proxy.o' failed [ 665s] make[4]: *** [gb_proxy.o] Error 1 [ 665s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/gprs' [ 665s] Makefile:391: recipe for target 'all-recursive' failed [ 665s] make[3]: *** [all-recursive] Error 1 [ 665s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 665s] Makefile:453: recipe for target 'all-recursive' failed [ 665s] make[2]: *** [all-recursive] Error 1 [ 665s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 665s] Makefile:385: recipe for target 'all' failed [ 665s] make[1]: *** [all] Error 2 [ 665s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 665s] dh_auto_build: make -j1 returned exit code 2 [ 665s] debian/rules:45: recipe for target 'build' failed [ 665s] make: *** [build] Error 2 [ 665s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 665s] [ 665s] armbuild25 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Thu Jun 27 08:45:06 UTC 2019. [ 665s] [ 665s] ### VM INTERACTION START ### [ 668s] [ 636.254544] sysrq: SysRq : Power Off [ 668s] [ 636.261176] reboot: Power down [ 669s] ### VM INTERACTION END ### [ 669s] [ 669s] armbuild25 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Thu Jun 27 08:45:10 UTC 2019. [ 669s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Jun 27 08:52:55 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 27 Jun 2019 08:52:55 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: update expected-results.xml Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14616 Change subject: hlr: update expected-results.xml ...................................................................... hlr: update expected-results.xml Add check imei, create-subscriber-on-demand tests. Change-Id: I8ea4a90d5da8367f369522cfd9133e2c6061dd5c --- M hlr/expected-results.xml 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/16/14616/1 diff --git a/hlr/expected-results.xml b/hlr/expected-results.xml index 8329632..b7d2773 100644 --- a/hlr/expected-results.xml +++ b/hlr/expected-results.xml @@ -1,5 +1,5 @@ - + @@ -18,4 +18,10 @@ + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8ea4a90d5da8367f369522cfd9133e2c6061dd5c Gerrit-Change-Number: 14616 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 27 09:27:10 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Jun 2019 09:27:10 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/data_msg.py: legacy flag is only for version 0x00 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14584 ) Change subject: trx_toolkit/data_msg.py: legacy flag is only for version 0x00 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14584 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I4d6c0bf54649d636ea6cb3fa2f37486b6619d5b3 Gerrit-Change-Number: 14584 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 09: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 Thu Jun 27 09:33:35 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Jun 2019 09:33:35 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/fake_trx.py: add basic TRXD version 0x01 support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14585 ) Change subject: trx_toolkit/fake_trx.py: add basic TRXD version 0x01 support ...................................................................... Patch Set 2: Code-Review-1 (2 comments) https://gerrit.osmocom.org/#/c/14585/2/src/target/trx_toolkit/ctrl_if_trx.py File src/target/trx_toolkit/ctrl_if_trx.py: https://gerrit.osmocom.org/#/c/14585/2/src/target/trx_toolkit/ctrl_if_trx.py at 151 PS2, Line 151: if self.verify_cmd(request, "SETVER", 1): SETVER? SETFORMAT? https://gerrit.osmocom.org/#/c/14585/2/src/target/trx_toolkit/data_if.py File src/target/trx_toolkit/data_if.py: https://gerrit.osmocom.org/#/c/14585/2/src/target/trx_toolkit/data_if.py at 53 PS2, Line 53: return None return False -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I164f5ae4ce7694d6e324aab927a04e96d489ebd8 Gerrit-Change-Number: 14585 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 09:33:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 09:35:28 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Jun 2019 09:35:28 +0000 Subject: Change in ...osmocom-bb[master]: trx_toolkit/fake_trx.py: introduce a TRXC command for C/I simulation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14586 ) Change subject: trx_toolkit/fake_trx.py: introduce a TRXC command for C/I simulation ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14586/2/src/target/trx_toolkit/fake_trx.py File src/target/trx_toolkit/fake_trx.py: https://gerrit.osmocom.org/#/c/14586/2/src/target/trx_toolkit/fake_trx.py at 66 PS2, Line 66: - C/I (Carrier-to-Interference ratio) - value in dB, computed from dB? I remember hearing something about centibels somewhere these past days, not sure if it's exactly this value. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I7080effbbc1022d1884c6d6f0cb580eba8e514ff Gerrit-Change-Number: 14586 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 09:35:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 09:38:19 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Jun 2019 09:38:19 +0000 Subject: Change in ...osmo-mgw[master]: manuals: update VTY documentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14614 ) Change subject: manuals: update VTY documentation ...................................................................... Patch Set 1: Code-Review+2 Please next time don't send it on a follow-up patch after merging but on the same patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id34c363080ced158d1f1eddd15b954e731797cf8 Gerrit-Change-Number: 14614 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 09:38: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 27 09:39:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Jun 2019 09:39:57 +0000 Subject: Change in ...docker-playground[master]: regen_doc: check OSMO_INTERACT_VTY, fix default In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14615 ) Change subject: regen_doc: check OSMO_INTERACT_VTY, fix default ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I763c7379b710160e0155f1fde091137754141335 Gerrit-Change-Number: 14615 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 09: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 Thu Jun 27 09:41:50 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 27 Jun 2019 09:41:50 +0000 Subject: Change in ...osmo-mgw[master]: manuals: update VTY documentation In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-mgw/+/14614 ) Change subject: manuals: update VTY documentation ...................................................................... manuals: update VTY documentation Change-Id: Id34c363080ced158d1f1eddd15b954e731797cf8 --- M doc/manuals/chapters/counters_generated.adoc M doc/manuals/vty/mgw_vty_reference.xml 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/manuals/chapters/counters_generated.adoc b/doc/manuals/chapters/counters_generated.adoc index 22c321d..090bc29 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 based on OsmoMGW 1.5.0.60-f638 (OsmoMGW). +These counters and their description based on OsmoMGW 1.5.0.64-189f (OsmoMGW). === Rate Counters diff --git a/doc/manuals/vty/mgw_vty_reference.xml b/doc/manuals/vty/mgw_vty_reference.xml index 1770dab..047a2ad 100644 --- a/doc/manuals/vty/mgw_vty_reference.xml +++ b/doc/manuals/vty/mgw_vty_reference.xml @@ -1509,10 +1509,10 @@ - + - - + + -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/14614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id34c363080ced158d1f1eddd15b954e731797cf8 Gerrit-Change-Number: 14614 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 admin at opensuse.org Thu Jun 27 10:36:43 2019 From: admin at opensuse.org (OBS Notification) Date: Thu, 27 Jun 2019 10:36:43 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-dsp in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5d149c565062e_6eea925f490093b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-dsp/Debian_Testing/x86_64 Package network:osmocom:nightly/libosmo-dsp failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-dsp Last lines of build log: [ 63s] Run 'dpkg-reconfigure tzdata' if you wish to change it. [ 63s] [172/215] installing libssl1.1-1.1.1c-1 [ 63s] Processing triggers for libc-bin (2.28-10) ... [ 63s] [173/215] installing libpam0g-1.3.1-5 [ 63s] Processing triggers for libc-bin (2.28-10) ... [ 63s] [174/215] installing dash-0.5.10.2-5 [ 63s] dpkg-query: no packages found matching bash [ 63s] No diversion 'diversion of /bin/sh by bash', none removed. [ 63s] Adding 'diversion of /bin/sh to /bin/sh.distrib by dash' [ 64s] No diversion 'diversion of /usr/share/man/man1/sh.1.gz by bash', none removed. [ 64s] Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash' [ 64s] [175/215] installing g++-4:8.3.0-1 [ 64s] update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode [ 64s] [176/215] installing gawk-1:4.2.1+dfsg-1 [ 64s] [177/215] installing libtool-2.4.6-9 [ 64s] [178/215] installing libperl5.28-5.28.1-6 [ 65s] Processing triggers for libc-bin (2.28-10) ... [ 65s] [179/215] installing procps-2:3.3.15-2 [ 65s] update-alternatives: using /usr/bin/w.procps to provide /usr/bin/w (w) in auto mode [ 65s] insserv: FATAL: service mountkernfs has to be enabled to use service procps [ 65s] [180/215] installing man-db-2.8.5-2 [ 66s] Building database of manual pages ... [28876s] qemu-system-x86_64: terminating on signal 15 from pid 670 () Job seems to be stuck here, killed. (after 28800 seconds of inactivity) [28876s] ### VM INTERACTION END ### [28876s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [28876s] or the build host has a kernel or hardware problem... -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Jun 27 11:55:24 2019 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 27 Jun 2019 11:55:24 +0000 Subject: Change in ...docker-playground[master]: regen_doc: check OSMO_INTERACT_VTY, fix default In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14615 ) Change subject: regen_doc: check OSMO_INTERACT_VTY, fix default ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I763c7379b710160e0155f1fde091137754141335 Gerrit-Change-Number: 14615 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 11:55: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 27 13:11:51 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 27 Jun 2019 13:11:51 +0000 Subject: Change in ...docker-playground[master]: regen_doc: check OSMO_INTERACT_VTY, fix default In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14615 ) Change subject: regen_doc: check OSMO_INTERACT_VTY, fix default ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I763c7379b710160e0155f1fde091137754141335 Gerrit-Change-Number: 14615 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 13:11:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 13:11:54 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 27 Jun 2019 13:11:54 +0000 Subject: Change in ...docker-playground[master]: regen_doc: check OSMO_INTERACT_VTY, fix default In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/14615 ) Change subject: regen_doc: check OSMO_INTERACT_VTY, fix default ...................................................................... regen_doc: check OSMO_INTERACT_VTY, fix default Change default from osmo-interact-vty.py to osmo_interact_vty.py, which is the name of the script in osmo-python-tests.git. Check if that script is in PATH before building and running the docker container. Change-Id: I763c7379b710160e0155f1fde091137754141335 --- M scripts/regen_doc.sh 1 file changed, 6 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved osmith: Verified diff --git a/scripts/regen_doc.sh b/scripts/regen_doc.sh index 5327ae8..cd85d01 100755 --- a/scripts/regen_doc.sh +++ b/scripts/regen_doc.sh @@ -10,7 +10,12 @@ IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" if [ -z "$OSMO_INTERACT_VTY" ]; then - OSMO_INTERACT_VTY="osmo-interact-vty.py" + OSMO_INTERACT_VTY="osmo_interact_vty.py" +fi +if ! command -v "$OSMO_INTERACT_VTY" 2>&1; then + set +x + echo "ERROR: $OSMO_INTERACT_VTY not found. Are osmo-python-tests in PATH?" + exit 1 fi docker_images_require \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I763c7379b710160e0155f1fde091137754141335 Gerrit-Change-Number: 14615 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 13:35:47 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 27 Jun 2019 13:35:47 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: mgw: move 'conn-timeout 0' out of f_init Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14617 Change subject: mgw: move 'conn-timeout 0' out of f_init ...................................................................... mgw: move 'conn-timeout 0' out of f_init Do not break all ttcn3-mgw-latest tests by using a command in f_init, which isn't available in latest yet [1]. I thought about keeping it in f_init, and adding a setting to not use this VTY command in -latest like done in [2]. But then we also need to touch osmo-ci.git and remember to switch it back once the next version is released. This does not seem to be worth it for just this one test, let's rather have it working automatically once the next version is released. [1] I7dee7dafaaf4bb93fd692ea06b52b9e012beac6d [2] I53d58b2d905905ebf1df322d0389b3715a48212f Change-Id: Idcbe9178ee3324953c88233f5f7d79672e9639db --- M mgw/MGCP_Test.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/17/14617/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index aeb6ef8..cd2b66e 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -91,7 +91,6 @@ f_vty_transceive(MGWVTY, "enable"); f_vty_enable_osmux(osmux_on); - f_vty_config(MGWVTY, "mgcp", "conn-timeout 0"); } private function f_rtpem_init(inout RTP_Emulation_CT comp_ref, integer i) @@ -2102,6 +2101,7 @@ f_rtpem_conn_refuse_verify(RTPEM[0]); setverdict(pass); + f_vty_config(MGWVTY, "mgcp", "conn-timeout 0"); } control { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idcbe9178ee3324953c88233f5f7d79672e9639db Gerrit-Change-Number: 14617 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 27 13:38:23 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Jun 2019 13:38:23 +0000 Subject: Change in ...docker-playground[master]: ggsn: Set correct name for osmo-ggsn log file Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/14618 Change subject: ggsn: Set correct name for osmo-ggsn log file ...................................................................... ggsn: Set correct name for osmo-ggsn log file Change-Id: I65803bdd4d2bcd79c690841bfc3cc62c8260289d --- M ttcn3-ggsn-test/osmo-ggsn.cfg 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/18/14618/1 diff --git a/ttcn3-ggsn-test/osmo-ggsn.cfg b/ttcn3-ggsn-test/osmo-ggsn.cfg index 11a2309..ddbbf6c 100644 --- a/ttcn3-ggsn-test/osmo-ggsn.cfg +++ b/ttcn3-ggsn-test/osmo-ggsn.cfg @@ -2,7 +2,7 @@ ! OpenGGSN (0.94.1-adac) configuration saved from vty !! ! -log file /data/openggsn.log +log file /data/osmo-ggsn.log logging filter all 1 logging color 0 logging print category 1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I65803bdd4d2bcd79c690841bfc3cc62c8260289d Gerrit-Change-Number: 14618 Gerrit-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 27 14:14:38 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Jun 2019 14:14:38 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: Add minimalistic PAP support In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#5) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/13608 ) Change subject: ggsn: Add minimalistic PAP support ...................................................................... ggsn: Add minimalistic PAP support Some modems are configured to use PAP as an additional authentication mechanism beyond the GSM authentication that's part of GMM. Let's handle such PAP authentication requests by simply acknowledging them all, without actually checking any credentials database. This is the most sane thing we can do for now, without adding external requirements / interfaces like radius servers or the like. Closes: OS#3914 Change-Id: I81875f30f9f1497199253497f84718510747f731 --- M ggsn/ggsn.c 1 file changed, 85 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/08/13608/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/13608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I81875f30f9f1497199253497f84718510747f731 Gerrit-Change-Number: 13608 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: msuraev Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 14:14:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Jun 2019 14:14:39 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: Avoid unaligned mem access reading PCO proto id Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14619 Change subject: ggsn: Avoid unaligned mem access reading PCO proto id ...................................................................... ggsn: Avoid unaligned mem access reading PCO proto id Change-Id: I3d80833319869503691a52927892e6ac30744915 --- M ggsn/ggsn.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/19/14619/1 diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c index ad456dc..466f07d 100644 --- a/ggsn/ggsn.c +++ b/ggsn/ggsn.c @@ -670,7 +670,7 @@ static void process_pco_element(const struct pco_element *pco_elem, struct msgb *resp, const struct apn_ctx *apn, struct pdp_t *pdp) { - uint16_t protocol_id = ntohs(pco_elem->protocol_id); + uint16_t protocol_id = osmo_load16be(&pco_elem->protocol_id); LOGPPDP(LOGL_DEBUG, pdp, "PCO Protocol 0x%04x\n", protocol_id); switch (protocol_id) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I3d80833319869503691a52927892e6ac30744915 Gerrit-Change-Number: 14619 Gerrit-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 27 14:14:39 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Jun 2019 14:14:39 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: Use structures instead of raw arrays when parsing ipcp_hdr Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14620 Change subject: ggsn: Use structures instead of raw arrays when parsing ipcp_hdr ...................................................................... ggsn: Use structures instead of raw arrays when parsing ipcp_hdr We have a structure to handle that data type, so let's use it. Change-Id: I991e53544b733df7773d66280ffa19a2a5123d97 --- M ggsn/ggsn.c 1 file changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/20/14620/1 diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c index 466f07d..34cab39 100644 --- a/ggsn/ggsn.c +++ b/ggsn/ggsn.c @@ -419,13 +419,13 @@ } __attribute__ ((packed)); /* determine if IPCP contains given option */ -static const uint8_t *ipcp_contains_option(const uint8_t *ipcp, size_t ipcp_len, +static const uint8_t *ipcp_contains_option(const struct ipcp_hdr *ipcp, size_t ipcp_len, enum ipcp_options opt, size_t opt_minlen) { - const uint8_t *cur_opt = ipcp + sizeof(struct ipcp_hdr); + const uint8_t *cur_opt = ipcp->options; /* iterate over Options and check if protocol contained */ - while (cur_opt + sizeof(struct ipcp_option_hdr) <= ipcp + ipcp_len) { + while (cur_opt + sizeof(struct ipcp_option_hdr) <= (uint8_t*)ipcp + ipcp_len) { const struct ipcp_option_hdr *cur_opt_hdr = (const struct ipcp_option_hdr *)cur_opt; /* length value includes 2 bytes type/length */ if (cur_opt_hdr->len < sizeof(struct ipcp_option_hdr)) @@ -587,7 +587,7 @@ const struct in46_addr *dns1 = &apn->v4.cfg.dns[0]; const struct in46_addr *dns2 = &apn->v4.cfg.dns[1]; uint8_t *start = resp->tail; - const uint8_t *ipcp; + const struct ipcp_hdr *ipcp; uint16_t ipcp_len; uint8_t *len1, *len2; unsigned int len_appended; @@ -599,10 +599,10 @@ return; } - ipcp = pco_elem->data; - consumed = (ipcp - &pdp->pco_req.v[0]); + ipcp = (const struct ipcp_hdr *)pco_elem->data; + consumed = (pco_elem->data - &pdp->pco_req.v[0]); remain = sizeof(pdp->pco_req.v) - consumed; - ipcp_len = osmo_load16be(ipcp + 2); /* 1=code + 1=id */ + ipcp_len = osmo_load16be(&ipcp->len); if (remain < 0 || remain < ipcp_len) { LOGPPDP(LOGL_ERROR, pdp, "Malformed IPCP, ignoring\n"); return; @@ -613,7 +613,7 @@ len1 = msgb_put(resp, 1); /* Length of contents: delay */ msgb_put_u8(resp, 0x02); /* ACK */ - msgb_put_u8(resp, ipcp[1]); /* ID: Needs to match request */ + msgb_put_u8(resp, ipcp->id); /* ID: Needs to match request */ msgb_put_u8(resp, 0x00); /* Length MSB */ len2 = msgb_put(resp, 1); /* Length LSB: delay */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I991e53544b733df7773d66280ffa19a2a5123d97 Gerrit-Change-Number: 14620 Gerrit-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 27 14:16:37 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Jun 2019 14:16:37 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: ggsn: Add TC_pdp4_act_deact_ipcp_pap_broken() In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#6) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13564 ) Change subject: ggsn: Add TC_pdp4_act_deact_ipcp_pap_broken() ...................................................................... ggsn: Add TC_pdp4_act_deact_ipcp_pap_broken() This test case reproduces a real-world PCO capture including a broken PAP AuthenticationReq. It triggers some weird behavior in OsmoGGSN 1.3.0 where it would send duplicate IPCP repsonses and no PAP response. Change-Id: Ie89d984ed9e26fbbb2e4914bdb8623446d462a4c Related: OS#3914 --- M ggsn_tests/GGSN_Tests.ttcn M ggsn_tests/expected-results.xml M ggsn_tests/gen_links.sh M library/GTP_Templates.ttcn 4 files changed, 50 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/64/13564/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie89d984ed9e26fbbb2e4914bdb8623446d462a4c Gerrit-Change-Number: 13564 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jun 27 14:33:07 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Jun 2019 14:33:07 +0000 Subject: Change in ...docker-playground[master]: ggsn: Set correct name for osmo-ggsn log file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14618 ) Change subject: ggsn: Set correct name for osmo-ggsn log file ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I65803bdd4d2bcd79c690841bfc3cc62c8260289d Gerrit-Change-Number: 14618 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 27 Jun 2019 14: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 Thu Jun 27 15:09:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Jun 2019 15:09:18 +0000 Subject: Change in ...osmo-ggsn[master]: configure.ac: Replace obosolete macro AC_CANONICAL_SYSTEM Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14621 Change subject: configure.ac: Replace obosolete macro AC_CANONICAL_SYSTEM ...................................................................... configure.ac: Replace obosolete macro AC_CANONICAL_SYSTEM $ autoconf -Wall configure.ac:11: warning: The macro `AC_CANONICAL_SYSTEM' is obsolete. configure.ac:11: You should run autoupdate. autoupdate applied the change present in this commit. Change-Id: Iee59e6e9a7670867d5bc55ba96f79130bc6982f6 --- M configure.ac 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/21/14621/1 diff --git a/configure.ac b/configure.ac index ede6963..65d0e8c 100644 --- a/configure.ac +++ b/configure.ac @@ -8,7 +8,7 @@ AC_CONFIG_AUX_DIR([.]) AC_CONFIG_TESTDIR(tests) -AC_CANONICAL_SYSTEM +AC_CANONICAL_TARGET dnl kernel style compile messages m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iee59e6e9a7670867d5bc55ba96f79130bc6982f6 Gerrit-Change-Number: 14621 Gerrit-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 27 15:09:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Jun 2019 15:09:18 +0000 Subject: Change in ...osmo-ggsn[master]: configure.ac: Use brackets in AC_INIT params Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14622 Change subject: configure.ac: Use brackets in AC_INIT params ...................................................................... configure.ac: Use brackets in AC_INIT params Change applied as a result of running "autoupdate". Change-Id: I955b535737f0a0cbdf25377609cec8f3d8d3eb45 --- M configure.ac 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/22/14622/1 diff --git a/configure.ac b/configure.ac index 65d0e8c..5fda6eb 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(osmo-ggsn, m4_esyscmd([./git-version-gen .tarball-version]), osmocom-net-gprs at lists.osmocom.org) +AC_INIT([osmo-ggsn],[m4_esyscmd(./git-version-gen .tarball-version)],[osmocom-net-gprs at lists.osmocom.org]) AC_CONFIG_SRCDIR([gtp/gtp.c]) AM_CONFIG_HEADER([config.h]) #AC_CONFIG_HEADER([config.h]) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14622 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I955b535737f0a0cbdf25377609cec8f3d8d3eb45 Gerrit-Change-Number: 14622 Gerrit-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 27 15:31:29 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Jun 2019 15:31:29 +0000 Subject: Change in ...osmo-ggsn[master]: configure.ac: Use prefered AC_CONFIG_HEADERS over AM_CONFIG_HEADER Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14623 Change subject: configure.ac: Use prefered AC_CONFIG_HEADERS over AM_CONFIG_HEADER ...................................................................... configure.ac: Use prefered AC_CONFIG_HEADERS over AM_CONFIG_HEADER This macro is preferred by autofoo upstream. It was added around automake 1.7, and offers backward compatibility with AM_CONFIG_HEADER. Related: OS#3230 Change-Id: I88707d4895d9c231715d5252d2cfab589b42fe0c --- M configure.ac 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/23/14623/1 diff --git a/configure.ac b/configure.ac index 5fda6eb..5581c32 100644 --- a/configure.ac +++ b/configure.ac @@ -1,8 +1,7 @@ # Process this file with autoconf to produce a configure script. AC_INIT([osmo-ggsn],[m4_esyscmd(./git-version-gen .tarball-version)],[osmocom-net-gprs at lists.osmocom.org]) AC_CONFIG_SRCDIR([gtp/gtp.c]) -AM_CONFIG_HEADER([config.h]) -#AC_CONFIG_HEADER([config.h]) +AC_CONFIG_HEADERS([config.h]) dnl *This* is the root dir, even if an install-sh exists in ../ or ../../ AC_CONFIG_AUX_DIR([.]) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I88707d4895d9c231715d5252d2cfab589b42fe0c Gerrit-Change-Number: 14623 Gerrit-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 27 16:09:50 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 27 Jun 2019 16:09:50 +0000 Subject: Change in ...osmo-ggsn[master]: configure.ac: Workaround some linux/if.h headers requiring external p... Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14624 Change subject: configure.ac: Workaround some linux/if.h headers requiring external pre-include of sys/socket.h ...................................................................... configure.ac: Workaround some linux/if.h headers requiring external pre-include of sys/socket.h Related: OS#3230 Change-Id: Iba869a75745cea01024fa3ce04917c02fa608a13 --- M configure.ac 1 file changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/24/14624/1 diff --git a/configure.ac b/configure.ac index 5581c32..7b985b9 100644 --- a/configure.ac +++ b/configure.ac @@ -74,8 +74,12 @@ AC_HEADER_SYS_WAIT AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdint.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h unistd.h]) -# Check for if header -AC_CHECK_HEADERS([linux/if.h net/if.h]) +# Check for if header. Some versions of linux/if.h fail without sys/socket.h included beforehand: +# see https://algorithmicallyrandom.blogspot.com/2012/07/error-on-including-include.html +AC_CHECK_HEADERS([linux/if.h net/if.h], [], [], [#ifdef HAVE_SYS_SOCKET_H + # include + # endif + ]) # Check for tun header AC_CHECK_HEADERS([linux/if_tun.h net/if_tun.h]) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iba869a75745cea01024fa3ce04917c02fa608a13 Gerrit-Change-Number: 14624 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Jun 28 02:48:09 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 28 Jun 2019 02:48:09 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d157fed9f2ea_6eea925f4107348f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 983s] -Returned: 0, Current node: 1 '%s> ' [ 983s] -Going to execute 'ambiguous_str' [ 983s] -Called: 'ambiguous_str [ARG]' (argc=0) [ 983s] -Returned: 0, Current node: 1 '%s> ' [ 983s] -Going to execute 'ambiguous_str arg' [ 983s] -Called: 'ambiguous_str [ARG]' (argc=1) [ 983s] -Returned: 0, Current node: 1 '%s> ' [ 983s] -Going to execute 'ambiguous_str arg keyword' [ 983s] -Called: 'ambiguous_str ARG keyword' [ 983s] -Returned: 0, Current node: 1 '%s> ' [ 983s] -All tests passed [ 983s] ./testsuite.at:196: exit code was 139, expected 0 [ 983s] 31. testsuite.at:192: 31. vty (testsuite.at:192): FAILED (testsuite.at:196) [ 983s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 983s] make[1]: *** [override_dh_auto_test] Error 1 [ 983s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 983s] debian/rules:15: recipe for target 'build' failed [ 983s] make: *** [build] Error 2 [ 983s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 983s] [ 983s] obs-arm-5 failed "build libosmocore_1.1.0.73.e1e1.dsc" at Fri Jun 28 02:47:54 UTC 2019. [ 983s] [ 983s] ### VM INTERACTION START ### [ 985s] [ 951.871818] sysrq: SysRq : Power Off [ 985s] [ 951.874023] reboot: Power down [ 986s] ### VM INTERACTION END ### [ 986s] [ 986s] obs-arm-5 failed "build libosmocore_1.1.0.73.e1e1.dsc" at Fri Jun 28 02:47:58 UTC 2019. [ 986s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Jun 28 05:00:10 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 28 Jun 2019 05:00:10 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d159efa174f0_6eea925f410924e9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 526s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 526s] ./src/common/bts.c:424: undefined reference to `lapdm_channel_init2' [ 526s] collect2: error: ld returned 1 exit status [ 526s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 526s] make[4]: *** [osmo-bts-virtual] Error 1 [ 526s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 526s] Makefile:385: recipe for target 'all-recursive' failed [ 526s] make[3]: *** [all-recursive] Error 1 [ 526s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 526s] Makefile:434: recipe for target 'all-recursive' failed [ 526s] make[2]: *** [all-recursive] Error 1 [ 526s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 526s] Makefile:366: recipe for target 'all' failed [ 526s] make[1]: *** [all] Error 2 [ 526s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 526s] dh_auto_build: make -j1 returned exit code 2 [ 526s] debian/rules:12: recipe for target 'build' failed [ 526s] make: *** [build] Error 2 [ 526s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 526s] [ 526s] armbuild14 failed "build osmo-bts_0.8.1.331.d1e7.dsc" at Fri Jun 28 05:00:00 UTC 2019. [ 526s] [ 526s] ### VM INTERACTION START ### [ 529s] [ 475.866978] sysrq: SysRq : Power Off [ 529s] [ 475.869526] reboot: Power down [ 529s] ### VM INTERACTION END ### [ 530s] [ 530s] armbuild14 failed "build osmo-bts_0.8.1.331.d1e7.dsc" at Fri Jun 28 05:00:04 UTC 2019. [ 530s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Jun 28 05:48:09 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 28 Jun 2019 05:48:09 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d15aa1e9bcf6_6eea925f4110138f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-msc failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 849s] tmsi |= GSM23003_TMSI_SGSN_MASK; [ 849s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 849s] vlr.c:339:12: note: each undeclared identifier is reported only once for each function it appears in [ 849s] Makefile:442: recipe for target 'vlr.o' failed [ 849s] make[4]: *** [vlr.o] Error 1 [ 849s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/libvlr' [ 849s] Makefile:422: recipe for target 'all-recursive' failed [ 849s] make[3]: *** [all-recursive] Error 1 [ 849s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 849s] Makefile:462: recipe for target 'all-recursive' failed [ 849s] make[2]: *** [all-recursive] Error 1 [ 849s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 849s] Makefile:394: recipe for target 'all' failed [ 849s] make[1]: *** [all] Error 2 [ 849s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 849s] dh_auto_build: make -j1 returned exit code 2 [ 849s] debian/rules:45: recipe for target 'build' failed [ 849s] make: *** [build] Error 2 [ 849s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 849s] [ 849s] armbuild04 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Fri Jun 28 05:48:04 UTC 2019. [ 849s] [ 849s] ### VM INTERACTION START ### [ 852s] [ 761.291565] sysrq: SysRq : Power Off [ 852s] [ 761.326718] reboot: Power down [ 853s] ### VM INTERACTION END ### [ 853s] [ 853s] armbuild04 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Fri Jun 28 05:48:08 UTC 2019. [ 853s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Jun 28 05:59:18 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 28 Jun 2019 05:59:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d15accf3d06b_6eea925f41104015@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-sgsn failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 479s] bss_ptmsi = bss_ptmsi | GSM23003_TMSI_SGSN_MASK; [ 479s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 479s] gb_proxy.c:246:28: note: each undeclared identifier is reported only once for each function it appears in [ 479s] Makefile:615: recipe for target 'gb_proxy.o' failed [ 479s] make[4]: *** [gb_proxy.o] Error 1 [ 479s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/gprs' [ 479s] Makefile:391: recipe for target 'all-recursive' failed [ 479s] make[3]: *** [all-recursive] Error 1 [ 479s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 479s] Makefile:453: recipe for target 'all-recursive' failed [ 479s] make[2]: *** [all-recursive] Error 1 [ 479s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 479s] Makefile:385: recipe for target 'all' failed [ 479s] make[1]: *** [all] Error 2 [ 479s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 479s] dh_auto_build: make -j1 returned exit code 2 [ 479s] debian/rules:45: recipe for target 'build' failed [ 479s] make: *** [build] Error 2 [ 479s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 479s] [ 479s] armbuild22 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Fri Jun 28 05:58:59 UTC 2019. [ 479s] [ 479s] ### VM INTERACTION START ### [ 482s] [ 460.938623] sysrq: SysRq : Power Off [ 482s] [ 460.984682] reboot: Power down [ 483s] ### VM INTERACTION END ### [ 483s] [ 483s] armbuild22 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Fri Jun 28 05:59:03 UTC 2019. [ 483s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Jun 28 07:25:50 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 07:25:50 +0000 Subject: Change in ...libosmocore[master]: gitignore: add doc/*.tag.prep Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14625 Change subject: gitignore: add doc/*.tag.prep ...................................................................... gitignore: add doc/*.tag.prep Ignore files created during the two-pass doxygen generation that was introduced in Ib03d0b70d536c8f1386def666c89106a840f7363. Change-Id: I719bbc968420c462426d2c0ce703c7f3b2c1139e --- M .gitignore 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/25/14625/1 diff --git a/.gitignore b/.gitignore index 451c883..51c443f 100644 --- a/.gitignore +++ b/.gitignore @@ -81,6 +81,7 @@ doc/gb doc/html.tar doc/*.tag +doc/*.tag.prep tags src/crc*gen.c -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I719bbc968420c462426d2c0ce703c7f3b2c1139e Gerrit-Change-Number: 14625 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 28 07:25:51 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 07:25:51 +0000 Subject: Change in ...libosmocore[master]: Makefile.am: don't delete example.xml, vtydoc.xsd Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/14626 Change subject: Makefile.am: don't delete example.xml, vtydoc.xsd ...................................................................... Makefile.am: don't delete example.xml, vtydoc.xsd Do not remove the entire doc/vty/ dir during the doxygen generation, because it contains versioned files. Fix a regression from Ib03d0b70d536c8f1386def666c89106a840f7363. Related: OS#3986 Change-Id: I884398c5e834ae2fac0af8c9b52d65bb3ceacb2d --- M Makefile.am 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/26/14626/1 diff --git a/Makefile.am b/Makefile.am index 332ce65..2e73f72 100644 --- a/Makefile.am +++ b/Makefile.am @@ -79,10 +79,11 @@ -$(DOXYGEN) $(top_builddir)/Doxyfile.gsm touch "$@" +# Don't delete the entire doc/vty, it contains example.xml and vtydoc.xsd (OS#3986) $(top_builddir)/doc/libosmovty.tag.prep: $(top_builddir)/Doxyfile.vty \ $(top_srcdir)/include/osmocom/vty/*.h \ $(top_srcdir)/src/vty/*.c - rm -rf $(top_builddir)/doc/vty; mkdir -p $(top_builddir)/doc/vty + rm -rf $(top_builddir)/doc/vty/html $(top_builddir)/doc/vty/latex rm -rf $(top_builddir)/doc/libosmovty.map -$(DOXYGEN) $(top_builddir)/Doxyfile.vty touch "$@" @@ -151,6 +152,7 @@ rm -rf $(top_builddir)/doc/gsm; mkdir -p $(top_builddir)/doc/gsm $(DOXYGEN) Doxyfile.gsm +# Don't delete the entire doc/vty, it contains example.xml and vtydoc.xsd (OS#3986) $(top_builddir)/doc/vty/html/index.html: $(top_builddir)/doc/libosmovty.tag.prep \ $(top_builddir)/doc/libosmocore.tag.prep \ $(top_builddir)/doc/libosmogsm.tag.prep \ @@ -158,7 +160,7 @@ $(top_builddir)/doc/libosmocoding.tag.prep \ $(top_builddir)/doc/libosmoctrl.tag.prep \ $(top_builddir)/doc/libosmogb.tag.prep - rm -rf $(top_builddir)/doc/vty; mkdir -p $(top_builddir)/doc/vty + rm -rf $(top_builddir)/doc/vty/html $(top_builddir)/doc/vty/latex $(DOXYGEN) Doxyfile.vty $(top_builddir)/doc/codec/html/index.html: $(top_builddir)/doc/libosmocodec.tag.prep \ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I884398c5e834ae2fac0af8c9b52d65bb3ceacb2d Gerrit-Change-Number: 14626 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 28 07:57:09 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 07:57:09 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: mgw: move 'conn-timeout 0' out of f_init In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14617 ) Change subject: mgw: move 'conn-timeout 0' out of f_init ...................................................................... Abandoned I'll submit a new patch that keeps it in f_init, as suggested by Pau in IRC. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idcbe9178ee3324953c88233f5f7d79672e9639db Gerrit-Change-Number: 14617 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 08:07:28 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 08:07:28 +0000 Subject: Change in ...docker-playground[master]: ggsn: Set correct name for osmo-ggsn log file In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14618 ) Change subject: ggsn: Set correct name for osmo-ggsn log file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I65803bdd4d2bcd79c690841bfc3cc62c8260289d Gerrit-Change-Number: 14618 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Jun 2019 08:07:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 08:12:51 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 08:12:51 +0000 Subject: Change in ...osmo-ggsn[master]: configure.ac: Workaround some linux/if.h headers requiring external p... In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14624 ) Change subject: configure.ac: Workaround some linux/if.h headers requiring external pre-include of sys/socket.h ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/#/c/14624/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14624/1//COMMIT_MSG at 7 PS1, Line 7: configure.ac: Workaround some linux/if.h headers requiring external pre-include of sys/socket.h very long title, what about 50 chars best practice? https://gerrit.osmocom.org/#/c/14624/1//COMMIT_MSG at 8 PS1, Line 8: Why is this change necessary (for which system)? -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iba869a75745cea01024fa3ce04917c02fa608a13 Gerrit-Change-Number: 14624 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 28 Jun 2019 08:12:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 08:18:35 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 08:18:35 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: Avoid unaligned mem access reading PCO proto id In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14619 ) Change subject: ggsn: Avoid unaligned mem access reading PCO proto id ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I3d80833319869503691a52927892e6ac30744915 Gerrit-Change-Number: 14619 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 28 Jun 2019 08:18:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 08:26:24 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 08:26:24 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: Use structures instead of raw arrays when parsing ipcp_hdr In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14620 ) Change subject: ggsn: Use structures instead of raw arrays when parsing ipcp_hdr ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I991e53544b733df7773d66280ffa19a2a5123d97 Gerrit-Change-Number: 14620 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 28 Jun 2019 08:26:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 08:27:27 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 08:27:27 +0000 Subject: Change in ...osmo-ggsn[master]: configure.ac: Use brackets in AC_INIT params In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14622 ) Change subject: configure.ac: Use brackets in AC_INIT params ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14622 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I955b535737f0a0cbdf25377609cec8f3d8d3eb45 Gerrit-Change-Number: 14622 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 28 Jun 2019 08:27:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 08:27:54 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 08:27:54 +0000 Subject: Change in ...osmo-ggsn[master]: configure.ac: Replace obosolete macro AC_CANONICAL_SYSTEM In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14621 ) Change subject: configure.ac: Replace obosolete macro AC_CANONICAL_SYSTEM ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iee59e6e9a7670867d5bc55ba96f79130bc6982f6 Gerrit-Change-Number: 14621 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 28 Jun 2019 08:27:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 08:28:27 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 08:28:27 +0000 Subject: Change in ...osmo-ggsn[master]: configure.ac: Use prefered AC_CONFIG_HEADERS over AM_CONFIG_HEADER In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14623 ) Change subject: configure.ac: Use prefered AC_CONFIG_HEADERS over AM_CONFIG_HEADER ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I88707d4895d9c231715d5252d2cfab589b42fe0c Gerrit-Change-Number: 14623 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 28 Jun 2019 08:28: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 28 09:34:40 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 09:34:40 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: mgw: add module param mp_enable_conn_timeout_test Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14627 Change subject: mgw: add module param mp_enable_conn_timeout_test ...................................................................... mgw: add module param mp_enable_conn_timeout_test Fix ttcn3-mgw-latest by not running "conn-timeout 0" during f_init_vty at the start of every test case. The latest osmo-mgw release does not have that command yet. Change-Id: I8bbf15baa45679d5812a5a9184520ef9b9e73bba --- M mgw/MGCP_Test.ttcn 1 file changed, 10 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/14627/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index aeb6ef8..7ddb6ea 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -69,6 +69,10 @@ charstring mp_remote_ip := "127.0.0.1"; PortNumber mp_local_rtp_port_base := 10000; PortNumber mp_local_osmux_port := 1985; + + /* Whether to enable conn-timeout tests. Can be dropped completely and enabled unconditionally once new + * version of osmo-mgw is released (current version: 1.5.0) */ + boolean mp_enable_conn_timeout_test := true; } private function f_vty_enable_osmux(boolean osmux_on) runs on dummy_CT { @@ -91,7 +95,9 @@ f_vty_transceive(MGWVTY, "enable"); f_vty_enable_osmux(osmux_on); - f_vty_config(MGWVTY, "mgcp", "conn-timeout 0"); + if (mp_enable_conn_timeout_test) { + f_vty_config(MGWVTY, "mgcp", "conn-timeout 0"); + } } private function f_rtpem_init(inout RTP_Emulation_CT comp_ref, integer i) @@ -2158,6 +2164,8 @@ execute(TC_amr_oa_oa_rtp_conversion()); execute(TC_amr_bwe_bwe_rtp_conversion()); - execute(TC_conn_timeout()); + if (mp_enable_conn_timeout_test) { + execute(TC_conn_timeout()); + } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8bbf15baa45679d5812a5a9184520ef9b9e73bba Gerrit-Change-Number: 14627 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 28 09:34:55 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 09:34:55 +0000 Subject: Change in ...docker-playground[master]: ttcn3-mgw-test-latest: disable conn_timeout_test Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/14628 Change subject: ttcn3-mgw-test-latest: disable conn_timeout_test ...................................................................... ttcn3-mgw-test-latest: disable conn_timeout_test Depends: I8bbf15baa45679d5812a5a9184520ef9b9e73bba (osmo-ttcn3-hacks) Change-Id: I05ff77246462ba90e8704969e0982662027ad630 --- M ttcn3-mgw-test/MGCP_Test.cfg M ttcn3-mgw-test/jenkins.sh 2 files changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/28/14628/1 diff --git a/ttcn3-mgw-test/MGCP_Test.cfg b/ttcn3-mgw-test/MGCP_Test.cfg index 0c6a550..d7cdcaf 100644 --- a/ttcn3-mgw-test/MGCP_Test.cfg +++ b/ttcn3-mgw-test/MGCP_Test.cfg @@ -10,6 +10,7 @@ [MODULE_PARAMETERS] mp_local_ip:= "172.18.4.181"; mp_remote_ip:= "172.18.4.180"; +mp_enable_conn_timeout_test := true; [MAIN_CONTROLLER] diff --git a/ttcn3-mgw-test/jenkins.sh b/ttcn3-mgw-test/jenkins.sh index 473782f..6973377 100755 --- a/ttcn3-mgw-test/jenkins.sh +++ b/ttcn3-mgw-test/jenkins.sh @@ -10,6 +10,10 @@ mkdir $VOL_BASE_DIR/mgw-tester cp MGCP_Test.cfg $VOL_BASE_DIR/mgw-tester/ +# conn-timeout must be disabled until release AFTER osmo-mgw 1.5.0 is tagged +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed "s/mp_enable_conn_timeout_test := true;/mp_enable_conn_timeout_test := false;/g" -i $VOL_BASE_DIR/mgw-tester/MGCP_Test.cfg +fi mkdir $VOL_BASE_DIR/mgw cp osmo-mgw.cfg $VOL_BASE_DIR/mgw/ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I05ff77246462ba90e8704969e0982662027ad630 Gerrit-Change-Number: 14628 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 28 09:36:51 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 09:36:51 +0000 Subject: Change in ...docker-playground[master]: ttcn3-mgw-test-latest: disable conn_timeout_test In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14628 ) Change subject: ttcn3-mgw-test-latest: disable conn_timeout_test ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I05ff77246462ba90e8704969e0982662027ad630 Gerrit-Change-Number: 14628 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Jun 2019 09:36: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 28 10:09:16 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Jun 2019 10:09:16 +0000 Subject: Change in ...libosmocore[master]: gitignore: add doc/*.tag.prep In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14625 ) Change subject: gitignore: add doc/*.tag.prep ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I719bbc968420c462426d2c0ce703c7f3b2c1139e Gerrit-Change-Number: 14625 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 28 Jun 2019 10:09:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 10:13:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Jun 2019 10:13:18 +0000 Subject: Change in ...libosmocore[master]: Makefile.am: don't delete example.xml, vtydoc.xsd In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14626 ) Change subject: Makefile.am: don't delete example.xml, vtydoc.xsd ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/14626/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14626/1//COMMIT_MSG at 13 PS1, Line 13: Related: OS#3986 Are you sure this ticket is correct? I don't think so. https://gerrit.osmocom.org/#/c/14626/1//COMMIT_MSG at 15 PS1, Line 15: It's useful to have a "Fixed: " tag here when a commit specifically fixes one commit from same repo. This way people can have scripts which can look up for fixups of a commit if they plan to backport that commit to their branch -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I884398c5e834ae2fac0af8c9b52d65bb3ceacb2d Gerrit-Change-Number: 14626 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 28 Jun 2019 10:13:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 10:13:50 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Jun 2019 10:13:50 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: hlr: update expected-results.xml In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14616 ) Change subject: hlr: update expected-results.xml ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8ea4a90d5da8367f369522cfd9133e2c6061dd5c Gerrit-Change-Number: 14616 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Jun 2019 10:13:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 10:17:47 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Jun 2019 10:17:47 +0000 Subject: Change in ...osmo-ggsn[master]: configure.ac: Workaround some linux/if.h headers requiring external p... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14624 ) Change subject: configure.ac: Workaround some linux/if.h headers requiring external pre-include of sys/socket.h ...................................................................... Patch Set 1: (1 comment) I'll wait for fixeria to test this patch on his system before pushing a new version. https://gerrit.osmocom.org/#/c/14624/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14624/1//COMMIT_MSG at 8 PS1, Line 8: > Why is this change necessary (for which system)? It's explained in the ticket. which specific system is unknown, but it's known to happen on some systems (based on kernel version, etc.) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iba869a75745cea01024fa3ce04917c02fa608a13 Gerrit-Change-Number: 14624 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Jun 2019 10:17:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 10:18:49 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Jun 2019 10:18:49 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: mgw: add module param mp_enable_conn_timeout_test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14627 ) Change subject: mgw: add module param mp_enable_conn_timeout_test ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8bbf15baa45679d5812a5a9184520ef9b9e73bba Gerrit-Change-Number: 14627 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Jun 2019 10:18: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 28 10:19:48 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Jun 2019 10:19:48 +0000 Subject: Change in ...docker-playground[master]: ttcn3-mgw-test-latest: disable conn_timeout_test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/14628 ) Change subject: ttcn3-mgw-test-latest: disable conn_timeout_test ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I05ff77246462ba90e8704969e0982662027ad630 Gerrit-Change-Number: 14628 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Jun 2019 10:19: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 28 11:24:28 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 11:24:28 +0000 Subject: Change in ...libosmocore[master]: Makefile.am: don't delete example.xml, vtydoc.xsd In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14626 ) Change subject: Makefile.am: don't delete example.xml, vtydoc.xsd ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/14626/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14626/1//COMMIT_MSG at 13 PS1, Line 13: Related: OS#3986 > Are you sure this ticket is correct? I don't think so. Yes, this is the correct ticket: https://osmocom.org/issues/3986: "build process removes doc/vty/{example.xml,vtydoc.xsd}" https://gerrit.osmocom.org/#/c/14626/1//COMMIT_MSG at 15 PS1, Line 15: > It's useful to have a "Fixed: " tag here when a commit specifically fixes one commi [?] Correct me if I'm wrong, but we don't seem to do that in libosmocore git log so far (git log | grep), and we are usually referencing other commits by their gerrit change-id, not by their commit hash. So if you don't mind, I'd rather stick to what is defined here: https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards#Have-meaningful-descriptions-in-your-patches If it is important, I suggest discussing on the ML if we want to do this with all fixup commits from now on on, and then add it to the wiki page. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I884398c5e834ae2fac0af8c9b52d65bb3ceacb2d Gerrit-Change-Number: 14626 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 28 Jun 2019 11:24: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 Fri Jun 28 11:34:01 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 11:34:01 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: mgw: add module param mp_enable_conn_timeout_test In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14627 ) Change subject: mgw: add module param mp_enable_conn_timeout_test ...................................................................... mgw: add module param mp_enable_conn_timeout_test Fix ttcn3-mgw-latest by not running "conn-timeout 0" during f_init_vty at the start of every test case. The latest osmo-mgw release does not have that command yet. Change-Id: I8bbf15baa45679d5812a5a9184520ef9b9e73bba --- M mgw/MGCP_Test.ttcn 1 file changed, 10 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index aeb6ef8..7ddb6ea 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -69,6 +69,10 @@ charstring mp_remote_ip := "127.0.0.1"; PortNumber mp_local_rtp_port_base := 10000; PortNumber mp_local_osmux_port := 1985; + + /* Whether to enable conn-timeout tests. Can be dropped completely and enabled unconditionally once new + * version of osmo-mgw is released (current version: 1.5.0) */ + boolean mp_enable_conn_timeout_test := true; } private function f_vty_enable_osmux(boolean osmux_on) runs on dummy_CT { @@ -91,7 +95,9 @@ f_vty_transceive(MGWVTY, "enable"); f_vty_enable_osmux(osmux_on); - f_vty_config(MGWVTY, "mgcp", "conn-timeout 0"); + if (mp_enable_conn_timeout_test) { + f_vty_config(MGWVTY, "mgcp", "conn-timeout 0"); + } } private function f_rtpem_init(inout RTP_Emulation_CT comp_ref, integer i) @@ -2158,6 +2164,8 @@ execute(TC_amr_oa_oa_rtp_conversion()); execute(TC_amr_bwe_bwe_rtp_conversion()); - execute(TC_conn_timeout()); + if (mp_enable_conn_timeout_test) { + execute(TC_conn_timeout()); + } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/14627 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8bbf15baa45679d5812a5a9184520ef9b9e73bba Gerrit-Change-Number: 14627 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 11:34:08 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 11:34:08 +0000 Subject: Change in ...docker-playground[master]: ttcn3-mgw-test-latest: disable conn_timeout_test In-Reply-To: References: Message-ID: osmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/14628 ) Change subject: ttcn3-mgw-test-latest: disable conn_timeout_test ...................................................................... ttcn3-mgw-test-latest: disable conn_timeout_test Depends: I8bbf15baa45679d5812a5a9184520ef9b9e73bba (osmo-ttcn3-hacks) Change-Id: I05ff77246462ba90e8704969e0982662027ad630 --- M ttcn3-mgw-test/MGCP_Test.cfg M ttcn3-mgw-test/jenkins.sh 2 files changed, 5 insertions(+), 0 deletions(-) Approvals: osmith: Verified pespin: Looks good to me, approved diff --git a/ttcn3-mgw-test/MGCP_Test.cfg b/ttcn3-mgw-test/MGCP_Test.cfg index 0c6a550..d7cdcaf 100644 --- a/ttcn3-mgw-test/MGCP_Test.cfg +++ b/ttcn3-mgw-test/MGCP_Test.cfg @@ -10,6 +10,7 @@ [MODULE_PARAMETERS] mp_local_ip:= "172.18.4.181"; mp_remote_ip:= "172.18.4.180"; +mp_enable_conn_timeout_test := true; [MAIN_CONTROLLER] diff --git a/ttcn3-mgw-test/jenkins.sh b/ttcn3-mgw-test/jenkins.sh index 473782f..6973377 100755 --- a/ttcn3-mgw-test/jenkins.sh +++ b/ttcn3-mgw-test/jenkins.sh @@ -10,6 +10,10 @@ mkdir $VOL_BASE_DIR/mgw-tester cp MGCP_Test.cfg $VOL_BASE_DIR/mgw-tester/ +# conn-timeout must be disabled until release AFTER osmo-mgw 1.5.0 is tagged +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed "s/mp_enable_conn_timeout_test := true;/mp_enable_conn_timeout_test := false;/g" -i $VOL_BASE_DIR/mgw-tester/MGCP_Test.cfg +fi mkdir $VOL_BASE_DIR/mgw cp osmo-mgw.cfg $VOL_BASE_DIR/mgw/ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14628 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I05ff77246462ba90e8704969e0982662027ad630 Gerrit-Change-Number: 14628 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 Fri Jun 28 11:43:23 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 11:43:23 +0000 Subject: Change in ...osmo-ggsn[master]: configure.ac: Workaround some linux/if.h headers requiring external p... In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14624 ) Change subject: configure.ac: Workaround some linux/if.h headers requiring external pre-include of sys/socket.h ...................................................................... Patch Set 1: -Code-Review -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14624 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iba869a75745cea01024fa3ce04917c02fa608a13 Gerrit-Change-Number: 14624 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Jun 2019 11:43:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 11:50:52 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Jun 2019 11:50:52 +0000 Subject: Change in ...libosmocore[master]: Makefile.am: don't delete example.xml, vtydoc.xsd In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14626 ) Change subject: Makefile.am: don't delete example.xml, vtydoc.xsd ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/#/c/14626/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14626/1//COMMIT_MSG at 13 PS1, Line 13: Related: OS#3986 > Yes, this is the correct ticket: https://osmocom.org/issues/3986: [?] Sorry my bad, I had the filling I was looking at #3986 but apparently I was looking at another ticket (strange, I actually verified the number twice. Maybe I was looking at wrong redmine instance). https://gerrit.osmocom.org/#/c/14626/1//COMMIT_MSG at 15 PS1, Line 15: > Correct me if I'm wrong, but we don't seem to do that in libosmocore git log so far (git log | grep) [?] Sorry again, I added a typo there, I meant "Fixes:". It is sometimes used, see for instance: git log | grep "Fixes:" Fixes: 40def49ac4b8babbd1b17c232137ce50a428706b ("libosmocodec: implement ECU (Error Concealment Unit) for FR") This syntax is quite used in the kernel in order to be able to avoid backporting broken commits without its follow-up fix ups. I'm not forcing it since we didn't discuss about it, just sharing with you what I think is a good practice. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I884398c5e834ae2fac0af8c9b52d65bb3ceacb2d Gerrit-Change-Number: 14626 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 28 Jun 2019 11:50:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 11:59:36 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 11:59:36 +0000 Subject: Change in ...libosmocore[master]: Makefile.am: don't delete example.xml, vtydoc.xsd In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/14626 to look at the new patch set (#2). Change subject: Makefile.am: don't delete example.xml, vtydoc.xsd ...................................................................... Makefile.am: don't delete example.xml, vtydoc.xsd Do not remove the entire doc/vty/ dir during the doxygen generation, because it contains versioned files. Fixes: 2fe50ac9511469a587426b80501b2b5da770e3a0 ("doxygen: enable cross referencing everywhere") Related: OS#3986 Change-Id: I884398c5e834ae2fac0af8c9b52d65bb3ceacb2d --- M Makefile.am 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/26/14626/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I884398c5e834ae2fac0af8c9b52d65bb3ceacb2d Gerrit-Change-Number: 14626 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 12:02:27 2019 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 28 Jun 2019 12:02:27 +0000 Subject: Change in ...libosmocore[master]: Makefile.am: don't delete example.xml, vtydoc.xsd In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14626 ) Change subject: Makefile.am: don't delete example.xml, vtydoc.xsd ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/#/c/14626/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/#/c/14626/1//COMMIT_MSG at 15 PS1, Line 15: > Sorry again, I added a typo there, I meant "Fixes:". [?] I see, thanks for sharing! I've updated the commit message. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I884398c5e834ae2fac0af8c9b52d65bb3ceacb2d Gerrit-Change-Number: 14626 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 28 Jun 2019 12:02:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 12:27:06 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Jun 2019 12:27:06 +0000 Subject: Change in ...libosmocore[master]: Makefile.am: don't delete example.xml, vtydoc.xsd In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14626 ) Change subject: Makefile.am: don't delete example.xml, vtydoc.xsd ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I884398c5e834ae2fac0af8c9b52d65bb3ceacb2d Gerrit-Change-Number: 14626 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 28 Jun 2019 12:27: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 28 12:27:25 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Jun 2019 12:27:25 +0000 Subject: Change in ...libosmocore[master]: gitignore: add doc/*.tag.prep In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/14625 ) Change subject: gitignore: add doc/*.tag.prep ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I719bbc968420c462426d2c0ce703c7f3b2c1139e Gerrit-Change-Number: 14625 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 28 Jun 2019 12: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 Fri Jun 28 12:27:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Jun 2019 12:27:31 +0000 Subject: Change in ...libosmocore[master]: gitignore: add doc/*.tag.prep In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14625 ) Change subject: gitignore: add doc/*.tag.prep ...................................................................... gitignore: add doc/*.tag.prep Ignore files created during the two-pass doxygen generation that was introduced in Ib03d0b70d536c8f1386def666c89106a840f7363. Change-Id: I719bbc968420c462426d2c0ce703c7f3b2c1139e --- M .gitignore 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/.gitignore b/.gitignore index 451c883..51c443f 100644 --- a/.gitignore +++ b/.gitignore @@ -81,6 +81,7 @@ doc/gb doc/html.tar doc/*.tag +doc/*.tag.prep tags src/crc*gen.c -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14625 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I719bbc968420c462426d2c0ce703c7f3b2c1139e Gerrit-Change-Number: 14625 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 12:27:31 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Jun 2019 12:27:31 +0000 Subject: Change in ...libosmocore[master]: Makefile.am: don't delete example.xml, vtydoc.xsd In-Reply-To: References: Message-ID: laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14626 ) Change subject: Makefile.am: don't delete example.xml, vtydoc.xsd ...................................................................... Makefile.am: don't delete example.xml, vtydoc.xsd Do not remove the entire doc/vty/ dir during the doxygen generation, because it contains versioned files. Fixes: 2fe50ac9511469a587426b80501b2b5da770e3a0 ("doxygen: enable cross referencing everywhere") Related: OS#3986 Change-Id: I884398c5e834ae2fac0af8c9b52d65bb3ceacb2d --- M Makefile.am 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/Makefile.am b/Makefile.am index 332ce65..2e73f72 100644 --- a/Makefile.am +++ b/Makefile.am @@ -79,10 +79,11 @@ -$(DOXYGEN) $(top_builddir)/Doxyfile.gsm touch "$@" +# Don't delete the entire doc/vty, it contains example.xml and vtydoc.xsd (OS#3986) $(top_builddir)/doc/libosmovty.tag.prep: $(top_builddir)/Doxyfile.vty \ $(top_srcdir)/include/osmocom/vty/*.h \ $(top_srcdir)/src/vty/*.c - rm -rf $(top_builddir)/doc/vty; mkdir -p $(top_builddir)/doc/vty + rm -rf $(top_builddir)/doc/vty/html $(top_builddir)/doc/vty/latex rm -rf $(top_builddir)/doc/libosmovty.map -$(DOXYGEN) $(top_builddir)/Doxyfile.vty touch "$@" @@ -151,6 +152,7 @@ rm -rf $(top_builddir)/doc/gsm; mkdir -p $(top_builddir)/doc/gsm $(DOXYGEN) Doxyfile.gsm +# Don't delete the entire doc/vty, it contains example.xml and vtydoc.xsd (OS#3986) $(top_builddir)/doc/vty/html/index.html: $(top_builddir)/doc/libosmovty.tag.prep \ $(top_builddir)/doc/libosmocore.tag.prep \ $(top_builddir)/doc/libosmogsm.tag.prep \ @@ -158,7 +160,7 @@ $(top_builddir)/doc/libosmocoding.tag.prep \ $(top_builddir)/doc/libosmoctrl.tag.prep \ $(top_builddir)/doc/libosmogb.tag.prep - rm -rf $(top_builddir)/doc/vty; mkdir -p $(top_builddir)/doc/vty + rm -rf $(top_builddir)/doc/vty/html $(top_builddir)/doc/vty/latex $(DOXYGEN) Doxyfile.vty $(top_builddir)/doc/codec/html/index.html: $(top_builddir)/doc/libosmocodec.tag.prep \ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14626 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I884398c5e834ae2fac0af8c9b52d65bb3ceacb2d Gerrit-Change-Number: 14626 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 15:27:17 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Jun 2019 15:27:17 +0000 Subject: Change in ...osmo-trx[master]: Introduce structs to encode TRXD packets Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/14629 Change subject: Introduce structs to encode TRXD packets ...................................................................... Introduce structs to encode TRXD packets This will ease adding new protocol versions in the future. Related: OS#4006 Change-Id: I67ffede171eddde436f9057191ed76015a8ea6eb --- M Transceiver52M/Makefile.am M Transceiver52M/Transceiver.cpp A Transceiver52M/proto_trxd.h 3 files changed, 42 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/29/14629/1 diff --git a/Transceiver52M/Makefile.am b/Transceiver52M/Makefile.am index 89ab796..4adf474 100644 --- a/Transceiver52M/Makefile.am +++ b/Transceiver52M/Makefile.am @@ -25,6 +25,7 @@ AM_CPPFLAGS = -Wall $(STD_DEFINES_AND_INCLUDES) -I${srcdir}/arch/common -I${srcdir}/device/common AM_CXXFLAGS = -lpthread $(LIBOSMOCORE_CFLAGS) $(LIBOSMOCTRL_CFLAGS) $(LIBOSMOVTY_CFLAGS) +AM_CFLAGS = -lpthread $(LIBOSMOCORE_CFLAGS) $(LIBOSMOCTRL_CFLAGS) $(LIBOSMOVTY_CFLAGS) rev2dir = $(datadir)/usrp/rev2 rev4dir = $(datadir)/usrp/rev4 @@ -66,7 +67,8 @@ Resampler.h \ ChannelizerBase.h \ Channelizer.h \ - Synthesis.h + Synthesis.h \ + proto_trxd.h COMMON_LDADD = \ libtransceiver_common.la \ diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 0aa4ff5..de4b622 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -29,6 +29,9 @@ extern "C" { #include "osmo_signal.h" +#include "proto_trxd.h" + +#include } #ifdef HAVE_CONFIG_H @@ -951,21 +954,20 @@ TOAint = (int) (TOA * 256.0 + 0.5); // round to closest integer char burstString[nbits + 10]; - burstString[0] = burstTime.TN(); - for (int i = 0; i < 4; i++) - burstString[1+i] = (burstTime.FN() >> ((3-i)*8)) & 0x0ff; - burstString[5] = (int)dBm; - burstString[6] = (TOAint >> 8) & 0x0ff; - burstString[7] = TOAint & 0x0ff; + struct trxd_hdr_v0* pkt = (struct trxd_hdr_v0*)burstString; + pkt->common.tn = burstTime.TN(); + osmo_store32be(burstTime.FN(), &pkt->common.fn); + pkt->v0.rssi = dBm; + osmo_store16be(TOAint, &pkt->v0.toa); SoftVector::iterator burstItr = rxBurst->begin(); for (unsigned i = 0; i < nbits; i++) - burstString[8 + i] = (char) round((*burstItr++) * 255.0); + pkt->soft_bits[i] = (char) round((*burstItr++) * 255.0); - burstString[nbits + 9] = '\0'; + pkt->soft_bits[nbits] = '\0'; delete rxBurst; - mDataSockets[chan]->write(burstString, nbits + 10); + mDataSockets[chan]->write(burstString, sizeof(struct trxd_hdr_v0) + nbits + 1); } void Transceiver::driveTxFIFO() diff --git a/Transceiver52M/proto_trxd.h b/Transceiver52M/proto_trxd.h new file mode 100644 index 0000000..9da18db --- /dev/null +++ b/Transceiver52M/proto_trxd.h @@ -0,0 +1,28 @@ +#pragma once + +#include +#include + +struct trxd_hdr_common { +#if OSMO_IS_LITTLE_ENDIAN + uint8_t tn:3, + reserved:1, + version:4; +#elif OSMO_IS_BIG_ENDIAN + uint8_t version:4, + reserved:1, + tn:3; +#endif + uint32_t fn; /* big endian */ +} __attribute__ ((packed)); + +struct trxd_hdr_v0_specific { + uint8_t rssi; + uint16_t toa; /* big endian */ +} __attribute__ ((packed)); + +struct trxd_hdr_v0 { + struct trxd_hdr_common common; + struct trxd_hdr_v0_specific v0; + uint8_t soft_bits[0]; +} __attribute__ ((packed)); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I67ffede171eddde436f9057191ed76015a8ea6eb Gerrit-Change-Number: 14629 Gerrit-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 28 15:27:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Jun 2019 15:27:18 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: refactor: gather uplink burst parameters in struct Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/14630 Change subject: Transceiver: refactor: gather uplink burst parameters in struct ...................................................................... Transceiver: refactor: gather uplink burst parameters in struct A new struct trx_ul_burst_ind is introduced, which will handle information filled by lower layers upon decoding of uplink bursts. Methods pullRadioVector() and logRxBurst() are adapted to use that struct. This way it's easier to understand in/out parameters and it's also easier to add further parameters to be filled in in the future. Related: OS#4006 Change-Id: I7e590fb1c0901de627e782f183251c20f4f68d48 --- M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h 2 files changed, 48 insertions(+), 53 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/30/14630/1 diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index de4b622..08b9e4f 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -551,27 +551,24 @@ * Pull bursts from the FIFO and handle according to the slot * and burst correlation type. Equalzation is currently disabled. */ -SoftVector *Transceiver::pullRadioVector(GSM::Time &wTime, double &RSSI, bool &isRssiValid, - double &timingOffset, double &noise, - size_t chan) +bool Transceiver::pullRadioVector(size_t chan, struct trx_ul_burst_ind *bi) { int rc; complex amp; float toa, max = -1.0, avg = 0.0; int max_i = -1; signalVector *burst; - SoftVector *bits = NULL; TransceiverState *state = &mStates[chan]; - isRssiValid = false; + bi->rssi_valid = false; /* Blocking FIFO read */ radioVector *radio_burst = mReceiveFIFO[chan]->read(); if (!radio_burst) - return NULL; + return false; /* Set time and determine correlation type */ - GSM::Time time = radio_burst->getTime(); - CorrType type = expectedCorrType(time, chan); + bi->burstTime = radio_burst->getTime(); + CorrType type = expectedCorrType(bi->burstTime, chan); /* Enable 8-PSK burst detection if EDGE is enabled */ if (mEdge && (type == TSC)) @@ -580,14 +577,14 @@ /* Debug: dump bursts to disk */ /* bits 0-7 - chan 0 timeslots * bits 8-15 - chan 1 timeslots */ - if (mWriteBurstToDiskMask & ((1<burstTime.TN()) << (8*chan))) writeToFile(radio_burst, chan); /* No processing if the timeslot is off. * Not even power level or noise calculation. */ if (type == OFF) { delete radio_burst; - return NULL; + return false; } /* Select the diversity channel with highest energy */ @@ -603,30 +600,29 @@ if (max_i < 0) { LOG(ALERT) << "Received empty burst"; delete radio_burst; - return NULL; + return false; } /* Average noise on diversity paths and update global levels */ burst = radio_burst->getVector(max_i); avg = sqrt(avg / radio_burst->chans()); - wTime = time; - RSSI = 20.0 * log10(rxFullScale / avg); + bi->rssi = 20.0 * log10(rxFullScale / avg); /* RSSI estimation are valid */ - isRssiValid = true; + bi->rssi_valid = true; if (type == IDLE) { /* Update noise levels */ state->mNoises.insert(avg); state->mNoiseLev = state->mNoises.avg(); - noise = 20.0 * log10(rxFullScale / state->mNoiseLev); + bi->noise = 20.0 * log10(rxFullScale / state->mNoiseLev); delete radio_burst; - return NULL; + return false; } else { /* Do not update noise levels */ - noise = 20.0 * log10(rxFullScale / state->mNoiseLev); + bi->noise = 20.0 * log10(rxFullScale / state->mNoiseLev); } unsigned max_toa = (type == RACH || type == EXT_RACH) ? @@ -645,15 +641,14 @@ } delete radio_burst; - return NULL; + return false; } - timingOffset = toa; - - bits = demodAnyBurst(*burst, mSPSRx, amp, toa, type); + bi->toa = toa; + bi->rxBurst = demodAnyBurst(*burst, mSPSRx, amp, toa, type); delete radio_burst; - return bits; + return true; } void Transceiver::reset() @@ -909,63 +904,57 @@ } } -void Transceiver::logRxBurst(size_t chan, SoftVector *burst, GSM::Time time, double dbm, - double rssi, double noise, double toa) +void Transceiver::logRxBurst(size_t chan, struct trx_ul_burst_ind *bi, double dbm) { LOG(DEBUG) << std::fixed << std::right << " chan: " << chan - << " time: " << time - << " RSSI: " << std::setw(5) << std::setprecision(1) << rssi + << " time: " << bi->burstTime + << " RSSI: " << std::setw(5) << std::setprecision(1) << bi->rssi << "dBFS/" << std::setw(6) << -dbm << "dBm" - << " noise: " << std::setw(5) << std::setprecision(1) << noise - << "dBFS/" << std::setw(6) << -(noise + rssiOffset) << "dBm" - << " TOA: " << std::setw(5) << std::setprecision(2) << toa - << " bits: " << *burst; + << " noise: " << std::setw(5) << std::setprecision(1) << bi->noise + << "dBFS/" << std::setw(6) << -(bi->noise + rssiOffset) << "dBm" + << " TOA: " << std::setw(5) << std::setprecision(2) << bi->toa + << " bits: " << *(bi->rxBurst); } void Transceiver::driveReceiveFIFO(size_t chan) { - SoftVector *rxBurst = NULL; - double RSSI; // in dBFS double dBm; // in dBm - double TOA; // in symbols int TOAint; // in 1/256 symbols - double noise; // noise level in dBFS - GSM::Time burstTime; - bool isRssiValid; // are RSSI, noise and burstTime valid unsigned nbits = gSlotLen; - rxBurst = pullRadioVector(burstTime, RSSI, isRssiValid, TOA, noise, chan); - if (!rxBurst) - return; + struct trx_ul_burst_ind bi; + + if (!pullRadioVector(chan, &bi)) + return; // Convert -1..+1 soft bits to 0..1 soft bits - vectorSlicer(rxBurst); + vectorSlicer(bi.rxBurst); /* * EDGE demodulator returns 444 (148 * 3) bits */ - if (rxBurst->size() == gSlotLen * 3) + if (bi.rxBurst->size() == gSlotLen * 3) nbits = gSlotLen * 3; - dBm = RSSI + rssiOffset; - logRxBurst(chan, rxBurst, burstTime, dBm, RSSI, noise, TOA); + dBm = bi.rssi + rssiOffset; + logRxBurst(chan, &bi, dBm); - TOAint = (int) (TOA * 256.0 + 0.5); // round to closest integer + TOAint = (int) (bi.toa * 256.0 + 0.5); // round to closest integer char burstString[nbits + 10]; struct trxd_hdr_v0* pkt = (struct trxd_hdr_v0*)burstString; - pkt->common.tn = burstTime.TN(); - osmo_store32be(burstTime.FN(), &pkt->common.fn); + pkt->common.tn = bi.burstTime.TN(); + osmo_store32be(bi.burstTime.FN(), &pkt->common.fn); pkt->v0.rssi = dBm; osmo_store16be(TOAint, &pkt->v0.toa); - SoftVector::iterator burstItr = rxBurst->begin(); + SoftVector::iterator burstItr = bi.rxBurst->begin(); for (unsigned i = 0; i < nbits; i++) pkt->soft_bits[i] = (char) round((*burstItr++) * 255.0); pkt->soft_bits[nbits] = '\0'; - delete rxBurst; + delete bi.rxBurst; mDataSockets[chan]->write(burstString, sizeof(struct trxd_hdr_v0) + nbits + 1); } diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h index ceb8c4a..5ef6bbb 100644 --- a/Transceiver52M/Transceiver.h +++ b/Transceiver52M/Transceiver.h @@ -35,6 +35,15 @@ #include "config_defs.h" } +struct trx_ul_burst_ind { + SoftVector *rxBurst; + GSM::Time burstTime; + double rssi; // in dBFS + double toa; // in symbols + double noise; // noise level in dBFS + bool rssi_valid; // are RSSI, noise and burstTime valid +}; + class Transceiver; /** Channel descriptor for transceiver object and channel number pair */ @@ -191,9 +200,7 @@ void pushRadioVector(GSM::Time &nowTime); /** Pull and demodulate a burst from the receive FIFO */ - SoftVector *pullRadioVector(GSM::Time &wTime, double &RSSI, bool &isRssiValid, - double &timingOffset, double &noise, - size_t chan = 0); + bool pullRadioVector(size_t chan, struct trx_ul_burst_ind *ind); /** Set modulus for specific timeslot */ void setModulus(size_t timeslot, size_t chan); @@ -264,8 +271,7 @@ /** set priority on current thread */ void setPriority(float prio = 0.5) { mRadioInterface->setPriority(prio); } - void logRxBurst(size_t chan, SoftVector *burst, GSM::Time time, double dbm, - double rssi, double noise, double toa); + void logRxBurst(size_t chan, struct trx_ul_burst_ind *bi, double dbm); }; void *RxUpperLoopAdapter(TransceiverChannel *); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I7e590fb1c0901de627e782f183251c20f4f68d48 Gerrit-Change-Number: 14630 Gerrit-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 28 15:27:18 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Jun 2019 15:27:18 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Move nbits calculation to pullRadioVector() Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/14631 Change subject: Transceiver: Move nbits calculation to pullRadioVector() ...................................................................... Transceiver: Move nbits calculation to pullRadioVector() That's were all the filling logic happens, while in driveReceiveFIFO we mostly want to take the burst, generate a message and sent it over the socket. Take the chance to use EDGE_BURST_NBITS instead of gSlotLen*3 (while keeping that formula in the comment) which makes it easier to understand for casual reader. Change-Id: I4a8c6c1db0474461d1055857f2e0af7aba04ae32 --- M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h 2 files changed, 11 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/31/14631/1 diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 08b9e4f..9a376ab 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -647,6 +647,12 @@ bi->toa = toa; bi->rxBurst = demodAnyBurst(*burst, mSPSRx, amp, toa, type); + /* EDGE demodulator returns 444 (gSlotLen * 3) bits */ + if (bi->rxBurst->size() == EDGE_BURST_NBITS) + bi->nbits = EDGE_BURST_NBITS; + else /* size() here is actually gSlotLen + 8, due to guard periods */ + bi->nbits = gSlotLen; + delete radio_burst; return true; } @@ -921,7 +927,6 @@ { double dBm; // in dBm int TOAint; // in 1/256 symbols - unsigned nbits = gSlotLen; struct trx_ul_burst_ind bi; @@ -931,18 +936,12 @@ // Convert -1..+1 soft bits to 0..1 soft bits vectorSlicer(bi.rxBurst); - /* - * EDGE demodulator returns 444 (148 * 3) bits - */ - if (bi.rxBurst->size() == gSlotLen * 3) - nbits = gSlotLen * 3; - dBm = bi.rssi + rssiOffset; logRxBurst(chan, &bi, dBm); TOAint = (int) (bi.toa * 256.0 + 0.5); // round to closest integer - char burstString[nbits + 10]; + char burstString[bi.nbits + 10]; struct trxd_hdr_v0* pkt = (struct trxd_hdr_v0*)burstString; pkt->common.tn = bi.burstTime.TN(); osmo_store32be(bi.burstTime.FN(), &pkt->common.fn); @@ -950,13 +949,13 @@ osmo_store16be(TOAint, &pkt->v0.toa); SoftVector::iterator burstItr = bi.rxBurst->begin(); - for (unsigned i = 0; i < nbits; i++) + for (unsigned i = 0; i < bi.nbits; i++) pkt->soft_bits[i] = (char) round((*burstItr++) * 255.0); - pkt->soft_bits[nbits] = '\0'; + pkt->soft_bits[bi.nbits] = '\0'; delete bi.rxBurst; - mDataSockets[chan]->write(burstString, sizeof(struct trxd_hdr_v0) + nbits + 1); + mDataSockets[chan]->write(burstString, sizeof(struct trxd_hdr_v0) + bi.nbits + 1); } void Transceiver::driveTxFIFO() diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h index 5ef6bbb..935be7c 100644 --- a/Transceiver52M/Transceiver.h +++ b/Transceiver52M/Transceiver.h @@ -37,6 +37,7 @@ struct trx_ul_burst_ind { SoftVector *rxBurst; + unsigned nbits; // number of symbols per slot in rxBurst, not counting guard periods GSM::Time burstTime; double rssi; // in dBFS double toa; // in symbols -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4a8c6c1db0474461d1055857f2e0af7aba04ae32 Gerrit-Change-Number: 14631 Gerrit-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 28 15:30:31 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Jun 2019 15:30:31 +0000 Subject: Change in ...osmo-trx[master]: Introduce structs to encode TRXD packets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14629 ) Change subject: Introduce structs to encode TRXD packets ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14629/1/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/#/c/14629/1/Transceiver52M/Transceiver.cpp at 967 PS1, Line 967: pkt->soft_bits[nbits] = '\0'; Here I actually introduced a change, and to me wrong version looks "wrong", since it's leaving one byte (burstString[nbits+8]) uninitialized. Not sure why do we do that jump and why do we actually add a trailing whitespace there in burstString[nbits + 9]. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I67ffede171eddde436f9057191ed76015a8ea6eb Gerrit-Change-Number: 14629 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 28 Jun 2019 15:30:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 15:34:25 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Jun 2019 15:34:25 +0000 Subject: Change in ...osmo-trx[master]: Introduce structs to encode TRXD packets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14629 ) Change subject: Introduce structs to encode TRXD packets ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/#/c/14629/1/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/#/c/14629/1/Transceiver52M/Transceiver.cpp at 967 PS1, Line 967: pkt->soft_bits[nbits] = '\0'; > Here I actually introduced a change, and to me wrong version looks "wrong", since it's leaving one b [?] Ah those seem to be the famous "historically 2 bytes are added at the end". So now osmo-bts-trx cries because it's neither X nor X+2, but X+1. I'll re-submit the patch keeping the hole there. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I67ffede171eddde436f9057191ed76015a8ea6eb Gerrit-Change-Number: 14629 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Jun 2019 15:34:25 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 15:46:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Jun 2019 15:46:57 +0000 Subject: Change in ...osmo-trx[master]: Introduce structs to encode TRXD packets In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/14629 to look at the new patch set (#2). Change subject: Introduce structs to encode TRXD packets ...................................................................... Introduce structs to encode TRXD packets This will ease adding new protocol versions in the future. Related: OS#4006 Change-Id: I67ffede171eddde436f9057191ed76015a8ea6eb --- M Transceiver52M/Makefile.am M Transceiver52M/Transceiver.cpp A Transceiver52M/proto_trxd.h 3 files changed, 43 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/29/14629/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I67ffede171eddde436f9057191ed76015a8ea6eb Gerrit-Change-Number: 14629 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 15:46:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Jun 2019 15:46:57 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: refactor: gather uplink burst parameters in struct In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/14630 to look at the new patch set (#2). Change subject: Transceiver: refactor: gather uplink burst parameters in struct ...................................................................... Transceiver: refactor: gather uplink burst parameters in struct A new struct trx_ul_burst_ind is introduced, which will handle information filled by lower layers upon decoding of uplink bursts. Methods pullRadioVector() and logRxBurst() are adapted to use that struct. This way it's easier to understand in/out parameters and it's also easier to add further parameters to be filled in in the future. Related: OS#4006 Change-Id: I7e590fb1c0901de627e782f183251c20f4f68d48 --- M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h 2 files changed, 48 insertions(+), 53 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/30/14630/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I7e590fb1c0901de627e782f183251c20f4f68d48 Gerrit-Change-Number: 14630 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 15:46:57 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Jun 2019 15:46:57 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Move nbits calculation to pullRadioVector() In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/14631 to look at the new patch set (#2). Change subject: Transceiver: Move nbits calculation to pullRadioVector() ...................................................................... Transceiver: Move nbits calculation to pullRadioVector() That's were all the filling logic happens, while in driveReceiveFIFO we mostly want to take the burst, generate a message and sent it over the socket. Take the chance to use EDGE_BURST_NBITS instead of gSlotLen*3 (while keeping that formula in the comment) which makes it easier to understand for casual reader. Change-Id: I4a8c6c1db0474461d1055857f2e0af7aba04ae32 --- M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h 2 files changed, 11 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/31/14631/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4a8c6c1db0474461d1055857f2e0af7aba04ae32 Gerrit-Change-Number: 14631 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 15:46:58 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 28 Jun 2019 15:46:58 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Drop last 2 garbage bytes sent at end in uplink bursts Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/14632 Change subject: Transceiver: Drop last 2 garbage bytes sent at end in uplink bursts ...................................................................... Transceiver: Drop last 2 garbage bytes sent at end in uplink bursts Those 2 bytes at the end have been sent over the TRXD socket for historical reasons. However, osmo-bts-trx also supports receiving bursts without that padding for quite a while now, so let's drop those two (since anyway those are not going to be sent for sure in v1 of TRXD protocol). Related: OS#4006 Change-Id: Iedc54011f333f48c6c8b81cab4d640f7601e01dd --- M Transceiver52M/Transceiver.cpp 1 file changed, 1 insertion(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/32/14632/1 diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index c7e213a..ff768ac 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -952,11 +952,9 @@ for (unsigned i = 0; i < bi.nbits; i++) pkt->soft_bits[i] = (char) round((*burstItr++) * 255.0); - /* +1: Historical reason. There's an uninitizalied byte in there: pkt->soft_bits[bi.nbits] */ - pkt->soft_bits[bi.nbits + 1] = '\0'; delete bi.rxBurst; - mDataSockets[chan]->write(burstString, sizeof(struct trxd_hdr_v0) + bi.nbits + 2); + mDataSockets[chan]->write(burstString, sizeof(struct trxd_hdr_v0) + bi.nbits); } void Transceiver::driveTxFIFO() -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iedc54011f333f48c6c8b81cab4d640f7601e01dd Gerrit-Change-Number: 14632 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Jun 28 17:56:10 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 28 Jun 2019 17:56:10 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d1654beef1b7_6eea925f412630bc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 771s] | configure:7837: $? = 0 [ 771s] | configure:7910: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 771s] | configure:7910: $? = 0 [ 771s] | configure:7910: ./conftest [ 771s] | configure:7910: $? = 0 [ 771s] | configure:7921: result: yes [ 771s] | configure:7934: checking for sys/types.h [ 771s] | configure:7934: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 771s] | configure:7934: $? = 0 [ 771s] | configure:7934: result: yes [ 771s] | configure:7934: checking for sys/stat.h [ 771s] | configure:7934: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 771s] | configure:7934: $? = 0 [ 771s] | configure:7934: result: yes [ 771s] | configure:7934: checking for stdlib.h [ 771s] | configure:7934: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 771s] | configure:7934: $? = 0 [ 771s] | configure:7934: result: yes [ 771s] | configure:7934: checking for string.h [ 771s] | configure:7934: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 771s] | configure:7934: $? = 0 [ 771s] | configure:7934: result: yes [ 771s] | configure:7934: checking for memory.h [ 773s] | configure:7934: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=f[ 724.587717] sysrq: SysRq : Power Off [ 773s] [ 724.589825] reboot: Power down [ 773s] ### VM INTERACTION END ### [ 773s] [ 773s] armbuild15 failed "build libosmocore_1.1.0.73.e1e1.dsc" at Fri Jun 28 17:56:06 UTC 2019. [ 773s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Jun 28 21:07:09 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Jun 2019 21:07:09 +0000 Subject: Change in ...osmo-trx[master]: Introduce structs to encode TRXD packets In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14629 ) Change subject: Introduce structs to encode TRXD packets ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I67ffede171eddde436f9057191ed76015a8ea6eb Gerrit-Change-Number: 14629 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Jun 2019 21:07: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 28 21:08:15 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Jun 2019 21:08:15 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: refactor: gather uplink burst parameters in struct In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14630 ) Change subject: Transceiver: refactor: gather uplink burst parameters in struct ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I7e590fb1c0901de627e782f183251c20f4f68d48 Gerrit-Change-Number: 14630 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 Jun 2019 21: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 Fri Jun 28 21:09:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Jun 2019 21:09:04 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Move nbits calculation to pullRadioVector() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14631 ) Change subject: Transceiver: Move nbits calculation to pullRadioVector() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4a8c6c1db0474461d1055857f2e0af7aba04ae32 Gerrit-Change-Number: 14631 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 28 Jun 2019 21: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 Fri Jun 28 21:10:04 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Jun 2019 21:10:04 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Drop last 2 garbage bytes sent at end in uplink bursts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14632 ) Change subject: Transceiver: Drop last 2 garbage bytes sent at end in uplink bursts ...................................................................... Patch Set 1: would be good to state since when / since which commit rather than "quite a while now". Also, I'm not sure whether we really should change the old implementation now, as we're switching to v1 of the protocol anyway? -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14632 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iedc54011f333f48c6c8b81cab4d640f7601e01dd Gerrit-Change-Number: 14632 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 28 Jun 2019 21:10:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 21:12:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Jun 2019 21:12:02 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: Add minimalistic PAP support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/13608 ) Change subject: ggsn: Add minimalistic PAP support ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/13608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I81875f30f9f1497199253497f84718510747f731 Gerrit-Change-Number: 13608 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: msuraev Gerrit-Comment-Date: Fri, 28 Jun 2019 21:12: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 28 21:12:32 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Jun 2019 21:12:32 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: More logging from PCO handling (e.g. in case of malconfiguration) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/13609 ) Change subject: ggsn: More logging from PCO handling (e.g. in case of malconfiguration) ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/13609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I38c2c4178ff4fd795f54638adec63166b1c0838e Gerrit-Change-Number: 13609 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: msuraev Gerrit-Comment-Date: Fri, 28 Jun 2019 21:12: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 28 21:12:46 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Jun 2019 21:12:46 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: Avoid unaligned mem access reading PCO proto id In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14619 ) Change subject: ggsn: Avoid unaligned mem access reading PCO proto id ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I3d80833319869503691a52927892e6ac30744915 Gerrit-Change-Number: 14619 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 28 Jun 2019 21:12: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 28 21:13:33 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Jun 2019 21:13:33 +0000 Subject: Change in ...osmo-ggsn[master]: ggsn: Use structures instead of raw arrays when parsing ipcp_hdr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14620 ) Change subject: ggsn: Use structures instead of raw arrays when parsing ipcp_hdr ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I991e53544b733df7773d66280ffa19a2a5123d97 Gerrit-Change-Number: 14620 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 28 Jun 2019 21:13:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 21:13:52 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Jun 2019 21:13:52 +0000 Subject: Change in ...osmo-ggsn[master]: configure.ac: Replace obosolete macro AC_CANONICAL_SYSTEM In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14621 ) Change subject: configure.ac: Replace obosolete macro AC_CANONICAL_SYSTEM ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iee59e6e9a7670867d5bc55ba96f79130bc6982f6 Gerrit-Change-Number: 14621 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 28 Jun 2019 21:13:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 21:14:07 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Jun 2019 21:14:07 +0000 Subject: Change in ...osmo-ggsn[master]: configure.ac: Use brackets in AC_INIT params In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14622 ) Change subject: configure.ac: Use brackets in AC_INIT params ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14622 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I955b535737f0a0cbdf25377609cec8f3d8d3eb45 Gerrit-Change-Number: 14622 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 28 Jun 2019 21:14:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jun 28 21:14:26 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Jun 2019 21:14:26 +0000 Subject: Change in ...osmo-ggsn[master]: configure.ac: Use prefered AC_CONFIG_HEADERS over AM_CONFIG_HEADER In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/14623 ) Change subject: configure.ac: Use prefered AC_CONFIG_HEADERS over AM_CONFIG_HEADER ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/14623 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I88707d4895d9c231715d5252d2cfab589b42fe0c Gerrit-Change-Number: 14623 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 28 Jun 2019 21:14: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 28 21:16:02 2019 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 28 Jun 2019 21:16:02 +0000 Subject: Change in ...osmo-ttcn3-hacks[master]: ggsn: Add TC_pdp4_act_deact_ipcp_pap_broken() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13564 ) Change subject: ggsn: Add TC_pdp4_act_deact_ipcp_pap_broken() ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/13564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie89d984ed9e26fbbb2e4914bdb8623446d462a4c Gerrit-Change-Number: 13564 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 28 Jun 2019 21:16:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Jun 28 22:12:25 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 28 Jun 2019 22:12:25 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d1690d990623_6eea925f412993f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 597s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 597s] ./src/common/bts.c:424: undefined reference to `lapdm_channel_init2' [ 597s] collect2: error: ld returned 1 exit status [ 597s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 597s] make[4]: *** [osmo-bts-virtual] Error 1 [ 597s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 597s] Makefile:385: recipe for target 'all-recursive' failed [ 597s] make[3]: *** [all-recursive] Error 1 [ 597s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 597s] Makefile:434: recipe for target 'all-recursive' failed [ 597s] make[2]: *** [all-recursive] Error 1 [ 597s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 597s] Makefile:366: recipe for target 'all' failed [ 597s] make[1]: *** [all] Error 2 [ 597s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 597s] dh_auto_build: make -j1 returned exit code 2 [ 597s] debian/rules:12: recipe for target 'build' failed [ 597s] make: *** [build] Error 2 [ 597s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 597s] [ 597s] armbuild25 failed "build osmo-bts_0.8.1.331.d1e7.dsc" at Fri Jun 28 22:12:16 UTC 2019. [ 597s] [ 597s] ### VM INTERACTION START ### [ 600s] [ 561.977649] sysrq: SysRq : Power Off [ 600s] [ 562.041349] reboot: Power down [ 600s] ### VM INTERACTION END ### [ 601s] [ 601s] armbuild25 failed "build osmo-bts_0.8.1.331.d1e7.dsc" at Fri Jun 28 22:12:20 UTC 2019. [ 601s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Jun 28 23:39:30 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 28 Jun 2019 23:39:30 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d16a53cadde1_6eea925f41313738@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-sgsn failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 577s] bss_ptmsi = bss_ptmsi | GSM23003_TMSI_SGSN_MASK; [ 577s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 577s] gb_proxy.c:246:28: note: each undeclared identifier is reported only once for each function it appears in [ 577s] Makefile:615: recipe for target 'gb_proxy.o' failed [ 577s] make[4]: *** [gb_proxy.o] Error 1 [ 577s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/gprs' [ 577s] Makefile:391: recipe for target 'all-recursive' failed [ 577s] make[3]: *** [all-recursive] Error 1 [ 577s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 577s] Makefile:453: recipe for target 'all-recursive' failed [ 577s] make[2]: *** [all-recursive] Error 1 [ 577s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 577s] Makefile:385: recipe for target 'all' failed [ 577s] make[1]: *** [all] Error 2 [ 577s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 577s] dh_auto_build: make -j1 returned exit code 2 [ 577s] debian/rules:45: recipe for target 'build' failed [ 577s] make: *** [build] Error 2 [ 577s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 577s] [ 577s] obs-arm-6 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Fri Jun 28 23:39:11 UTC 2019. [ 577s] [ 578s] ### VM INTERACTION START ### [ 581s] [ 550.801527] sysrq: SysRq : Power Off [ 581s] [ 550.816864] reboot: Power down [ 581s] ### VM INTERACTION END ### [ 581s] [ 582s] obs-arm-6 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Fri Jun 28 23:39:16 UTC 2019. [ 582s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Jun 28 23:41:13 2019 From: admin at opensuse.org (OBS Notification) Date: Fri, 28 Jun 2019 23:41:13 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d16a5b631317_6eea925f41313965@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-msc failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 678s] tmsi |= GSM23003_TMSI_SGSN_MASK; [ 678s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 678s] vlr.c:339:12: note: each undeclared identifier is reported only once for each function it appears in [ 678s] Makefile:442: recipe for target 'vlr.o' failed [ 678s] make[4]: *** [vlr.o] Error 1 [ 678s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/libvlr' [ 678s] Makefile:422: recipe for target 'all-recursive' failed [ 678s] make[3]: *** [all-recursive] Error 1 [ 678s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 678s] Makefile:462: recipe for target 'all-recursive' failed [ 678s] make[2]: *** [all-recursive] Error 1 [ 678s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 678s] Makefile:394: recipe for target 'all' failed [ 678s] make[1]: *** [all] Error 2 [ 678s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 678s] dh_auto_build: make -j1 returned exit code 2 [ 678s] debian/rules:45: recipe for target 'build' failed [ 678s] make: *** [build] Error 2 [ 678s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 678s] [ 678s] armbuild18 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Fri Jun 28 23:40:55 UTC 2019. [ 678s] [ 678s] ### VM INTERACTION START ### [ 681s] [ 616.258250] sysrq: SysRq : Power Off [ 681s] [ 616.260634] reboot: Power down [ 682s] ### VM INTERACTION END ### [ 682s] [ 682s] armbuild18 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Fri Jun 28 23:40:59 UTC 2019. [ 682s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 29 02:46:55 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Jun 2019 02:46:55 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d16d12d351b3_6eea925f4133802d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 910s] -Returned: 0, Current node: 1 '%s> ' [ 910s] -Going to execute 'ambiguous_str' [ 910s] -Called: 'ambiguous_str [ARG]' (argc=0) [ 910s] -Returned: 0, Current node: 1 '%s> ' [ 910s] -Going to execute 'ambiguous_str arg' [ 910s] -Called: 'ambiguous_str [ARG]' (argc=1) [ 910s] -Returned: 0, Current node: 1 '%s> ' [ 910s] -Going to execute 'ambiguous_str arg keyword' [ 910s] -Called: 'ambiguous_str ARG keyword' [ 910s] -Returned: 0, Current node: 1 '%s> ' [ 910s] -All tests passed [ 910s] ./testsuite.at:196: exit code was 139, expected 0 [ 910s] 31. testsuite.at:192: 31. vty (testsuite.at:192): FAILED (testsuite.at:196) [ 910s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 910s] make[1]: *** [override_dh_auto_test] Error 1 [ 910s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 910s] debian/rules:15: recipe for target 'build' failed [ 910s] make: *** [build] Error 2 [ 910s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 910s] [ 910s] obs-arm-6 failed "build libosmocore_1.1.0.75.316d.dsc" at Sat Jun 29 02:46:44 UTC 2019. [ 910s] [ 910s] ### VM INTERACTION START ### [ 912s] [ 884.198721] sysrq: SysRq : Power Off [ 912s] [ 884.215255] reboot: Power down [ 912s] ### VM INTERACTION END ### [ 912s] [ 912s] obs-arm-6 failed "build libosmocore_1.1.0.75.316d.dsc" at Sat Jun 29 02:46:48 UTC 2019. [ 912s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 29 03:34:56 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Jun 2019 03:34:56 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d16dc6d783c1_6eea925f41341970@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 1011s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 1011s] ./src/common/bts.c:424: undefined reference to `lapdm_channel_init2' [ 1011s] collect2: error: ld returned 1 exit status [ 1011s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 1011s] make[4]: *** [osmo-bts-virtual] Error 1 [ 1011s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 1011s] Makefile:385: recipe for target 'all-recursive' failed [ 1011s] make[3]: *** [all-recursive] Error 1 [ 1011s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 1011s] Makefile:434: recipe for target 'all-recursive' failed [ 1011s] make[2]: *** [all-recursive] Error 1 [ 1011s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 1011s] Makefile:366: recipe for target 'all' failed [ 1011s] make[1]: *** [all] Error 2 [ 1011s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 1011s] dh_auto_build: make -j1 returned exit code 2 [ 1011s] debian/rules:12: recipe for target 'build' failed [ 1011s] make: *** [build] Error 2 [ 1011s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 1012s] [ 1012s] obs-arm-6 failed "build osmo-bts_0.8.1.331.d1e7.dsc" at Sat Jun 29 03:34:40 UTC 2019. [ 1012s] [ 1012s] ### VM INTERACTION START ### [ 1015s] [ 932.050642] sysrq: SysRq : Power Off [ 1015s] [ 932.069664] reboot: Power down [ 1016s] ### VM INTERACTION END ### [ 1016s] [ 1016s] obs-arm-6 failed "build osmo-bts_0.8.1.331.d1e7.dsc" at Sat Jun 29 03:34:44 UTC 2019. [ 1016s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 29 03:58:20 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Jun 2019 03:58:20 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d16e1f28b61e_6eea925f413451e8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-sgsn failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 463s] bss_ptmsi = bss_ptmsi | GSM23003_TMSI_SGSN_MASK; [ 463s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 463s] gb_proxy.c:246:28: note: each undeclared identifier is reported only once for each function it appears in [ 463s] Makefile:615: recipe for target 'gb_proxy.o' failed [ 463s] make[4]: *** [gb_proxy.o] Error 1 [ 463s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/gprs' [ 463s] Makefile:391: recipe for target 'all-recursive' failed [ 463s] make[3]: *** [all-recursive] Error 1 [ 463s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 463s] Makefile:453: recipe for target 'all-recursive' failed [ 463s] make[2]: *** [all-recursive] Error 1 [ 463s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 463s] Makefile:385: recipe for target 'all' failed [ 463s] make[1]: *** [all] Error 2 [ 463s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 463s] dh_auto_build: make -j1 returned exit code 2 [ 463s] debian/rules:45: recipe for target 'build' failed [ 463s] make: *** [build] Error 2 [ 463s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 463s] [ 463s] armbuild21 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Sat Jun 29 03:58:12 UTC 2019. [ 463s] [ 463s] ### VM INTERACTION START ### [ 466s] [ 446.386235] sysrq: SysRq : Power Off [ 466s] [ 446.438304] reboot: Power down [ 466s] ### VM INTERACTION END ### [ 466s] [ 466s] armbuild21 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Sat Jun 29 03:58:16 UTC 2019. [ 466s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Jun 29 04:01:12 2019 From: admin at opensuse.org (OBS Notification) Date: Sat, 29 Jun 2019 04:01:12 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d16e2a3ade8b_6eea925f413454d0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-msc failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 650s] tmsi |= GSM23003_TMSI_SGSN_MASK; [ 650s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 650s] vlr.c:339:12: note: each undeclared identifier is reported only once for each function it appears in [ 650s] Makefile:442: recipe for target 'vlr.o' failed [ 650s] make[4]: *** [vlr.o] Error 1 [ 650s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/libvlr' [ 650s] Makefile:422: recipe for target 'all-recursive' failed [ 650s] make[3]: *** [all-recursive] Error 1 [ 650s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 650s] Makefile:462: recipe for target 'all-recursive' failed [ 650s] make[2]: *** [all-recursive] Error 1 [ 650s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 650s] Makefile:394: recipe for target 'all' failed [ 650s] make[1]: *** [all] Error 2 [ 650s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 650s] dh_auto_build: make -j1 returned exit code 2 [ 650s] debian/rules:45: recipe for target 'build' failed [ 650s] make: *** [build] Error 2 [ 650s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 650s] [ 650s] armbuild18 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Sat Jun 29 04:01:06 UTC 2019. [ 650s] [ 650s] ### VM INTERACTION START ### [ 653s] [ 604.205264] sysrq: SysRq : Power Off [ 653s] [ 604.207460] reboot: Power down [ 653s] ### VM INTERACTION END ### [ 653s] [ 653s] armbuild18 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Sat Jun 29 04:01:09 UTC 2019. [ 653s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Jun 30 02:41:46 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 30 Jun 2019 02:41:46 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d18218424611_6eea925f4145307e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Raspbian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 608s] | | #define HAVE_SYSLOG_H 1 [ 608s] | | #define HAVE_CTYPE_H 1 [ 608s] | | #define HAVE_NETINET_TCP_H 1 [ 608s] | | #define HAVE_NETINET_IN_H 1 [ 608s] | | #define HAVE_ALLOCA_H 1 [ 608s] | | #define HAVE_ALLOCA 1 [ 608s] | | /* end confdefs.h. */ [ 608s] | | [ 608s] | | /* Override any GCC internal prototype to avoid an error. [ 608s] | | Use char because int might match the return type of a GCC [ 608s] | | builtin and then its argument prototype would still apply. */ [ 608s] | | #ifdef __cplusplus [ 608s] | | extern "C" [ 608s] | | #endif [ 608s] | | char dlopen (); [ 608s] | | int [ 608s] | | main () [ 608s] | | { [ 608s] | | return dlopen (); [ 608s] | | ; [ 608s] | | return 0; [ 608s] | | } [ 608s] | configure:12811: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c -ldl >&5 [ 610s] | c[ 570.998970] sysrq: SysRq : Power Off [ 610s] [ 571.001045] reboot: Power down [ 610s] ### VM INTERACTION END ### [ 610s] [ 610s] armbuild13 failed "build libosmocore_1.1.0.75.316d.dsc" at Sun Jun 30 02:41:34 UTC 2019. [ 610s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Jun 30 02:48:55 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 30 Jun 2019 02:48:55 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d18232772272_6eea925f4145321e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-bts failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 266s] ../../src/common/libbts.a(bts.o): In function `lchan_init_lapdm': [ 266s] ./src/common/bts.c:424: undefined reference to `lapdm_channel_init2' [ 266s] collect2: error: ld returned 1 exit status [ 266s] Makefile:421: recipe for target 'osmo-bts-virtual' failed [ 266s] make[4]: *** [osmo-bts-virtual] Error 1 [ 266s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/osmo-bts-virtual' [ 266s] Makefile:385: recipe for target 'all-recursive' failed [ 266s] make[3]: *** [all-recursive] Error 1 [ 266s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 266s] Makefile:434: recipe for target 'all-recursive' failed [ 266s] make[2]: *** [all-recursive] Error 1 [ 266s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 266s] Makefile:366: recipe for target 'all' failed [ 266s] make[1]: *** [all] Error 2 [ 266s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 266s] dh_auto_build: make -j1 returned exit code 2 [ 266s] debian/rules:12: recipe for target 'build' failed [ 266s] make: *** [build] Error 2 [ 266s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 266s] [ 266s] obs-arm-5 failed "build osmo-bts_0.8.1.331.d1e7.dsc" at Sun Jun 30 02:48:47 UTC 2019. [ 266s] [ 266s] ### VM INTERACTION START ### [ 269s] [ 246.940297] sysrq: SysRq : Power Off [ 269s] [ 246.963530] reboot: Power down [ 269s] ### VM INTERACTION END ### [ 269s] [ 269s] obs-arm-5 failed "build osmo-bts_0.8.1.331.d1e7.dsc" at Sun Jun 30 02:48:50 UTC 2019. [ 269s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Jun 30 03:09:29 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 30 Jun 2019 03:09:29 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d1827f3d3903_6eea925f414537f7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_Unstable/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 105s] #define PACKAGE "osmo-sysmon" [ 105s] #define VERSION "0.1.0" [ 105s] #define STDC_HEADERS 1 [ 105s] #define HAVE_SYS_TYPES_H 1 [ 105s] #define HAVE_SYS_STAT_H 1 [ 105s] #define HAVE_STDLIB_H 1 [ 105s] #define HAVE_STRING_H 1 [ 105s] #define HAVE_MEMORY_H 1 [ 105s] #define HAVE_STRINGS_H 1 [ 105s] #define HAVE_INTTYPES_H 1 [ 105s] #define HAVE_STDINT_H 1 [ 105s] #define HAVE_UNISTD_H 1 [ 105s] #define HAVE_DLFCN_H 1 [ 105s] #define LT_OBJDIR ".libs/" [ 105s] [ 105s] configure: exit 1 [ 105s] dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking returned exit code 1 [ 105s] make: *** [debian/rules:45: build] Error 2 [ 105s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 105s] [ 105s] lamb22 failed "build osmo-sysmon_0.1.0.dsc" at Sun Jun 30 03:09:21 UTC 2019. [ 105s] [ 105s] ### VM INTERACTION START ### [ 108s] [ 95.428779] sysrq: SysRq : Power Off [ 108s] [ 95.436244] reboot: Power down [ 108s] ### VM INTERACTION END ### [ 109s] [ 109s] lamb22 failed "build osmo-sysmon_0.1.0.dsc" at Sun Jun 30 03:09:26 UTC 2019. [ 109s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Jun 30 03:13:29 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 30 Jun 2019 03:13:29 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5d1828e372a40_6eea925f41453842@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Unstable/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 161s] | #define HAVE_MEMORY_H 1 [ 161s] | #define HAVE_STRINGS_H 1 [ 161s] | #define HAVE_INTTYPES_H 1 [ 161s] | #define HAVE_STDINT_H 1 [ 161s] | #define HAVE_UNISTD_H 1 [ 161s] | #define HAVE_DLFCN_H 1 [ 161s] | #define LT_OBJDIR ".libs/" [ 161s] | #define BUILD_SMPP 1 [ 161s] | #define STDC_HEADERS 1 [ 161s] | #define HAVE_DBI_DBD_H 1 [ 161s] | #define HAVE_PCAP_PCAP_H 1 [ 161s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 161s] | [ 161s] | configure: exit 0 [ 161s] [ 161s] make[1]: *** [debian/rules:30: override_dh_auto_test] Error 1 [ 161s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 161s] make: *** [debian/rules:13: build] Error 2 [ 161s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 161s] [ 161s] morla5 failed "build openbsc_1.2.0.dsc" at Sun Jun 30 03:13:18 UTC 2019. [ 161s] [ 161s] ### VM INTERACTION START ### [ 165s] [ 150.226254] sysrq: SysRq : Power Off [ 165s] [ 150.232053] reboot: Power down [ 165s] ### VM INTERACTION END ### [ 165s] [ 165s] morla5 failed "build openbsc_1.2.0.dsc" at Sun Jun 30 03:13:22 UTC 2019. [ 165s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Jun 30 03:18:03 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 30 Jun 2019 03:18:03 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d1829f1adf82_6eea925f41453960@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-sgsn failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 368s] bss_ptmsi = bss_ptmsi | GSM23003_TMSI_SGSN_MASK; [ 368s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 368s] gb_proxy.c:246:28: note: each undeclared identifier is reported only once for each function it appears in [ 368s] Makefile:615: recipe for target 'gb_proxy.o' failed [ 368s] make[4]: *** [gb_proxy.o] Error 1 [ 368s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/gprs' [ 368s] Makefile:391: recipe for target 'all-recursive' failed [ 368s] make[3]: *** [all-recursive] Error 1 [ 368s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 368s] Makefile:453: recipe for target 'all-recursive' failed [ 368s] make[2]: *** [all-recursive] Error 1 [ 368s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 368s] Makefile:385: recipe for target 'all' failed [ 368s] make[1]: *** [all] Error 2 [ 368s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 368s] dh_auto_build: make -j1 returned exit code 2 [ 368s] debian/rules:45: recipe for target 'build' failed [ 368s] make: *** [build] Error 2 [ 368s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 368s] [ 368s] armbuild25 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Sun Jun 30 03:17:48 UTC 2019. [ 368s] [ 368s] ### VM INTERACTION START ### [ 371s] [ 350.184865] sysrq: SysRq : Power Off [ 371s] [ 350.186366] reboot: Power down [ 371s] ### VM INTERACTION END ### [ 371s] [ 371s] armbuild25 failed "build osmo-sgsn_1.4.0.27.43c5.dsc" at Sun Jun 30 03:17:51 UTC 2019. [ 371s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Jun 30 03:18:03 2019 From: admin at opensuse.org (OBS Notification) Date: Sun, 30 Jun 2019 03:18:03 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5d1829f227494_6eea925f414540a3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Raspbian_9.0/armv7l Package network:osmocom:nightly/osmo-msc failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 374s] tmsi |= GSM23003_TMSI_SGSN_MASK; [ 374s] ^~~~~~~~~~~~~~~~~~~~~~~ [ 374s] vlr.c:339:12: note: each undeclared identifier is reported only once for each function it appears in [ 374s] Makefile:442: recipe for target 'vlr.o' failed [ 374s] make[4]: *** [vlr.o] Error 1 [ 374s] make[4]: Leaving directory '/usr/src/packages/BUILD/src/libvlr' [ 374s] Makefile:422: recipe for target 'all-recursive' failed [ 374s] make[3]: *** [all-recursive] Error 1 [ 374s] make[3]: Leaving directory '/usr/src/packages/BUILD/src' [ 374s] Makefile:462: recipe for target 'all-recursive' failed [ 374s] make[2]: *** [all-recursive] Error 1 [ 374s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 374s] Makefile:394: recipe for target 'all' failed [ 374s] make[1]: *** [all] Error 2 [ 374s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 374s] dh_auto_build: make -j1 returned exit code 2 [ 374s] debian/rules:45: recipe for target 'build' failed [ 374s] make: *** [build] Error 2 [ 374s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 374s] [ 374s] armbuild02 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Sun Jun 30 03:17:53 UTC 2019. [ 374s] [ 374s] ### VM INTERACTION START ### [ 378s] [ 356.739101] sysrq: SysRq : Power Off [ 378s] [ 356.740591] reboot: Power down [ 378s] ### VM INTERACTION END ### [ 378s] [ 378s] armbuild02 failed "build osmo-msc_1.3.1.175.1c500.dsc" at Sun Jun 30 03:17:57 UTC 2019. [ 378s] -- Configure notifications at https://build.opensuse.org/user/notifications openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Jun 30 07:05:31 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Jun 2019 07:05:31 +0000 Subject: Change in ...osmo-trx[master]: Introduce structs to encode TRXD packets In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14629 ) Change subject: Introduce structs to encode TRXD packets ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/14629/2/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/#/c/14629/2/Transceiver52M/Transceiver.cpp at 957 PS2, Line 957: pkt I think you also need to initialize the pkt->version here. Otherwise we are sending garbage? https://gerrit.osmocom.org/#/c/14629/2/Transceiver52M/Transceiver.cpp at 967 PS2, Line 967: There's an uninitizalied Actually, there are two bytes. One is being initialized here, another is also being sent but not initialized. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I67ffede171eddde436f9057191ed76015a8ea6eb Gerrit-Change-Number: 14629 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 30 Jun 2019 07:05:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 30 07:08:12 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Jun 2019 07:08:12 +0000 Subject: Change in ...osmo-trx[master]: Introduce structs to encode TRXD packets In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14629 ) Change subject: Introduce structs to encode TRXD packets ...................................................................... Patch Set 2: Also, it would be great to split TRX protocol implementation out of Transceiver.cpp. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14629 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I67ffede171eddde436f9057191ed76015a8ea6eb Gerrit-Change-Number: 14629 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 30 Jun 2019 07:08: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 Sun Jun 30 07:16:14 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Jun 2019 07:16:14 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: refactor: gather uplink burst parameters in struct In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14630 ) Change subject: Transceiver: refactor: gather uplink burst parameters in struct ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/#/c/14630/2/Transceiver52M/Transceiver.h File Transceiver52M/Transceiver.h: https://gerrit.osmocom.org/#/c/14630/2/Transceiver52M/Transceiver.h at 274 PS2, Line 274: struct trx_ul_burst_ind *bi cosmetic: const https://gerrit.osmocom.org/#/c/14630/2/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/#/c/14630/2/Transceiver52M/Transceiver.cpp at 562 PS2, Line 562: rssi_valid Do you think we still need this? I think, if the function returns false, then the caller should consider the 'trx_ul_burst_ind' structure as uninitialized. Moreover, RSSI is mandatory - we cannot send burst indications without it. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14630 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I7e590fb1c0901de627e782f183251c20f4f68d48 Gerrit-Change-Number: 14630 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 30 Jun 2019 07:16: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 Sun Jun 30 07:23:40 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Jun 2019 07:23:40 +0000 Subject: Change in ...osmo-trx[master]: Transceiver: Move nbits calculation to pullRadioVector() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/14631 ) Change subject: Transceiver: Move nbits calculation to pullRadioVector() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/14631 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4a8c6c1db0474461d1055857f2e0af7aba04ae32 Gerrit-Change-Number: 14631 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 30 Jun 2019 07: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 Sun Jun 30 10:31:41 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Jun 2019 10:31:41 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduler: enrich GSM 05.03 encoding error messages Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14637 Change subject: trxcon/scheduler: enrich GSM 05.03 encoding error messages ...................................................................... trxcon/scheduler: enrich GSM 05.03 encoding error messages Change-Id: I35a7c5df4fc0ed2195ba721f92812874011459d9 --- 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 5 files changed, 16 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/37/14637/1 diff --git a/src/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index 845ef64..ad021a9 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -146,7 +146,9 @@ rc = gsm0503_pdtch_encode(buffer, lchan->prim->payload, lchan->prim->payload_len); if (rc) { - LOGP(DSCHD, LOGL_ERROR, "Failed to encode L2 payload\n"); + LOGP(DSCHD, LOGL_ERROR, "Failed to encode L2 payload (len=%zu): %s\n", + lchan->prim->payload_len, osmo_hexdump(lchan->prim->payload, + lchan->prim->payload_len)); /* Forget this primitive */ sched_prim_drop(lchan); diff --git a/src/host/trxcon/sched_lchan_rach.c b/src/host/trxcon/sched_lchan_rach.c index e96a0e6..5d1f3ab 100644 --- a/src/host/trxcon/sched_lchan_rach.c +++ b/src/host/trxcon/sched_lchan_rach.c @@ -108,7 +108,8 @@ /* Encode extended (11-bit) payload */ rc = gsm0503_rach_ext_encode(payload, ext_req->ra11, trx->bsic, true); if (rc) { - LOGP(DSCHD, LOGL_ERROR, "Could not encode extended RACH burst\n"); + LOGP(DSCHD, LOGL_ERROR, "Could not encode extended RACH burst " + "(ra=%u bsic=%u)\n", ext_req->ra11, trx->bsic); /* Forget this primitive */ sched_prim_drop(lchan); @@ -125,7 +126,8 @@ /* Encode regular (8-bit) payload */ rc = gsm0503_rach_ext_encode(payload, req->ra, trx->bsic, false); if (rc) { - LOGP(DSCHD, LOGL_ERROR, "Could not encode RACH burst\n"); + LOGP(DSCHD, LOGL_ERROR, "Could not encode RACH burst " + "(ra=%u bsic=%u)\n", req->ra, trx->bsic); /* Forget this primitive */ sched_prim_drop(lchan); diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index cec7daf..f2ecdcc 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -239,7 +239,9 @@ /* Encode payload */ rc = gsm0503_tch_fr_encode(buffer, lchan->prim->payload, l2_len, 1); if (rc) { - LOGP(DSCHD, LOGL_ERROR, "Failed to encode L2 payload\n"); + LOGP(DSCHD, LOGL_ERROR, "Failed to encode L2 payload (len=%zu): %s\n", + lchan->prim->payload_len, osmo_hexdump(lchan->prim->payload, + lchan->prim->payload_len)); /* Forget this primitive */ sched_prim_drop(lchan); diff --git a/src/host/trxcon/sched_lchan_tchh.c b/src/host/trxcon/sched_lchan_tchh.c index 172f54b..0201ee3 100644 --- a/src/host/trxcon/sched_lchan_tchh.c +++ b/src/host/trxcon/sched_lchan_tchh.c @@ -445,7 +445,9 @@ /* Encode the payload */ rc = gsm0503_tch_hr_encode(buffer, lchan->prim->payload, l2_len); if (rc) { - LOGP(DSCHD, LOGL_ERROR, "Failed to encode L2 payload\n"); + LOGP(DSCHD, LOGL_ERROR, "Failed to encode L2 payload (len=%zu): %s\n", + lchan->prim->payload_len, osmo_hexdump(lchan->prim->payload, + lchan->prim->payload_len)); /* Forget this primitive */ sched_prim_drop(lchan); diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c index 2d2b1d9..196f949 100644 --- a/src/host/trxcon/sched_lchan_xcch.c +++ b/src/host/trxcon/sched_lchan_xcch.c @@ -155,7 +155,9 @@ /* Encode payload */ rc = gsm0503_xcch_encode(buffer, lchan->prim->payload); if (rc) { - LOGP(DSCHD, LOGL_ERROR, "Failed to encode L2 payload\n"); + LOGP(DSCHD, LOGL_ERROR, "Failed to encode L2 payload (len=%zu): %s\n", + lchan->prim->payload_len, osmo_hexdump(lchan->prim->payload, + lchan->prim->payload_len)); /* Forget this primitive */ sched_prim_drop(lchan); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14637 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I35a7c5df4fc0ed2195ba721f92812874011459d9 Gerrit-Change-Number: 14637 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 30 10:31:42 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Jun 2019 10:31:42 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduer: fix: properly check rc of gsm0503_pdtch_encode() Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14638 Change subject: trxcon/scheduer: fix: properly check rc of gsm0503_pdtch_encode() ...................................................................... trxcon/scheduer: fix: properly check rc of gsm0503_pdtch_encode() The gsm0503_pdtch_encode() returns negative number on error, and the amount of encoded bits in case of success. Change-Id: I7d75141142922909330c5e86be8734bb06cd57a4 --- M src/host/trxcon/sched_lchan_pdtch.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/38/14638/1 diff --git a/src/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index ad021a9..733e574 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -145,7 +145,7 @@ /* Encode payload */ rc = gsm0503_pdtch_encode(buffer, lchan->prim->payload, lchan->prim->payload_len); - if (rc) { + if (rc < 0) { LOGP(DSCHD, LOGL_ERROR, "Failed to encode L2 payload (len=%zu): %s\n", lchan->prim->payload_len, osmo_hexdump(lchan->prim->payload, lchan->prim->payload_len)); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14638 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I7d75141142922909330c5e86be8734bb06cd57a4 Gerrit-Change-Number: 14638 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 30 10:49:24 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Jun 2019 10:49:24 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduler: enrich GSM 05.03 encoding error messages In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14637 ) Change subject: trxcon/scheduler: enrich GSM 05.03 encoding error messages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14637 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I35a7c5df4fc0ed2195ba721f92812874011459d9 Gerrit-Change-Number: 14637 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 30 Jun 2019 10:49:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jun 30 10:49:29 2019 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 30 Jun 2019 10:49:29 +0000 Subject: Change in ...osmocom-bb[master]: trxcon/scheduer: fix: properly check rc of gsm0503_pdtch_encode() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/14638 ) Change subject: trxcon/scheduer: fix: properly check rc of gsm0503_pdtch_encode() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/14638 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I7d75141142922909330c5e86be8734bb06cd57a4 Gerrit-Change-Number: 14638 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 30 Jun 2019 10:49: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 30 11:55:11 2019 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 30 Jun 2019 11:55:11 +0000 Subject: Change in ...docker-playground[master]: ggsn: Set correct name for osmo-ggsn log file In-Reply-To: References: Message-ID: pespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/docker-playground/+/14618 ) Change subject: ggsn: Set correct name for osmo-ggsn log file ...................................................................... ggsn: Set correct name for osmo-ggsn log file Change-Id: I65803bdd4d2bcd79c690841bfc3cc62c8260289d --- M ttcn3-ggsn-test/osmo-ggsn.cfg 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: osmith: Looks good to me, approved pespin: Verified diff --git a/ttcn3-ggsn-test/osmo-ggsn.cfg b/ttcn3-ggsn-test/osmo-ggsn.cfg index 11a2309..ddbbf6c 100644 --- a/ttcn3-ggsn-test/osmo-ggsn.cfg +++ b/ttcn3-ggsn-test/osmo-ggsn.cfg @@ -2,7 +2,7 @@ ! OpenGGSN (0.94.1-adac) configuration saved from vty !! ! -log file /data/openggsn.log +log file /data/osmo-ggsn.log logging filter all 1 logging color 0 logging print category 1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/14618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I65803bdd4d2bcd79c690841bfc3cc62c8260289d Gerrit-Change-Number: 14618 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: