osmo-ci[master]: lc15: correct default master branch

2017-06-22 Thread Max

Patch Set 1: Verified+1

-- 
To view, visit https://gerrit.osmocom.org/2971
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e86edc34fdb8c7bc57f87c41e05dd2338dd2506
Gerrit-PatchSet: 1
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


[MERGED] openbsc[master]: Fix BTS features length check

2017-06-22 Thread Max
Max has submitted this change and it was merged.

Change subject: Fix BTS features length check
..


Fix BTS features length check

While fixing potentially incorrect memory access, the check for maximum
number of supported BTS features was incorrectly adjusted instead of
feature vectore length check next to it. Fix this by adjusting checks
properly and adding comments to avoid future confusion.

The error was introduced in a60bb3dd28ce9e3720f8ee1b262893f3e233e2e6.

Change-Id: I06d2498d730624d5da535f6add6fa98d004714ae
---
M openbsc/src/libbsc/abis_nm.c
1 file changed, 4 insertions(+), 4 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/openbsc/src/libbsc/abis_nm.c b/openbsc/src/libbsc/abis_nm.c
index 1715688..019d039 100644
--- a/openbsc/src/libbsc/abis_nm.c
+++ b/openbsc/src/libbsc/abis_nm.c
@@ -484,13 +484,13 @@
if (TLVP_PRES_LEN(&tp, NM_ATT_MANUF_ID, 2)) {
m_id_len = TLVP_LEN(&tp, NM_ATT_MANUF_ID);
 
-   if (m_id_len > MAX_BTS_FEATURES/8 + 1) {
+   /* log potential BTS feature vector overflow */
+   if (m_id_len > sizeof(bts->_features_data))
LOGP(DNM, LOGL_NOTICE, "BTS%u Get Attributes Response: 
feature vector is truncated to %u bytes\n",
 bts->nr, MAX_BTS_FEATURES/8);
-   m_id_len = MAX_BTS_FEATURES/8;
-   }
 
-   if (m_id_len > sizeof(bts->_features_data))
+   /* check that max. expected BTS attribute is above given 
feature vector length */
+   if (m_id_len > OSMO_BYTES_FOR_BITS(_NUM_BTS_FEAT))
LOGP(DNM, LOGL_NOTICE, "BTS%u Get Attributes Response: 
reported unexpectedly long (%u bytes) "
 "feature vector - most likely it was compiled 
against newer BSC headers. "
 "Consider upgrading your BSC to later version.\n",

-- 
To view, visit https://gerrit.osmocom.org/2900
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I06d2498d730624d5da535f6add6fa98d004714ae
Gerrit-PatchSet: 3
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: Neels Hofmeyr 


[MERGED] osmo-bts[master]: OML: move BTS number check into separate function

2017-06-22 Thread Max
Max has submitted this change and it was merged.

Change subject: OML: move BTS number check into separate function
..


OML: move BTS number check into separate function

* move code which checks for BTS number (obtained via OML) validity into
  separate function
* adjust log messages to match the check
* add spec reference and comments

Change-Id: Id5714fbed910696d30e18d1f20f4c9fced4b9230
Related: OS#2317
---
M src/common/oml.c
1 file changed, 34 insertions(+), 16 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/common/oml.c b/src/common/oml.c
index fe35e85..8f23f82 100644
--- a/src/common/oml.c
+++ b/src/common/oml.c
@@ -1041,6 +1041,38 @@
return bts_model_chg_adm_state(bts, mo, obj, adm_state);
 }
 
+/* Check and report if the BTS number received via OML is incorrect:
+   according to 3GPP TS 52.021 §9.3 BTS number is used to distinguish between 
different BTS of the same Site Manager.
+   As we always have only single BTS per Site Manager (in case of Abis/IP with 
each BTS having dedicated OML connection
+   to BSC), the only valid values are 0 and 0xFF (means all BTS' of a given 
Site Manager). */
+static inline bool report_bts_number_incorrect(struct gsm_bts *bts, const 
struct abis_om_fom_hdr *foh, bool is_formatted)
+{
+   struct gsm_bts_trx *trx;
+   struct gsm_abis_mo *mo = &bts->mo;
+   const char *form = is_formatted ?
+   "Unexpected BTS %d in formatted O&M %s (exp. 0 or 0xFF)" :
+   "Unexpected BTS %d in manufacturer O&M %s (exp. 0 or 0xFF)";
+
+   if (foh->obj_inst.bts_nr != 0 && foh->obj_inst.bts_nr != 0xff) {
+   LOGP(DOML, LOGL_ERROR, form, foh->obj_inst.bts_nr, 
get_value_string(abis_nm_msgtype_names,
+   
foh->msg_type));
+   LOGPC(DOML, LOGL_ERROR, "\n");
+   trx = gsm_bts_trx_num(bts, foh->obj_inst.trx_nr);
+   if (trx) {
+   trx->mo.obj_inst.bts_nr = 0;
+   trx->mo.obj_inst.trx_nr = foh->obj_inst.trx_nr;
+   trx->mo.obj_inst.ts_nr = 0xff;
+   mo = &trx->mo;
+   }
+   oml_tx_failure_event_rep(mo, OSMO_EVT_MAJ_UKWN_MSG, form, 
foh->obj_inst.bts_nr,
+
get_value_string(abis_nm_msgtype_names, foh->msg_type));
+
+   return true;
+   }
+
+   return false;
+}
+
 static int down_fom(struct gsm_bts *bts, struct msgb *msg)
 {
struct abis_om_fom_hdr *foh = msgb_l3(msg);
@@ -1060,20 +1092,8 @@
return -EIO;
}
 
-   if (foh->obj_inst.bts_nr != 0 && foh->obj_inst.bts_nr != 0xff) {
-   LOGP(DOML, LOGL_INFO, "Formatted O&M with BTS %d out of 
range.\n", foh->obj_inst.bts_nr);
-   trx = gsm_bts_trx_num(bts, foh->obj_inst.trx_nr);
-   if (trx) {
-   trx->mo.obj_inst.bts_nr = 0;
-   trx->mo.obj_inst.trx_nr = foh->obj_inst.trx_nr;
-   trx->mo.obj_inst.ts_nr = 0xff;
-   oml_tx_failure_event_rep(&trx->mo, 
OSMO_EVT_MAJ_UKWN_MSG,
-"Formatted O&M with BTS %d out"
-" of range (0:0xFF)",
-foh->obj_inst.bts_nr);
-   }
+   if (report_bts_number_incorrect(bts, foh, true))
return oml_fom_ack_nack(msg, NM_NACK_BTSNR_UNKN);
-   }
 
switch (foh->msg_type) {
case NM_MT_SET_BTS_ATTR:
@@ -1363,10 +1383,8 @@
msg->l3h = oh->data + 1 + idstrlen;
foh = (struct abis_om_fom_hdr *) msg->l3h;
 
-   if (foh->obj_inst.bts_nr != 0 && foh->obj_inst.bts_nr != 0xff) {
-   LOGP(DOML, LOGL_INFO, "Manufacturer O&M with BTS %d out of 
range.\n", foh->obj_inst.bts_nr);
+   if (report_bts_number_incorrect(bts, foh, false))
return oml_fom_ack_nack(msg, NM_NACK_BTSNR_UNKN);
-   }
 
ret = oml_tlv_parse(&tp, foh->data, oh->length - sizeof(*foh));
if (ret < 0) {

-- 
To view, visit https://gerrit.osmocom.org/2866
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Id5714fbed910696d30e18d1f20f4c9fced4b9230
Gerrit-PatchSet: 2
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 


[MERGED] openbsc[master]: Enable optional static builds

2017-06-22 Thread Max
Max has submitted this change and it was merged.

Change subject: Enable optional static builds
..


Enable optional static builds

* use LT_INIT instead of AC_PROG_RANLIB
* remove redundant libbsc entries

The default (for both manual and .deb builds) is to use shared build (as
before) - the static build is entirely optional.

Based on work by Sergey Kostanbaev  and
Alexander Chemeris .

Change-Id: Ibcd1da98302413182c85e25c4cb7d69d9e38c35a
---
M openbsc/configure.ac
M openbsc/src/osmo-bsc/Makefile.am
M openbsc/tests/abis/Makefile.am
3 files changed, 1 insertion(+), 3 deletions(-)

Approvals:
  Alexander Chemeris: Looks good to me, but someone else must approve
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/openbsc/configure.ac b/openbsc/configure.ac
index c6ae159..ff51ccf 100644
--- a/openbsc/configure.ac
+++ b/openbsc/configure.ac
@@ -16,7 +16,7 @@
 AC_PROG_MAKE_SET
 AC_PROG_CC
 AC_PROG_INSTALL
-AC_PROG_RANLIB
+LT_INIT
 
 dnl check for pkg-config (explained in detail in libosmocore/configure.ac)
 AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no)
diff --git a/openbsc/src/osmo-bsc/Makefile.am b/openbsc/src/osmo-bsc/Makefile.am
index 6f836b0..ae9410c 100644
--- a/openbsc/src/osmo-bsc/Makefile.am
+++ b/openbsc/src/osmo-bsc/Makefile.am
@@ -43,7 +43,6 @@
$(top_builddir)/src/libbsc/libbsc.a \
$(top_builddir)/src/libcommon-cs/libcommon-cs.a \
$(top_builddir)/src/libmsc/libmsc.a \
-   $(top_builddir)/src/libbsc/libbsc.a \
$(top_builddir)/src/libtrau/libtrau.a \
$(top_builddir)/src/libcommon/libcommon.a \
$(LIBOSMOSCCP_LIBS) \
diff --git a/openbsc/tests/abis/Makefile.am b/openbsc/tests/abis/Makefile.am
index cbc3e07..1c5dede 100644
--- a/openbsc/tests/abis/Makefile.am
+++ b/openbsc/tests/abis/Makefile.am
@@ -27,7 +27,6 @@
 abis_test_LDADD = \
$(top_builddir)/src/libbsc/libbsc.a \
$(top_builddir)/src/libcommon/libcommon.a \
-   $(top_builddir)/src/libbsc/libbsc.a \
$(top_builddir)/src/libtrau/libtrau.a \
$(LIBOSMOCORE_LIBS) \
$(LIBOSMOABIS_LIBS) \

-- 
To view, visit https://gerrit.osmocom.org/2748
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ibcd1da98302413182c85e25c4cb7d69d9e38c35a
Gerrit-PatchSet: 2
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Alexander Chemeris 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 


[ABANDON] osmo-bts[master]: lc15: use directory instead of symlink

2017-06-22 Thread Max
Max has abandoned this change.

Change subject: lc15: use directory instead of symlink
..


Abandoned

-- 
To view, visit https://gerrit.osmocom.org/2935
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: abandon
Gerrit-Change-Id: I6208a1f7d62cac7ef64459e62f8e6083b0025580
Gerrit-PatchSet: 2
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: Minh-Quang Nguyen 


[PATCH] osmo-bts[master]: Add missing header file

2017-06-22 Thread Max

Review at  https://gerrit.osmocom.org/3003

Add missing header file

This fixes compilation warning:
implicit declaration of function ‘abis_bts_rsl_sendmsg’

Change-Id: I956561b2f953c7d380a26442fad84bc8262ea129
---
M src/common/l1sap.c
1 file changed, 1 insertion(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/03/3003/1

diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index b9104b7..3e0a6cc 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -45,6 +45,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 

-- 
To view, visit https://gerrit.osmocom.org/3003
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I956561b2f953c7d380a26442fad84bc8262ea129
Gerrit-PatchSet: 1
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 


osmo-bts[master]: Add missing header file

2017-06-22 Thread Max

Patch Set 1:

The main purpose of this tiny fix is to serve as a test for jenkins changes for 
lc15 builds. Feel free to +2 if it's ok it but please don't merge - I'll do it 
once lc15 jenkins tests are finished.

-- 
To view, visit https://gerrit.osmocom.org/3003
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I956561b2f953c7d380a26442fad84bc8262ea129
Gerrit-PatchSet: 1
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


[PATCH] osmo-bts[master]: lc15: make jenkins helper executable

2017-06-22 Thread Max

Review at  https://gerrit.osmocom.org/3004

lc15: make jenkins helper executable

Change-Id: Icf06040d77180fb9d877ca52e00171b21b634ef8
Related: SYS#3682
---
M contrib/jenkins_lc15.sh
1 file changed, 0 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/04/3004/1

diff --git a/contrib/jenkins_lc15.sh b/contrib/jenkins_lc15.sh
old mode 100644
new mode 100755

-- 
To view, visit https://gerrit.osmocom.org/3004
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Icf06040d77180fb9d877ca52e00171b21b634ef8
Gerrit-PatchSet: 1
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 


[PATCH] osmo-pcu[master]: tests: remove unused definition

2017-06-22 Thread Max

Review at  https://gerrit.osmocom.org/3005

tests: remove unused definition

Fix compilation warning.

Change-Id: I1c95c6ec8bee68773643f9646b0319a83fbc6cfa
---
M tests/emu/openbsc_clone.c
1 file changed, 0 insertions(+), 16 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/05/3005/1

diff --git a/tests/emu/openbsc_clone.c b/tests/emu/openbsc_clone.c
index 575f4e1..424dff5 100644
--- a/tests/emu/openbsc_clone.c
+++ b/tests/emu/openbsc_clone.c
@@ -41,22 +41,6 @@
 #define N202   4
 #define CRC24_LENGTH   3
 
-static const struct value_string llc_cmd_strs[] = {
-   { GPRS_LLC_NULL,"NULL" },
-   { GPRS_LLC_RR,  "RR" },
-   { GPRS_LLC_ACK, "ACK" },
-   { GPRS_LLC_RNR, "RNR" },
-   { GPRS_LLC_SACK,"SACK" },
-   { GPRS_LLC_DM,  "DM" },
-   { GPRS_LLC_DISC,"DISC" },
-   { GPRS_LLC_UA,  "UA" },
-   { GPRS_LLC_SABM,"SABM" },
-   { GPRS_LLC_FRMR,"FRMR" },
-   { GPRS_LLC_XID, "XID" },
-   { GPRS_LLC_UI,  "UI" },
-   { 0, NULL }
-};
-
 int gprs_llc_hdr_parse(struct gprs_llc_hdr_parsed *ghp,
  const uint8_t *llc_hdr, int len)
 {

-- 
To view, visit https://gerrit.osmocom.org/3005
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1c95c6ec8bee68773643f9646b0319a83fbc6cfa
Gerrit-PatchSet: 1
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max 


osmo-bts[master]: Add missing header file

2017-06-22 Thread Max

Patch Set 1:

The main purpose of this tiny fix is to serve as a test for jenkins changes for 
lc15 builds. Feel free to +2 if it's ok it but please don't merge - I'll do it 
once lc15 jenkins tests are finished.

-- 
To view, visit https://gerrit.osmocom.org/3003
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I956561b2f953c7d380a26442fad84bc8262ea129
Gerrit-PatchSet: 1
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


[PATCH] osmo-pcu[master]: lc15: use environment for firmware version

2017-06-22 Thread Max

Review at  https://gerrit.osmocom.org/3006

lc15: use environment for firmware version

This allows to specify firmware version to use by jenkins builder via
environment variable. If environment variable does not exist than
default master branch is used.

Change-Id: If8b249aa00270e60a0449f089a16823976e54d54
Related: SYS#3683
---
M contrib/jenkins.sh
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/06/3006/1

diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh
index 9c5c2e2..5222476 100755
--- a/contrib/jenkins.sh
+++ b/contrib/jenkins.sh
@@ -32,7 +32,7 @@
 elif [ "$with_dsp" = lc15 ]; then
   PCU_CONFIG="$PCU_CONFIG --enable-lc15bts-phy 
--with-litecell15=$deps/layer1-headers/inc"
   cd "$deps"
-  osmo-layer1-headers.sh lc15
+  osmo-layer1-headers.sh lc15 "$FIRMWARE_VERSION"
   cd "$base"
 
 elif [ -z "$with_dsp" -o "$with_dsp" = none ]; then

-- 
To view, visit https://gerrit.osmocom.org/3006
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If8b249aa00270e60a0449f089a16823976e54d54
Gerrit-PatchSet: 1
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max 


[MERGED] osmo-pcu[master]: lc15: use environment for firmware version

2017-06-22 Thread Max
Max has submitted this change and it was merged.

Change subject: lc15: use environment for firmware version
..


lc15: use environment for firmware version

This allows to specify firmware version to use by jenkins builder via
environment variable. If environment variable does not exist than
default master branch is used.

Change-Id: If8b249aa00270e60a0449f089a16823976e54d54
Related: SYS#3683
---
M contrib/jenkins.sh
1 file changed, 1 insertion(+), 1 deletion(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh
index 9c5c2e2..5222476 100755
--- a/contrib/jenkins.sh
+++ b/contrib/jenkins.sh
@@ -32,7 +32,7 @@
 elif [ "$with_dsp" = lc15 ]; then
   PCU_CONFIG="$PCU_CONFIG --enable-lc15bts-phy 
--with-litecell15=$deps/layer1-headers/inc"
   cd "$deps"
-  osmo-layer1-headers.sh lc15
+  osmo-layer1-headers.sh lc15 "$FIRMWARE_VERSION"
   cd "$base"
 
 elif [ -z "$with_dsp" -o "$with_dsp" = none ]; then

-- 
To view, visit https://gerrit.osmocom.org/3006
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: If8b249aa00270e60a0449f089a16823976e54d54
Gerrit-PatchSet: 2
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 


[PATCH] osmo-bts[master]: Add missing include for abis.h header file

2017-06-22 Thread Max
Hello Harald Welte, Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/3003

to look at the new patch set (#2).

Add missing include for abis.h header file

This fixes compilation warning:
implicit declaration of function ‘abis_bts_rsl_sendmsg’

Change-Id: I956561b2f953c7d380a26442fad84bc8262ea129
---
M src/common/l1sap.c
1 file changed, 1 insertion(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/03/3003/2

diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index b9104b7..3e0a6cc 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -45,6 +45,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 

-- 
To view, visit https://gerrit.osmocom.org/3003
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I956561b2f953c7d380a26442fad84bc8262ea129
Gerrit-PatchSet: 2
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 


[PATCH] osmo-bts[master]: lc15: fix jenkins build

2017-06-22 Thread Max

Review at  https://gerrit.osmocom.org/3007

lc15: fix jenkins build

* use proper fw headers include path
* do not quote $PARALLEL_MAKE variable

Change-Id: Ib67305ae858ce322f7ea4ac6c6ce5007ce8e7ab9
Related: SYS#3682
---
M contrib/jenkins_lc15.sh
1 file changed, 3 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/07/3007/1

diff --git a/contrib/jenkins_lc15.sh b/contrib/jenkins_lc15.sh
index c9173bf..af335d5 100755
--- a/contrib/jenkins_lc15.sh
+++ b/contrib/jenkins_lc15.sh
@@ -23,7 +23,7 @@
 set -x
 
 autoreconf --install --force
-./configure --with-openbsc="$deps/openbsc/openbsc/include" 
--with-litecell15="$deps/layer1-headers/" --enable-litecell15
-$MAKE "$PARALLEL_MAKE"
+./configure --with-openbsc="$deps/openbsc/openbsc/include" 
--with-litecell15="$deps/layer1-headers/inc/" --enable-litecell15
+$MAKE $PARALLEL_MAKE
 $MAKE check || cat-testlogs.sh
-DISTCHECK_CONFIGURE_FLAGS="--with-litecell15=$deps/layer1-headers/ 
--with-openbsc=$deps/openbsc/openbsc/include --enable-litecell15" $MAKE 
distcheck || cat-testlogs.sh
+DISTCHECK_CONFIGURE_FLAGS="--with-litecell15=$deps/layer1-headers/inc/ 
--with-openbsc=$deps/openbsc/openbsc/include --enable-litecell15" $MAKE 
distcheck || cat-testlogs.sh

-- 
To view, visit https://gerrit.osmocom.org/3007
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib67305ae858ce322f7ea4ac6c6ce5007ce8e7ab9
Gerrit-PatchSet: 1
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 


[PATCH] osmo-bts[master]: Simplify jenkins build scripts

2017-06-22 Thread Max

Review at  https://gerrit.osmocom.org/3008

Simplify jenkins build scripts

* move duplicated code into separate functions in jenkins_common.sh
* use that function in individual builds

Change-Id: I4d09c5f2693b5ac0a4d8f2c840971e13d1ec58cf
---
M contrib/jenkins_bts_trx.sh
M contrib/jenkins_common.sh
M contrib/jenkins_lc15.sh
M contrib/jenkins_oct_and_bts_trx.sh
M contrib/jenkins_sysmobts.sh
5 files changed, 26 insertions(+), 60 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/08/3008/1

diff --git a/contrib/jenkins_bts_trx.sh b/contrib/jenkins_bts_trx.sh
index 076a4ff..664c158 100755
--- a/contrib/jenkins_bts_trx.sh
+++ b/contrib/jenkins_bts_trx.sh
@@ -17,24 +17,10 @@
 
 cd "$base"
 
-set +x
-echo
-echo
-echo
-echo " === osmo-bts-trx 
==="
-echo
-set -x
-
-autoreconf --install --force
 configure_flags="\
   --with-openbsc=$deps/openbsc/openbsc/include \
   --with-osmo-pcu=$deps/osmo-pcu/include \
   --enable-trx \
   "
-./configure $configure_flags
-$MAKE $PARALLEL_MAKE
-$MAKE check \
-  || cat-testlogs.sh
-DISTCHECK_CONFIGURE_FLAGS="$configure_flags" \
-  $MAKE distcheck \
-  || cat-testlogs.sh
+
+build "osmo-bts-trx" $configure_flags
diff --git a/contrib/jenkins_common.sh b/contrib/jenkins_common.sh
index 824dd43..d81817d 100644
--- a/contrib/jenkins_common.sh
+++ b/contrib/jenkins_common.sh
@@ -22,3 +22,21 @@
 cd "$base"
 
 "$deps"/libosmocore/contrib/verify_value_string_arrays_are_terminated.py 
$(find . -name "*.[hc]")
+
+# generic project build function, usage:
+# build "PROJECT-NAME" "CONFIGURE OPTIONS"
+build() {
+set +x
+echo
+echo "$2"
+echo
+echo " === $1 ==="
+echo
+set -x
+
+autoreconf --install --force
+./configure "$2 --with-openbsc=$deps/openbsc/openbsc/include"
+$MAKE $PARALLEL_MAKE
+$MAKE check || cat-testlogs.sh
+DISTCHECK_CONFIGURE_FLAGS="$2 
--with-openbsc=$deps/openbsc/openbsc/include" $MAKE distcheck || cat-testlogs.sh
+}
diff --git a/contrib/jenkins_lc15.sh b/contrib/jenkins_lc15.sh
index af335d5..420d8d2 100755
--- a/contrib/jenkins_lc15.sh
+++ b/contrib/jenkins_lc15.sh
@@ -14,16 +14,6 @@
 osmo-layer1-headers.sh lc15 "$FIRMWARE_VERSION"
 cd "$base"
 
-set +x
-echo
-echo
-echo
-echo " === osmo-bts-lc15 
==="
-echo
-set -x
+configure_flags="--with-litecell15=$deps/layer1-headers/inc/ 
--enable-litecell15"
 
-autoreconf --install --force
-./configure --with-openbsc="$deps/openbsc/openbsc/include" 
--with-litecell15="$deps/layer1-headers/inc/" --enable-litecell15
-$MAKE $PARALLEL_MAKE
-$MAKE check || cat-testlogs.sh
-DISTCHECK_CONFIGURE_FLAGS="--with-litecell15=$deps/layer1-headers/inc/ 
--with-openbsc=$deps/openbsc/openbsc/include --enable-litecell15" $MAKE 
distcheck || cat-testlogs.sh
+build "osmo-bts-lc15" $configure_flags
diff --git a/contrib/jenkins_oct_and_bts_trx.sh 
b/contrib/jenkins_oct_and_bts_trx.sh
index a8a8004..74aa7e3 100755
--- a/contrib/jenkins_oct_and_bts_trx.sh
+++ b/contrib/jenkins_oct_and_bts_trx.sh
@@ -19,15 +19,6 @@
 
 cd "$base"
 
-set +x
-echo
-echo
-echo
-echo " === osmo-bts-octphy+trx 
==="
-echo
-set -x
-
-autoreconf --install --force
 configure_flags="\
   --with-openbsc=$deps/openbsc/openbsc/include \
   --with-osmo-pcu=$deps/osmo-pcu/include \
@@ -35,10 +26,5 @@
   --enable-octphy \
   --enable-trx \
   "
-./configure $configure_flags
-$MAKE $PARALLEL_MAKE
-$MAKE check \
-  || cat-testlogs.sh
-DISTCHECK_CONFIGURE_FLAGS="$configure_flags" \
-  $MAKE distcheck \
-  || cat-testlogs.sh
+
+build "osmo-bts-octphy+trx" $configure_flags
diff --git a/contrib/jenkins_sysmobts.sh b/contrib/jenkins_sysmobts.sh
index 227f249..7cd8572 100755
--- a/contrib/jenkins_sysmobts.sh
+++ b/contrib/jenkins_sysmobts.sh
@@ -16,22 +16,8 @@
 ln -s $deps/layer1-headers/include/* "$inst/include/sysmocom/femtobts/"
 cd "$base"
 
-set +x
-echo
-echo
-echo
-echo " === osmo-bts-sysmo 
==="
-echo
-set -x
-
-autoreconf --install --force
-./configure --enable-sysmocom-bts 
--with-openbsc="$deps/openbsc/openbsc/include"
-$MAKE $PARALLEL_MAKE
-$MAKE check \
-  || cat-testlogs.sh
-DISTCHECK_CONFIGURE_FLAGS="--enable-sysmocom-bts 
--with-openbsc=$deps/openbsc/openbsc/include" \
-  $MAKE distcheck \
-  || cat-testlogs.sh
+configure_flags="--enable-sysmocom-bts"
+build "osmo-bts-sysmo" $configure_flags
 
 # This will not work for the femtobts
 if [ $FIRMWARE_VERSION != "femtobts_v2.7" ]; then

-- 
To view, visit https://gerrit.osmocom.org/3008
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4d09c5f2693b5ac0a4d8f2c840971e13d1ec58cf
Gerrit-PatchSet: 1
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 


libosmo-abis[master]: Revert "configure.ac: Use -Werror in C(PP)FLAGS"

2017-06-22 Thread Max

Patch Set 1: Code-Review+1

-- 
To view, visit https://gerrit.osmocom.org/3009
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ied6e21b72b24fcb623fd945ed9560b742a8eedf5
Gerrit-PatchSet: 1
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


libosmo-sccp[master]: Revert "configure.ac: Use -Werror in C(PP)FLAGS"

2017-06-22 Thread Max

Patch Set 1: Code-Review+1

-- 
To view, visit https://gerrit.osmocom.org/3010
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I92955c2f74f9a5c40e80028459100cf5e79a537b
Gerrit-PatchSet: 1
Gerrit-Project: libosmo-sccp
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


osmo-bts[master]: Add loopback support for PDTCH

2017-06-25 Thread Max

Patch Set 4:

> we transmit an empty (all-zero) frame of 23 bytes

Why not dummy frame? Is this per some spec?

-- 
To view, visit https://gerrit.osmocom.org/3032
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Idd07a3f4a88c38398d3e844333c0104e2de23864
Gerrit-PatchSet: 4
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Harald Welte 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


[PATCH] osmo-bts[master]: RSL: receive and send multiple SI2q messages

2017-06-26 Thread Max

Review at  https://gerrit.osmocom.org/3047

RSL: receive and send multiple SI2q messages

* change BCCH Info handler to explicitly support multiple SI2quater
  messages sent from BSC
* change SI scheduler to send SI2q in round-robin way

Change-Id: Ib595733cde108387bc7ee76b1b11ada6a235f13c
Related: OS#1660, OS#2338
---
M src/common/rsl.c
M src/common/sysinfo.c
2 files changed, 41 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/47/3047/1

diff --git a/src/common/rsl.c b/src/common/rsl.c
index eab9379..fa49071 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -264,7 +264,7 @@
 {
struct gsm_bts *bts = trx->bts;
struct tlv_parsed tp;
-   uint8_t rsl_si, si2q_index, si2q_count;
+   uint8_t rsl_si, count;
enum osmo_sysinfo_type osmo_si;
struct gsm48_system_information_type_2quater *si2q;
struct bitvec bv;
@@ -307,21 +307,34 @@
}
 
if (SYSINFO_TYPE_2quater == osmo_si) {
-   si2q = (struct gsm48_system_information_type_2quater *)
-   bts->si_buf[SYSINFO_TYPE_2quater];
+   si2q = (struct gsm48_system_information_type_2quater *) 
TLVP_VAL(&tp, RSL_IE_FULL_BCCH_INFO);
bv.data = si2q->rest_octets;
-   bv.data_len = 20;
+   bv.data_len = GSM_MACBLOCK_LEN;
bv.cur_bit = 3;
-   si2q_index = (uint8_t) bitvec_get_uint(&bv, 4);
-   si2q_count = (uint8_t) bitvec_get_uint(&bv, 4);
-   if (si2q_index || si2q_count) {
-   LOGP(DRSL, LOGL_ERROR,
-" Rx RSL SI2quater witn unsupported "
-"index %u, count %u\n",
-si2q_index, si2q_count);
-   return rsl_tx_error_report(trx,
-  RSL_ERR_IE_CONTENT);
+   bts->si2q_index = (uint8_t) bitvec_get_uint(&bv, 4);
+
+   count = (uint8_t) bitvec_get_uint(&bv, 4);
+   if (bts->si2q_count && bts->si2q_count != count) {
+   LOGP(DRSL, LOGL_ERROR, " Rx RSL SI2quater count 
changed while receiving: %u -> %d\n",
+bts->si2q_count, count);
+   return rsl_tx_error_report(trx, 
RSL_ERR_IE_CONTENT);
}
+
+   bts->si2q_count = count;
+   if (bts->si2q_index > bts->si2q_count) {
+   LOGP(DRSL, LOGL_ERROR, " Rx RSL SI2quater witn 
index %u > count %u\n",
+bts->si2q_index, bts->si2q_count);
+   return rsl_tx_error_report(trx, 
RSL_ERR_IE_CONTENT);
+   }
+
+   if (bts->si2q_index > SI2Q_MAX_NUM || bts->si2q_count > 
SI2Q_MAX_NUM) {
+   LOGP(DRSL, LOGL_ERROR, " Rx RSL SI2quater witn 
impossible parameters: index %u, count %u"
+"should be <= %u\n", bts->si2q_index, 
bts->si2q_count, SI2Q_MAX_NUM);
+   return rsl_tx_error_report(trx, 
RSL_ERR_IE_CONTENT);
+   }
+
+   memset(GSM_BTS_SI2Q(bts, bts->si2q_index), 
GSM_MACBLOCK_PADDING, sizeof(sysinfo_buf_t));
+   memcpy(GSM_BTS_SI2Q(bts, bts->si2q_index), 
TLVP_VAL(&tp, RSL_IE_FULL_BCCH_INFO), len);
}
} else if (TLVP_PRESENT(&tp, RSL_IE_L3_INFO)) {
uint16_t len = TLVP_LEN(&tp, RSL_IE_L3_INFO);
diff --git a/src/common/sysinfo.c b/src/common/sysinfo.c
index 7a53627..9276c7b 100644
--- a/src/common/sysinfo.c
+++ b/src/common/sysinfo.c
@@ -25,6 +25,16 @@
 #include 
 #include 
 
+/* properly increment SI2q index and return SI2q data for scheduling */
+static inline uint8_t *get_si2q_inc_index(struct gsm_bts *bts)
+{
+   uint8_t i = bts->si2q_index;
+   /* si2q_count is the max si2q_index value, not the number of messages */
+   bts->si2q_index = (bts->si2q_index + 1) % (bts->si2q_count + 1);
+
+   return (uint8_t *)GSM_BTS_SI2Q(bts, i);
+}
+
 /* Apply the rules from 05.02 6.3.1.3 Mapping of BCCH Data */
 uint8_t *bts_sysinfo_get(struct gsm_bts *bts, const struct gsm_time *g_time)
 {
@@ -99,6 +109,10 @@
else {
/* increment static counter by one, modulo count */
btsb->si.tc4_ctr = (btsb->si.tc4_ctr + 1) % tc4_cnt;
+
+   if (tc4_sub[btsb->si.tc4_ctr] == SYSINFO_TYPE_2quater)
+   

libosmocore[master]: utils: add function gsm_print_fn2gsmtime()

2017-06-26 Thread Max

Patch Set 1:

The name is kinda confusing to me: smth like gsm_fn_as_gsmtime_str() would be 
better. Also, depending on the way you plan to use it might make sense to 
"print" FN as well.

-- 
To view, visit https://gerrit.osmocom.org/3048
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8015d2ded3940b01b35df7b72fc35c70c25e9926
Gerrit-PatchSet: 1
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: dexter 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


libosmocore[master]: Add and use macros to set/get/clear/toggle bit flags

2017-06-26 Thread Max

Patch Set 3:

Shall I abandon this or +1 x 3 outweight Harald's -1?

-- 
To view, visit https://gerrit.osmocom.org/2857
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie9d38b837ce84649c2975dbe8b889fe3a769885f
Gerrit-PatchSet: 3
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: Pau Espin Pedrol 
Gerrit-Reviewer: Vadim Yanitskiy 
Gerrit-Reviewer: fixeria 
Gerrit-HasComments: No


[PATCH] osmo-bts[master]: Simplify jenkins build scripts

2017-06-26 Thread Max
nfigure_flags" \
-  $MAKE distcheck \
-  || cat-testlogs.sh
+
+build "osmo-bts-octphy+trx" $configure_flags
diff --git a/contrib/jenkins_sysmobts.sh b/contrib/jenkins_sysmobts.sh
index 227f249..7cd8572 100755
--- a/contrib/jenkins_sysmobts.sh
+++ b/contrib/jenkins_sysmobts.sh
@@ -16,22 +16,8 @@
 ln -s $deps/layer1-headers/include/* "$inst/include/sysmocom/femtobts/"
 cd "$base"
 
-set +x
-echo
-echo
-echo
-echo " === osmo-bts-sysmo 
==="
-echo
-set -x
-
-autoreconf --install --force
-./configure --enable-sysmocom-bts 
--with-openbsc="$deps/openbsc/openbsc/include"
-$MAKE $PARALLEL_MAKE
-$MAKE check \
-  || cat-testlogs.sh
-DISTCHECK_CONFIGURE_FLAGS="--enable-sysmocom-bts 
--with-openbsc=$deps/openbsc/openbsc/include" \
-  $MAKE distcheck \
-  || cat-testlogs.sh
+configure_flags="--enable-sysmocom-bts"
+build "osmo-bts-sysmo" $configure_flags
 
 # This will not work for the femtobts
 if [ $FIRMWARE_VERSION != "femtobts_v2.7" ]; then

-- 
To view, visit https://gerrit.osmocom.org/3008
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4d09c5f2693b5ac0a4d8f2c840971e13d1ec58cf
Gerrit-PatchSet: 2
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: neels 


[PATCH] osmo-bts[master]: Simplify jenkins build scripts

2017-06-26 Thread Max
L_MAKE
-$MAKE check \
-  || cat-testlogs.sh
-DISTCHECK_CONFIGURE_FLAGS="$configure_flags" \
-  $MAKE distcheck \
-  || cat-testlogs.sh
+
+build "osmo-bts-octphy+trx" $configure_flags "$deps"
diff --git a/contrib/jenkins_sysmobts.sh b/contrib/jenkins_sysmobts.sh
index 227f249..1fe3e8e 100755
--- a/contrib/jenkins_sysmobts.sh
+++ b/contrib/jenkins_sysmobts.sh
@@ -16,22 +16,8 @@
 ln -s $deps/layer1-headers/include/* "$inst/include/sysmocom/femtobts/"
 cd "$base"
 
-set +x
-echo
-echo
-echo
-echo " === osmo-bts-sysmo 
==="
-echo
-set -x
-
-autoreconf --install --force
-./configure --enable-sysmocom-bts 
--with-openbsc="$deps/openbsc/openbsc/include"
-$MAKE $PARALLEL_MAKE
-$MAKE check \
-  || cat-testlogs.sh
-DISTCHECK_CONFIGURE_FLAGS="--enable-sysmocom-bts 
--with-openbsc=$deps/openbsc/openbsc/include" \
-  $MAKE distcheck \
-  || cat-testlogs.sh
+configure_flags="--enable-sysmocom-bts"
+build "osmo-bts-sysmo" $configure_flags "$deps"
 
 # This will not work for the femtobts
 if [ $FIRMWARE_VERSION != "femtobts_v2.7" ]; then

-- 
To view, visit https://gerrit.osmocom.org/3008
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4d09c5f2693b5ac0a4d8f2c840971e13d1ec58cf
Gerrit-PatchSet: 4
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: neels 


[PATCH] osmo-bts[master]: RSL: receive and send multiple SI2q messages

2017-06-26 Thread Max
Hello Pau Espin Pedrol, Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/3047

to look at the new patch set (#2).

RSL: receive and send multiple SI2q messages

* change BCCH Info handler to explicitly support multiple SI2quater
  messages sent from BSC
* change SI scheduler to send SI2q in round-robin way

That's resubmission of 340cff51f49f6e798cb5fb6d1b9febdd09902906 and
186c6bac0758b6f94aa101e151664b0dea5d8975 with memory initialization
order change to fix the issue detected by osmo-gsm-tester - see OS#2338.

Change-Id: Ib595733cde108387bc7ee76b1b11ada6a235f13c
Related: OS#1660, OS#2338
---
M src/common/rsl.c
M src/common/sysinfo.c
2 files changed, 41 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/47/3047/2

diff --git a/src/common/rsl.c b/src/common/rsl.c
index eab9379..fa49071 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -264,7 +264,7 @@
 {
struct gsm_bts *bts = trx->bts;
struct tlv_parsed tp;
-   uint8_t rsl_si, si2q_index, si2q_count;
+   uint8_t rsl_si, count;
enum osmo_sysinfo_type osmo_si;
struct gsm48_system_information_type_2quater *si2q;
struct bitvec bv;
@@ -307,21 +307,34 @@
}
 
if (SYSINFO_TYPE_2quater == osmo_si) {
-   si2q = (struct gsm48_system_information_type_2quater *)
-   bts->si_buf[SYSINFO_TYPE_2quater];
+   si2q = (struct gsm48_system_information_type_2quater *) 
TLVP_VAL(&tp, RSL_IE_FULL_BCCH_INFO);
bv.data = si2q->rest_octets;
-   bv.data_len = 20;
+   bv.data_len = GSM_MACBLOCK_LEN;
bv.cur_bit = 3;
-   si2q_index = (uint8_t) bitvec_get_uint(&bv, 4);
-   si2q_count = (uint8_t) bitvec_get_uint(&bv, 4);
-   if (si2q_index || si2q_count) {
-   LOGP(DRSL, LOGL_ERROR,
-" Rx RSL SI2quater witn unsupported "
-"index %u, count %u\n",
-si2q_index, si2q_count);
-   return rsl_tx_error_report(trx,
-  RSL_ERR_IE_CONTENT);
+   bts->si2q_index = (uint8_t) bitvec_get_uint(&bv, 4);
+
+   count = (uint8_t) bitvec_get_uint(&bv, 4);
+   if (bts->si2q_count && bts->si2q_count != count) {
+   LOGP(DRSL, LOGL_ERROR, " Rx RSL SI2quater count 
changed while receiving: %u -> %d\n",
+bts->si2q_count, count);
+   return rsl_tx_error_report(trx, 
RSL_ERR_IE_CONTENT);
}
+
+   bts->si2q_count = count;
+   if (bts->si2q_index > bts->si2q_count) {
+   LOGP(DRSL, LOGL_ERROR, " Rx RSL SI2quater witn 
index %u > count %u\n",
+bts->si2q_index, bts->si2q_count);
+   return rsl_tx_error_report(trx, 
RSL_ERR_IE_CONTENT);
+   }
+
+   if (bts->si2q_index > SI2Q_MAX_NUM || bts->si2q_count > 
SI2Q_MAX_NUM) {
+   LOGP(DRSL, LOGL_ERROR, " Rx RSL SI2quater witn 
impossible parameters: index %u, count %u"
+"should be <= %u\n", bts->si2q_index, 
bts->si2q_count, SI2Q_MAX_NUM);
+   return rsl_tx_error_report(trx, 
RSL_ERR_IE_CONTENT);
+   }
+
+   memset(GSM_BTS_SI2Q(bts, bts->si2q_index), 
GSM_MACBLOCK_PADDING, sizeof(sysinfo_buf_t));
+   memcpy(GSM_BTS_SI2Q(bts, bts->si2q_index), 
TLVP_VAL(&tp, RSL_IE_FULL_BCCH_INFO), len);
}
} else if (TLVP_PRESENT(&tp, RSL_IE_L3_INFO)) {
uint16_t len = TLVP_LEN(&tp, RSL_IE_L3_INFO);
diff --git a/src/common/sysinfo.c b/src/common/sysinfo.c
index 7a53627..9276c7b 100644
--- a/src/common/sysinfo.c
+++ b/src/common/sysinfo.c
@@ -25,6 +25,16 @@
 #include 
 #include 
 
+/* properly increment SI2q index and return SI2q data for scheduling */
+static inline uint8_t *get_si2q_inc_index(struct gsm_bts *bts)
+{
+   uint8_t i = bts->si2q_index;
+   /* si2q_count is the max si2q_index value, not the number of messages */
+   bts->si2q_index = (bts->si2q_index + 1) % (bts->si2q_count + 1);
+
+   return (uint8_t *)GSM_BTS_SI2Q(bts, i);
+}
+
 /* Apply the rules from 05.02 6.3.1.3 Mapping of BCCH Data */
 uint8_t *bts_sysinfo_get(struct gsm_bts *bts,

[PATCH] osmo-pcu[master]: Remove comment warning

2017-06-26 Thread Max

Review at  https://gerrit.osmocom.org/3049

Remove comment warning

It's unclear why the warning was placed next to commented log statement
to begin with, so let's just follow that warning's advice and drop it.

Change-Id: I3ef7a45d015a28fdadf75f97294bc5d4f825b8ae
---
M src/pcu_l1_if.cpp
1 file changed, 2 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/49/3049/1

diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index c16ac0c..c2c6cc6 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -549,9 +549,8 @@
/* omit frame numbers not starting at a MAC block */
if (fn13 != 0 && fn13 != 4 && fn13 != 8)
return 0;
-#warning uncomment
-// LOGP(DL1IF, LOGL_DEBUG, "Time indication received: %d\n",
-// time_ind->fn % 52);
+
+   LOGP(DL1IF, LOGL_DEBUG, "Time indication received: %d\n", time_ind->fn 
% 52);
 
BTS::main_bts()->set_current_frame_number(time_ind->fn);
return 0;

-- 
To view, visit https://gerrit.osmocom.org/3049
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3ef7a45d015a28fdadf75f97294bc5d4f825b8ae
Gerrit-PatchSet: 1
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max 


osmo-pcu[master]: Remove comment warning

2017-06-26 Thread Max

Patch Set 1: Code-Review-1

Test dummy for lc15 jenkins changes.

-- 
To view, visit https://gerrit.osmocom.org/3049
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I3ef7a45d015a28fdadf75f97294bc5d4f825b8ae
Gerrit-PatchSet: 1
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


libosmocore[master]: Add and use macros to set/get/clear/toggle bit flags

2017-06-26 Thread Max

Patch Set 3: Code-Review+1

Yepp, he's the boss.

-- 
To view, visit https://gerrit.osmocom.org/2857
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie9d38b837ce84649c2975dbe8b889fe3a769885f
Gerrit-PatchSet: 3
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: Pau Espin Pedrol 
Gerrit-Reviewer: Vadim Yanitskiy 
Gerrit-Reviewer: fixeria 
Gerrit-HasComments: No


osmo-bts[master]: RSL: receive and send multiple SI2q messages

2017-06-26 Thread Max

Patch Set 2:

I can't explain it properly because I do not understand why memory 
initialization issue affects osmo-bts-trx but not the others. I think the issue 
in reverted commit was with the SI3 memory initialized when it shouldn't be but 
it's just a guess.

-- 
To view, visit https://gerrit.osmocom.org/3047
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib595733cde108387bc7ee76b1b11ada6a235f13c
Gerrit-PatchSet: 2
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: Pau Espin Pedrol 
Gerrit-Reviewer: neels 
Gerrit-HasComments: No


osmo-pcu[master]: Remove comment warning

2017-06-26 Thread Max

Patch Set 1: Code-Review+1

Jenkins changes tested successfully - feel free to merge if it's OK.

-- 
To view, visit https://gerrit.osmocom.org/3049
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I3ef7a45d015a28fdadf75f97294bc5d4f825b8ae
Gerrit-PatchSet: 1
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


[MERGED] osmo-bts[master]: Add missing include for abis.h header file

2017-06-26 Thread Max
Max has submitted this change and it was merged.

Change subject: Add missing include for abis.h header file
..


Add missing include for abis.h header file

This fixes compilation warning:
implicit declaration of function ‘abis_bts_rsl_sendmsg’

Change-Id: I956561b2f953c7d380a26442fad84bc8262ea129
---
M src/common/l1sap.c
1 file changed, 1 insertion(+), 0 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index 0ab84e5..1fb6134 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -45,6 +45,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 

-- 
To view, visit https://gerrit.osmocom.org/3003
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I956561b2f953c7d380a26442fad84bc8262ea129
Gerrit-PatchSet: 4
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 


osmo-bts[master]: TRX: Use timerfd and CLOCK_MONOTONIC for GSM frame timer

2017-06-26 Thread Max

Patch Set 2:

(1 comment)

https://gerrit.osmocom.org/#/c/3037/2/src/osmo-bts-trx/scheduler_trx.c
File src/osmo-bts-trx/scheduler_trx.c:

Line 1473:  if (elapsed_fn >= 135774)
where does this number comes from?


-- 
To view, visit https://gerrit.osmocom.org/3037
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I51b19adde14ebb7ef3bb863d45e06243c323e22e
Gerrit-PatchSet: 2
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Harald Welte 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: Vadim Yanitskiy 
Gerrit-HasComments: Yes


libosmocore[master]: utils: add function gsm_print_fn2gsmtime()

2017-06-26 Thread Max

Patch Set 3:

Please change commit message to reflect function name properly - or use some 
text instead of function name.

-- 
To view, visit https://gerrit.osmocom.org/3048
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8015d2ded3940b01b35df7b72fc35c70c25e9926
Gerrit-PatchSet: 3
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: dexter 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


[PATCH] osmo-bts[master]: Simplify jenkins build scripts

2017-06-26 Thread Max
kins_oct_and_bts_trx.sh
@@ -17,28 +17,11 @@
 
 osmo-layer1-headers.sh oct "$FIRMWARE_VERSION"
 
-cd "$base"
-
-set +x
-echo
-echo
-echo
-echo " === osmo-bts-octphy+trx 
==="
-echo
-set -x
-
-autoreconf --install --force
 configure_flags="\
-  --with-openbsc=$deps/openbsc/openbsc/include \
   --with-osmo-pcu=$deps/osmo-pcu/include \
   --with-octsdr-2g=$deps/layer1-headers/ \
   --enable-octphy \
   --enable-trx \
   "
-./configure $configure_flags
-$MAKE $PARALLEL_MAKE
-$MAKE check \
-  || cat-testlogs.sh
-DISTCHECK_CONFIGURE_FLAGS="$configure_flags" \
-  $MAKE distcheck \
-  || cat-testlogs.sh
+
+build_bts "osmo-bts-octphy+trx" "$deps" "$base" "$configure_flags"
diff --git a/contrib/jenkins_sysmobts.sh b/contrib/jenkins_sysmobts.sh
index 227f249..8bbfc70 100755
--- a/contrib/jenkins_sysmobts.sh
+++ b/contrib/jenkins_sysmobts.sh
@@ -14,24 +14,10 @@
 osmo-layer1-headers.sh sysmo "$FIRMWARE_VERSION"
 mkdir -p "$inst/include/sysmocom/femtobts"
 ln -s $deps/layer1-headers/include/* "$inst/include/sysmocom/femtobts/"
-cd "$base"
 
-set +x
-echo
-echo
-echo
-echo " === osmo-bts-sysmo 
==="
-echo
-set -x
+configure_flags="--enable-sysmocom-bts"
 
-autoreconf --install --force
-./configure --enable-sysmocom-bts 
--with-openbsc="$deps/openbsc/openbsc/include"
-$MAKE $PARALLEL_MAKE
-$MAKE check \
-  || cat-testlogs.sh
-DISTCHECK_CONFIGURE_FLAGS="--enable-sysmocom-bts 
--with-openbsc=$deps/openbsc/openbsc/include" \
-  $MAKE distcheck \
-  || cat-testlogs.sh
+build_bts "osmo-bts-sysmo" "$deps" "$base" "$configure_flags"
 
 # This will not work for the femtobts
 if [ $FIRMWARE_VERSION != "femtobts_v2.7" ]; then

-- 
To view, visit https://gerrit.osmocom.org/3008
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4d09c5f2693b5ac0a4d8f2c840971e13d1ec58cf
Gerrit-PatchSet: 5
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: neels 


libosmocore[master]: utils: add function gsm_fn_as_gsmtime_str()

2017-06-26 Thread Max

Patch Set 4: Code-Review+1

-- 
To view, visit https://gerrit.osmocom.org/3048
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8015d2ded3940b01b35df7b72fc35c70c25e9926
Gerrit-PatchSet: 4
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: dexter 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


osmo-pcu[master]: Remove comment warning

2017-06-26 Thread Max

Patch Set 1: -Code-Review

AFAIK, he's not registered in gerrit and the code is part of huge patch from 5 
years ago so chances to get that explanation are rather slim. I think we should 
just either enable it or drop it and git rid of associated warning.

-- 
To view, visit https://gerrit.osmocom.org/3049
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I3ef7a45d015a28fdadf75f97294bc5d4f825b8ae
Gerrit-PatchSet: 1
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: Pau Espin Pedrol 
Gerrit-HasComments: No


osmo-trx[master]: uhd: Always specify samples-per-symbol for device lookup

2017-06-27 Thread Max

Patch Set 1: Code-Review+1

-- 
To view, visit https://gerrit.osmocom.org/3062
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I56e939285d585cc38efa6c329e30e3acebb734eb
Gerrit-PatchSet: 1
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Owner: Tom Tsou 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


osmo-bts[master]: sysmo/tch.c: Clean up use of empty buffer

2017-06-27 Thread Max

Patch Set 1: Code-Review+1

-- 
To view, visit https://gerrit.osmocom.org/3055
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I5ecfc4df5a3fcad3d3ad50bf3dd3db65b694481a
Gerrit-PatchSet: 1
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


osmo-bts[master]: sysmo/l1_if.c: Allow passing low quality buffers to l1if_tch_rx

2017-06-27 Thread Max

Patch Set 1: Code-Review-1

(1 comment)

https://gerrit.osmocom.org/#/c/3056/1/src/osmo-bts-sysmo/l1_if.c
File src/osmo-bts-sysmo/l1_if.c:

Line 969: 
I think comment right next to the check explaining why we do it that way is 
really necessary: it's far from obvious and "works" either way so we got to 
make sure that someone else won't move it back again by accident.


-- 
To view, visit https://gerrit.osmocom.org/3056
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: If5df8940fab833eb4e3ed851880b66987d356031
Gerrit-PatchSet: 1
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: Yes


[PATCH] osmo-ci[master]: Add value string termination check from libosmcore

2017-06-27 Thread Max

Review at  https://gerrit.osmocom.org/3065

Add value string termination check from libosmcore

The script by Neels Hofmeyr  has actually nothing
to with libosmocore itself - it's a generic build-time check used by
jenkins so it should be part of this repo to avoid extra checkout of
libosmocore just for this check script.

Change-Id: I079218b61f512975ec5bfc7dc23503ec369cbb5a
---
A scripts/verify_value_string_arrays_are_terminated.py
1 file changed, 33 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/65/3065/1

diff --git a/scripts/verify_value_string_arrays_are_terminated.py 
b/scripts/verify_value_string_arrays_are_terminated.py
new file mode 100755
index 000..020bb4d
--- /dev/null
+++ b/scripts/verify_value_string_arrays_are_terminated.py
@@ -0,0 +1,33 @@
+#!/usr/bin/env python3
+# vim: expandtab tabstop=2 shiftwidth=2 nocin
+
+'''
+Usage:
+  verify_value_string_arrays_are_terminated.py PATH [PATH [...]]
+
+e.g.
+libosmocore/contrib/verify_value_string_arrays_are_terminated.py $(find . 
-name "*.[hc]")
+'''
+
+import re
+import sys
+import codecs
+
+value_string_array_re = re.compile(
+  r'((\bstruct\s+value_string\b[^{;]*?)\s*=[^{;]*{[^;]*}\s*;)',
+  re.MULTILINE | re.DOTALL)
+
+members = r'(\.(value|str)\s*=\s*)?'
+terminator_re = re.compile('{\s*' + members + '(0|NULL)\s*,'
+   '\s*' + members + '(0|NULL)\s*}')
+errors_found = 0
+
+for f in sys.argv[1:]:
+  arrays = value_string_array_re.findall(codecs.open(f, "r", "utf-8").read())
+  for array_def, name in arrays:
+if not terminator_re.search(array_def):
+  print('ERROR: file contains unterminated value_string %r: %r'
+% (name, f))
+  errors_found += 1
+
+sys.exit(errors_found)

-- 
To view, visit https://gerrit.osmocom.org/3065
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I079218b61f512975ec5bfc7dc23503ec369cbb5a
Gerrit-PatchSet: 1
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Max 


[PATCH] osmo-ci[master]: Add value string termination check from libosmocore

2017-06-27 Thread Max

Add value string termination check from libosmocore

The script by Neels Hofmeyr  has actually nothing
to with libosmocore itself - it's a generic build-time check used by
jenkins so it should be part of this repo to avoid extra checkout of
libosmocore just for this check script.

Change-Id: I079218b61f512975ec5bfc7dc23503ec369cbb5a
---
A scripts/verify_value_string_arrays_are_terminated.py
1 file changed, 33 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/65/3065/2

diff --git a/scripts/verify_value_string_arrays_are_terminated.py 
b/scripts/verify_value_string_arrays_are_terminated.py
new file mode 100755
index 000..020bb4d
--- /dev/null
+++ b/scripts/verify_value_string_arrays_are_terminated.py
@@ -0,0 +1,33 @@
+#!/usr/bin/env python3
+# vim: expandtab tabstop=2 shiftwidth=2 nocin
+
+'''
+Usage:
+  verify_value_string_arrays_are_terminated.py PATH [PATH [...]]
+
+e.g.
+libosmocore/contrib/verify_value_string_arrays_are_terminated.py $(find . 
-name "*.[hc]")
+'''
+
+import re
+import sys
+import codecs
+
+value_string_array_re = re.compile(
+  r'((\bstruct\s+value_string\b[^{;]*?)\s*=[^{;]*{[^;]*}\s*;)',
+  re.MULTILINE | re.DOTALL)
+
+members = r'(\.(value|str)\s*=\s*)?'
+terminator_re = re.compile('{\s*' + members + '(0|NULL)\s*,'
+   '\s*' + members + '(0|NULL)\s*}')
+errors_found = 0
+
+for f in sys.argv[1:]:
+  arrays = value_string_array_re.findall(codecs.open(f, "r", "utf-8").read())
+  for array_def, name in arrays:
+if not terminator_re.search(array_def):
+  print('ERROR: file contains unterminated value_string %r: %r'
+% (name, f))
+  errors_found += 1
+
+sys.exit(errors_found)

-- 
To view, visit https://gerrit.osmocom.org/3065
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I079218b61f512975ec5bfc7dc23503ec369cbb5a
Gerrit-PatchSet: 2
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Max 


[PATCH] osmo-ci[master]: Add value string termination check from libosmocore

2017-06-27 Thread Max

Add value string termination check from libosmocore

The script by Neels Hofmeyr  has actually nothing
to do with libosmocore itself - it's a generic build-time check used by
jenkins so it should be part of this repo to avoid extra checkout of
libosmocore just for this script.

Change-Id: I079218b61f512975ec5bfc7dc23503ec369cbb5a
---
A scripts/verify_value_string_arrays_are_terminated.py
1 file changed, 33 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/65/3065/3

diff --git a/scripts/verify_value_string_arrays_are_terminated.py 
b/scripts/verify_value_string_arrays_are_terminated.py
new file mode 100755
index 000..020bb4d
--- /dev/null
+++ b/scripts/verify_value_string_arrays_are_terminated.py
@@ -0,0 +1,33 @@
+#!/usr/bin/env python3
+# vim: expandtab tabstop=2 shiftwidth=2 nocin
+
+'''
+Usage:
+  verify_value_string_arrays_are_terminated.py PATH [PATH [...]]
+
+e.g.
+libosmocore/contrib/verify_value_string_arrays_are_terminated.py $(find . 
-name "*.[hc]")
+'''
+
+import re
+import sys
+import codecs
+
+value_string_array_re = re.compile(
+  r'((\bstruct\s+value_string\b[^{;]*?)\s*=[^{;]*{[^;]*}\s*;)',
+  re.MULTILINE | re.DOTALL)
+
+members = r'(\.(value|str)\s*=\s*)?'
+terminator_re = re.compile('{\s*' + members + '(0|NULL)\s*,'
+   '\s*' + members + '(0|NULL)\s*}')
+errors_found = 0
+
+for f in sys.argv[1:]:
+  arrays = value_string_array_re.findall(codecs.open(f, "r", "utf-8").read())
+  for array_def, name in arrays:
+if not terminator_re.search(array_def):
+  print('ERROR: file contains unterminated value_string %r: %r'
+% (name, f))
+  errors_found += 1
+
+sys.exit(errors_found)

-- 
To view, visit https://gerrit.osmocom.org/3065
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I079218b61f512975ec5bfc7dc23503ec369cbb5a
Gerrit-PatchSet: 3
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: neels 


osmo-bts[master]: RSL: receive and send multiple SI2q messages

2017-06-27 Thread Max

Patch Set 2:

I've run osmo-gsm-tester manually and got exactly the same errors with current 
master - see 
http://jenkins.osmocom.org/jenkins/view/osmo-gsm-tester/job/osmo-gsm-tester_manual-run-all/4/#showFailuresLink
So it seems like it have nothing to do with my patch or at least some other 
issue is masking it.

-- 
To view, visit https://gerrit.osmocom.org/3047
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib595733cde108387bc7ee76b1b11ada6a235f13c
Gerrit-PatchSet: 2
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: Pau Espin Pedrol 
Gerrit-Reviewer: neels 
Gerrit-HasComments: No


[ABANDON] libosmocore[master]: Add and use macros to set/get/clear/toggle bit flags

2017-06-27 Thread Max
Max has abandoned this change.

Change subject: Add and use macros to set/get/clear/toggle bit flags
..


Abandoned

Harald is not convinced.

-- 
To view, visit https://gerrit.osmocom.org/2857
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: abandon
Gerrit-Change-Id: Ie9d38b837ce84649c2975dbe8b889fe3a769885f
Gerrit-PatchSet: 3
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: Pau Espin Pedrol 
Gerrit-Reviewer: Vadim Yanitskiy 
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: neels 


[PATCH] osmo-pcu[master]: Simplify polling troubleshooting

2017-06-27 Thread Max
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling 
on FN=17, TS=4
 msg block (BSN 0, MCS-9): 0f 00 00 02 00 01 04 08 0c 10 14 18 1c 20 24 28 2c 
30 34 38 3c 40 44 48 4c 50 54 58 5c 60 64 68 6c 70 74 78 7c 80 84 88 8c 90 94 
98 9c a0 a4 a8 ac b0 b4 b8 bc c0 c4 c8 cc d0 d4 d8 dc e0 e4 e8 ec f0 f4 f8 fc 
00 05 09 0d 11 15 19 1d 21 25 41 d3 a5 b4 c4 d4 e4 f4 04 15 25 35 45 55 65 75 
85 95 a5 b5 c5 d5 e5 f5 05 16 26 36 36 04 1c b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 
b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 
b2 b2 b2 b2 b2 b2 02 
 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. 
V(S)==2)
@@ -6268,8 +6237,7 @@
 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS)s start Packet Uplink 
Assignment (PACCH)
 + TX : Packet Uplink Assignment 
+
 - TX : Packet Uplink Assignment 
-
-TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS): Scheduling polling at FN 
2654283 TS 7
-TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment 
polling on FN=2654283, TS=7
+TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment 
polling on PACCH (FN=2654283, TS=7)
 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL 
STATE=ASSIGN EGPRS) (TRX=0, TS=7)
 Sending data request: trx=0 ts=7 sapi=5 arfcn=0 fn=2654270 block=8 data=4f 28 
5e 24 46 68 90 f8 0a 39 00 00 88 00 08 2b 2b 2b 2b 2b 2b 2b 2b 
 Got RLC block, coding scheme: CS-1, length: 23 (23))
@@ -6445,8 +6413,7 @@
 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS)s start Packet Uplink 
Assignment (PACCH)
 + TX : Packet Uplink Assignment 
+
 - TX : Packet Uplink Assignment 
-
-TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS): Scheduling polling at FN 
2654283 TS 7
-TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment 
polling on FN=2654283, TS=7
+TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment 
polling on PACCH (FN=2654283, TS=7)
 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL 
STATE=ASSIGN EGPRS) (TRX=0, TS=7)
 Sending data request: trx=0 ts=7 sapi=5 arfcn=0 fn=2654270 block=8 data=4f 28 
5e 24 46 68 90 f8 0a 39 00 00 88 00 08 2b 2b 2b 2b 2b 2b 2b 2b 
 Got RLC block, coding scheme: CS-1, length: 23 (23))
@@ -6906,8 +6873,7 @@
 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS)s start Packet Uplink 
Assignment (PACCH)
 + TX : Packet Uplink Assignment 
+
 - TX : Packet Uplink Assignment 
-
-TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS): Scheduling polling at FN 
2654283 TS 7
-TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment 
polling on FN=2654283, TS=7
+TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment 
polling on PACCH (FN=2654283, TS=7)
 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL 
STATE=ASSIGN EGPRS) (TRX=0, TS=7)
 Sending data request: trx=0 ts=7 sapi=5 arfcn=0 fn=2654270 block=8 data=4f 28 
5e 24 46 68 90 f9 0a 39 00 00 88 00 08 2b 2b 2b 2b 2b 2b 2b 2b 
 Got RLC block, coding scheme: CS-1, length: 23 (23))
@@ -7991,8 +7957,7 @@
 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS)  start Packet Downlink 
Assignment (PACCH)
 + TX : Packet Downlink Assignment 
+
 - TX : Packet Downlink Assignment 
-
-TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS): Scheduling polling at FN 
2654292 TS 7
-TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduled DL Assignment 
polling on FN=2654292, TS=7
+TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduled DL Assignment 
polling on PACCH (FN=2654292, TS=7)
 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL 
STATE=FLOW EGPRS) (TRX=0, TS=7)
 Sending data request: trx=0 ts=7 sapi=5 arfcn=0 fn=2654279 block=10 data=48 08 
00 00 0c 72 00 02 08 00 80 c8 03 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 
 Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS)', TA=7

-- 
To view, visit https://gerrit.osmocom.org/2859
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I14074207f8bbc18b3ebd60875bb99a0a3a4b399d
Gerrit-PatchSet: 3
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder


[ABANDON] osmo-pcu[master]: Cleanup TBF state handling

2017-06-27 Thread Max
Max has abandoned this change.

Change subject: Cleanup TBF state handling
..


Abandoned

-- 
To view, visit https://gerrit.osmocom.org/2858
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: abandon
Gerrit-Change-Id: Icca5ce3273799e0165adcc062db8a4b71dd9fb04
Gerrit-PatchSet: 4
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder


[PATCH] libosmocore[master]: deb: fix build by adding libosmogb doc package

2017-06-27 Thread Max

Review at  https://gerrit.osmocom.org/3066

deb: fix build by adding libosmogb doc package

Change-Id: I3fe45feaee4033c17e25c4c0552d54a81d9b44f5
Fixes: OS#2340
---
M debian/control
A debian/libosmogb-doc.doc-base
A debian/libosmogb-doc.install
M debian/rules
4 files changed, 24 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/66/3066/1

diff --git a/debian/control b/debian/control
index 9b3761b..b19448e 100644
--- a/debian/control
+++ b/debian/control
@@ -162,6 +162,21 @@
  The libosmogb library in particular contains a GPRS BSSGP protocol
  implementation.
 
+Package: libosmogb-doc
+Architecture: all
+Section: doc
+Depends: ${misc:Depends},
+ libosmogb4,
+ libjs-jquery
+Description: Documentation for the Osmo GPRS Gb library
+ This is part of the libosmocore "meta"-library. The libosmocore library
+ contains various utility functions that were originally developed as part of
+ the OpenBSC project, but which are of a more generic nature and thus useful to
+ (at least) other programs that are developed in the sphere of Free Software /
+ Open Source mobile communication.
+ .
+ This package contains the documentation for the libosmogb library.
+
 Package: libosmogsm7
 Section: libs
 Architecture: any
diff --git a/debian/libosmogb-doc.doc-base b/debian/libosmogb-doc.doc-base
new file mode 100644
index 000..f690318
--- /dev/null
+++ b/debian/libosmogb-doc.doc-base
@@ -0,0 +1,7 @@
+Document: libosmogb-doc
+Title: Documentation for the libosmogb library
+Section: Programming
+
+Format: HTML
+Index: /usr/share/doc/libosmocore/gb/html/index.html
+Files: /usr/share/doc/libosmocore/gb/html/*.html
diff --git a/debian/libosmogb-doc.install b/debian/libosmogb-doc.install
new file mode 100644
index 000..957c82c
--- /dev/null
+++ b/debian/libosmogb-doc.install
@@ -0,0 +1 @@
+usr/share/doc/libosmocore/gb/
diff --git a/debian/rules b/debian/rules
index e173510..2399b01 100755
--- a/debian/rules
+++ b/debian/rules
@@ -53,5 +53,6 @@
$(RM) -r doc/codec/
$(RM) -r doc/core/
$(RM) -r doc/gsm/
+   $(RM) -r doc/gb/
$(RM) -r doc/vty/html/
$(RM) -r doc/vty/latex/

-- 
To view, visit https://gerrit.osmocom.org/3066
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3fe45feaee4033c17e25c4c0552d54a81d9b44f5
Gerrit-PatchSet: 1
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max 


[PATCH] osmo-bts[master]: trx: avoid deacting lchan on LCHAN_REL_ACT_REACT

2017-06-27 Thread Max

Review at  https://gerrit.osmocom.org/3067

trx: avoid deacting lchan on LCHAN_REL_ACT_REACT

* do not deactivate lchan when called with LCHAN_REL_ACT_REACT
* add fixme comment

It's unclear yet if any special steps are required for osmo-bts-trx so
let's just make it compatible with setups [1] using BS_AG_BLKS_RES != 1
for now.

[1] "channel-descrption bs-ag-blks-res N" in OpenBSC config file.

Related: OS#1575
Change-Id: I20b89ba1e43d1414180b083cd1e085eeffe5d513
---
M src/osmo-bts-trx/l1_if.c
1 file changed, 6 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/67/3067/1

diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c
index a7bcd2c..7b5bc81 100644
--- a/src/osmo-bts-trx/l1_if.c
+++ b/src/osmo-bts-trx/l1_if.c
@@ -151,6 +151,12 @@
struct phy_instance *pinst = trx_phy_instance(lchan->ts->trx);
struct trx_l1h *l1h = pinst->u.osmotrx.hdl;
 
+   if (lchan->rel_act_kind == LCHAN_REL_ACT_REACT) {
+   lchan->rel_act_kind = LCHAN_REL_ACT_RSL;
+   /* FIXME: perform whatever is needed (if any) to set proper 
PCH/AGCH allocation according to
+  3GPP TS 44.018 Table 10.5.2.11.1 using 
num_agch(lchan->ts->trx, "TRX L1"); function */
+   return 0;
+   }
/* set lchan inactive */
lchan_set_state(lchan, LCHAN_S_NONE);
 

-- 
To view, visit https://gerrit.osmocom.org/3067
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I20b89ba1e43d1414180b083cd1e085eeffe5d513
Gerrit-PatchSet: 1
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 


[MERGED] osmo-bts[master]: RSL: receive and send multiple SI2q messages

2017-06-28 Thread Max
Max has submitted this change and it was merged.

Change subject: RSL: receive and send multiple SI2q messages
..


RSL: receive and send multiple SI2q messages

* change BCCH Info handler to explicitly support multiple SI2quater
  messages sent from BSC
* change SI scheduler to send SI2q in round-robin way

That's resubmission of 340cff51f49f6e798cb5fb6d1b9febdd09902906 and
186c6bac0758b6f94aa101e151664b0dea5d8975 with memory initialization
order change to fix the issue detected by osmo-gsm-tester - see OS#2338.

Change-Id: Ib595733cde108387bc7ee76b1b11ada6a235f13c
Related: OS#1660, OS#2338
---
M src/common/rsl.c
M src/common/sysinfo.c
2 files changed, 41 insertions(+), 14 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 eab9379..fd8bf13 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -264,7 +264,7 @@
 {
struct gsm_bts *bts = trx->bts;
struct tlv_parsed tp;
-   uint8_t rsl_si, si2q_index, si2q_count;
+   uint8_t rsl_si, count;
enum osmo_sysinfo_type osmo_si;
struct gsm48_system_information_type_2quater *si2q;
struct bitvec bv;
@@ -307,21 +307,34 @@
}
 
if (SYSINFO_TYPE_2quater == osmo_si) {
-   si2q = (struct gsm48_system_information_type_2quater *)
-   bts->si_buf[SYSINFO_TYPE_2quater];
+   si2q = (struct gsm48_system_information_type_2quater *) 
TLVP_VAL(&tp, RSL_IE_FULL_BCCH_INFO);
bv.data = si2q->rest_octets;
-   bv.data_len = 20;
+   bv.data_len = GSM_MACBLOCK_LEN;
bv.cur_bit = 3;
-   si2q_index = (uint8_t) bitvec_get_uint(&bv, 4);
-   si2q_count = (uint8_t) bitvec_get_uint(&bv, 4);
-   if (si2q_index || si2q_count) {
-   LOGP(DRSL, LOGL_ERROR,
-" Rx RSL SI2quater witn unsupported "
-"index %u, count %u\n",
-si2q_index, si2q_count);
-   return rsl_tx_error_report(trx,
-  RSL_ERR_IE_CONTENT);
+   bts->si2q_index = (uint8_t) bitvec_get_uint(&bv, 4);
+
+   count = (uint8_t) bitvec_get_uint(&bv, 4);
+   if (bts->si2q_count && bts->si2q_count != count) {
+   LOGP(DRSL, LOGL_ERROR, " Rx RSL SI2quater count 
changed while receiving: %u -> %d\n",
+bts->si2q_count, count);
+   return rsl_tx_error_report(trx, 
RSL_ERR_IE_CONTENT);
}
+
+   bts->si2q_count = count;
+   if (bts->si2q_index > bts->si2q_count) {
+   LOGP(DRSL, LOGL_ERROR, " Rx RSL SI2quater with 
index %u > count %u\n",
+bts->si2q_index, bts->si2q_count);
+   return rsl_tx_error_report(trx, 
RSL_ERR_IE_CONTENT);
+   }
+
+   if (bts->si2q_index > SI2Q_MAX_NUM || bts->si2q_count > 
SI2Q_MAX_NUM) {
+   LOGP(DRSL, LOGL_ERROR, " Rx RSL SI2quater with 
impossible parameters: index %u, count %u"
+"should be <= %u\n", bts->si2q_index, 
bts->si2q_count, SI2Q_MAX_NUM);
+   return rsl_tx_error_report(trx, 
RSL_ERR_IE_CONTENT);
+   }
+
+   memset(GSM_BTS_SI2Q(bts, bts->si2q_index), 
GSM_MACBLOCK_PADDING, sizeof(sysinfo_buf_t));
+   memcpy(GSM_BTS_SI2Q(bts, bts->si2q_index), 
TLVP_VAL(&tp, RSL_IE_FULL_BCCH_INFO), len);
}
} else if (TLVP_PRESENT(&tp, RSL_IE_L3_INFO)) {
uint16_t len = TLVP_LEN(&tp, RSL_IE_L3_INFO);
diff --git a/src/common/sysinfo.c b/src/common/sysinfo.c
index 7a53627..9276c7b 100644
--- a/src/common/sysinfo.c
+++ b/src/common/sysinfo.c
@@ -25,6 +25,16 @@
 #include 
 #include 
 
+/* properly increment SI2q index and return SI2q data for scheduling */
+static inline uint8_t *get_si2q_inc_index(struct gsm_bts *bts)
+{
+   uint8_t i = bts->si2q_index;
+   /* si2q_count is the max si2q_index value, not the number of messages */
+   bts->si2q_index = (bts->si2q_index + 1) % (bts->si2q_count + 1);
+
+   return (uint8_t *)GSM_BTS_SI2Q(bts, i);
+}
+
 /* Apply the rules from 05.02 6.3.1.3 Mapping of BCCH Data */
 uint8_

[PATCH] osmo-bts[master]: trx: avoid deactivating lchan on LCHAN_REL_ACT_REACT

2017-06-28 Thread Max
Hello Harald Welte, Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/3067

to look at the new patch set (#2).

trx: avoid deactivating lchan on LCHAN_REL_ACT_REACT

* do not deactivate lchan when called with LCHAN_REL_ACT_REACT
* add fixme comment

It's unclear yet if any special steps are required for osmo-bts-trx so
let's just make it compatible with setups [1] using BS_AG_BLKS_RES != 1
for now.

[1] "channel-descrption bs-ag-blks-res N" in OpenBSC config file.

Related: OS#1575
Change-Id: I20b89ba1e43d1414180b083cd1e085eeffe5d513
---
M src/osmo-bts-trx/l1_if.c
1 file changed, 6 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/67/3067/2

diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c
index a7bcd2c..7b5bc81 100644
--- a/src/osmo-bts-trx/l1_if.c
+++ b/src/osmo-bts-trx/l1_if.c
@@ -151,6 +151,12 @@
struct phy_instance *pinst = trx_phy_instance(lchan->ts->trx);
struct trx_l1h *l1h = pinst->u.osmotrx.hdl;
 
+   if (lchan->rel_act_kind == LCHAN_REL_ACT_REACT) {
+   lchan->rel_act_kind = LCHAN_REL_ACT_RSL;
+   /* FIXME: perform whatever is needed (if any) to set proper 
PCH/AGCH allocation according to
+  3GPP TS 44.018 Table 10.5.2.11.1 using 
num_agch(lchan->ts->trx, "TRX L1"); function */
+   return 0;
+   }
/* set lchan inactive */
lchan_set_state(lchan, LCHAN_S_NONE);
 

-- 
To view, visit https://gerrit.osmocom.org/3067
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I20b89ba1e43d1414180b083cd1e085eeffe5d513
Gerrit-PatchSet: 2
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Alexander Chemeris 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Ivan Kluchnikov 
Gerrit-Reviewer: Jenkins Builder


[PATCH] libosmocore[master]: Handle BVC-RESET-ACK

2017-06-28 Thread Max

Review at  https://gerrit.osmocom.org/3069

Handle BVC-RESET-ACK

That's necessary for SGSN to properly handle BSS response to reset
procedure initiated by SGSN (foe example via 'bssgp bvc nsei 101 bvci 0
reset' command).

According to 3GPP TS 08.18 §8.4 "after performing the BVC Reset
procedure all affected BVCs are assumed to be unblocked at the SGSN" so
there's no need in any special handling.

Change-Id: I90dfbd0195a8403406429ccc746299d072445f7b
Related: OS#1638
---
M src/gb/gprs_bssgp.c
1 file changed, 3 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/69/3069/1

diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c
index 518198f..8daf39f 100644
--- a/src/gb/gprs_bssgp.c
+++ b/src/gb/gprs_bssgp.c
@@ -963,6 +963,9 @@
}
rc = bssgp_rx_bvc_unblock(msg, tp);
break;
+   case BSSGP_PDUT_BVC_RESET_ACK:
+   LOGP(DBSSGP, LOGL_ERROR, "BSSGP BVCI=%u Rx BVC-RESET-ACK\n", 
bvci);
+   break;
case BSSGP_PDUT_BVC_RESET:
/* BSS tells us that BVC init is required */
if (!TLVP_PRESENT(tp, BSSGP_IE_BVCI) ||

-- 
To view, visit https://gerrit.osmocom.org/3069
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I90dfbd0195a8403406429ccc746299d072445f7b
Gerrit-PatchSet: 1
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max 


[PATCH] libosmocore[master]: BSSGP: handle BVC-RESET-ACK

2017-06-28 Thread Max

BSSGP: handle BVC-RESET-ACK

That's necessary for SGSN to properly handle BSS response to reset
procedure initiated by SGSN (foe example via 'bssgp bvc nsei 101 bvci 0
reset' command).

According to 3GPP TS 08.18 §8.4 "after performing the BVC Reset
procedure all affected BVCs are assumed to be unblocked at the SGSN" so
there's no need in any special handling.

Change-Id: I90dfbd0195a8403406429ccc746299d072445f7b
Related: OS#1638
---
M src/gb/gprs_bssgp.c
1 file changed, 3 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/69/3069/2

diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c
index 518198f..8daf39f 100644
--- a/src/gb/gprs_bssgp.c
+++ b/src/gb/gprs_bssgp.c
@@ -963,6 +963,9 @@
}
rc = bssgp_rx_bvc_unblock(msg, tp);
break;
+   case BSSGP_PDUT_BVC_RESET_ACK:
+   LOGP(DBSSGP, LOGL_ERROR, "BSSGP BVCI=%u Rx BVC-RESET-ACK\n", 
bvci);
+   break;
case BSSGP_PDUT_BVC_RESET:
/* BSS tells us that BVC init is required */
if (!TLVP_PRESENT(tp, BSSGP_IE_BVCI) ||

-- 
To view, visit https://gerrit.osmocom.org/3069
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I90dfbd0195a8403406429ccc746299d072445f7b
Gerrit-PatchSet: 2
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder


[PATCH] libosmocore[master]: BSSGP: handle BVC-RESET-ACK

2017-06-28 Thread Max
Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/3069

to look at the new patch set (#3).

BSSGP: handle BVC-RESET-ACK

That's necessary for SGSN to properly handle BSS response to reset
procedure initiated by SGSN (foe example via 'bssgp bvc nsei 101 bvci 0
reset' command).

According to 3GPP TS 48.018 §8.4 "after performing the BVC Reset
procedure all affected BVCs are assumed to be unblocked at the SGSN" so
there's no need in any special handling.

Change-Id: I90dfbd0195a8403406429ccc746299d072445f7b
Related: OS#1638
---
M src/gb/gprs_bssgp.c
1 file changed, 3 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/69/3069/3

diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c
index 518198f..8daf39f 100644
--- a/src/gb/gprs_bssgp.c
+++ b/src/gb/gprs_bssgp.c
@@ -963,6 +963,9 @@
}
rc = bssgp_rx_bvc_unblock(msg, tp);
break;
+   case BSSGP_PDUT_BVC_RESET_ACK:
+   LOGP(DBSSGP, LOGL_ERROR, "BSSGP BVCI=%u Rx BVC-RESET-ACK\n", 
bvci);
+   break;
case BSSGP_PDUT_BVC_RESET:
/* BSS tells us that BVC init is required */
if (!TLVP_PRESENT(tp, BSSGP_IE_BVCI) ||

-- 
To view, visit https://gerrit.osmocom.org/3069
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I90dfbd0195a8403406429ccc746299d072445f7b
Gerrit-PatchSet: 3
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder


osmo-bts[master]: sysmo/l1_if.c: Allow passing low quality buffers to upper la...

2017-06-29 Thread Max

Patch Set 2:

Is this really necessary on sysmoBTS only? What about other BTS models?

-- 
To view, visit https://gerrit.osmocom.org/3056
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: If5df8940fab833eb4e3ed851880b66987d356031
Gerrit-PatchSet: 2
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


libosmo-abis[master]: osmo_ortp.c: Add osmo_rtp_drop_frame API

2017-06-29 Thread Max

Patch Set 1: Code-Review-1

Why only implementation in .c but no .h file? How it's planned to be used? 
Please explain in commit message.

-- 
To view, visit https://gerrit.osmocom.org/3070
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Id6099372b6231c0a4b6ea0716f46f5daee7049e1
Gerrit-PatchSet: 1
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


[PATCH] osmo-trx[master]: deb: remove unused dependency

2017-06-29 Thread Max

Review at  https://gerrit.osmocom.org/3079

deb: remove unused dependency

The libdbd dependency is not used because libsqlite3 is used directly -
adjust debian/control to match.

Change-Id: Id2ab1facad703fa0c1d45084e70d41e73dbad6e7
Related: OS#1929
---
M debian/control
1 file changed, 1 insertion(+), 2 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/79/3079/1

diff --git a/debian/control b/debian/control
index 0e3b714..12da64a 100644
--- a/debian/control
+++ b/debian/control
@@ -5,7 +5,6 @@
 Build-Depends: debhelper (>= 9),
autotools-dev,
autoconf-archive,
-   libdbd-sqlite3,
libsqlite3-dev,
pkg-config,
dh-autoreconf,
@@ -20,7 +19,7 @@
 
 Package: osmo-trx
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, libdbd-sqlite3
+Depends: ${shlibs:Depends}, ${misc:Depends}, libsqlite3-0
 Description: SDR transceiver that implements Layer 1 of a GSM BTS
  OsmoTRX is a software-defined radio transceiver that implements the Layer 1
  physical layer of a BTS comprising the following 3GPP specifications:

-- 
To view, visit https://gerrit.osmocom.org/3079
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id2ab1facad703fa0c1d45084e70d41e73dbad6e7
Gerrit-PatchSet: 1
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Owner: Max 


osmo-bts[master]: l1sap: Don't enqueue PTCCH blocks for loopback

2017-06-29 Thread Max

Patch Set 1: Code-Review+1

-- 
To view, visit https://gerrit.osmocom.org/3081
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I7ef40d9bdf74a99375bc6568ed9483499664bf6f
Gerrit-PatchSet: 1
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Harald Welte 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


[PATCH] libosmocore[master]: Add missing BSSGP cause values

2017-06-29 Thread Max
SSGP_CAUSE_MS_BACK_OLD_CHAN, "MS back on old channel" },
+   { BSSGP_CAUSE_T13_EXPIRY,   "T13 expiry" },
+   { BSSGP_CAUSE_T14_EXPIRY,   "T14 expiry" },
+   { BSSGP_CAUSE_NOT_ALL_PFC,  "Not all requested PFCs 
created" },
+   { BSSGP_CAUSE_CS,   "CS cause" },
+   { BSSGP_CAUSE_REQ_ALG_NOT_SUPP, "Requested ciphering and/or 
integrity protection algorithms not supported" },
+   { BSSGP_CAUSE_RELOC_FAIL,   "Relocation failure in target 
system" },
+   { BSSGP_CAUSE_DIR_RETRY ,   "Directed Retry" },
+   { BSSGP_CAUSE_TIME_CRIT_RELOC   ,   "Time critical relocation" },
+   { BSSGP_CAUSE_PS_HO_TARG_NA ,   "PS Handover Target not 
allowed" },
+   { BSSGP_CAUSE_PS_HO_TARG_NOT_SUPP,  "PS Handover not Supported in 
Target BSS or Target System" },
+   { BSSGP_CAUSE_PUESBINE, "Incoming relocation not 
supported due to PUESBINE feature" },
+   { BSSGP_CAUSE_DTM_HO_NO_CS_RES, "DTM Handover - No CS resource" 
},
+   { BSSGP_CAUSE_DTM_HO_PS_ALLOC_FAIL, "DTM Handover - PS Allocation 
failure" },
+   { BSSGP_CAUSE_DTM_HO_T24_EXPIRY,"DTM Handover - T24 expiry" },
+   { BSSGP_CAUSE_DTM_HO_INVAL_CS_IND,  "DTM Handover - Invalid CS 
Indication IE" },
+   { BSSGP_CAUSE_DTM_HO_T23_EXPIRY,"DTM Handover - T23 expiry" },
+   { BSSGP_CAUSE_DTM_HO_MSC_ERR,   "DTM Handover - MSC Error" },
+   { BSSGP_CAUSE_INVAL_CSG_CELL,   "Invalid CSG cell" },
{ 0, NULL },
 };
 

-- 
To view, visit https://gerrit.osmocom.org/3087
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie39a6c91a46d179392d861805a106743a07c6fb0
Gerrit-PatchSet: 1
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max 


[PATCH] libosmocore[master]: BSSGP: add function to reset all PTP BVC

2017-06-29 Thread Max

Review at  https://gerrit.osmocom.org/3088

BSSGP: add function to reset all PTP BVC

Change-Id: I9bf8f4dd784ccddbb9926492a85fff3293a0e913
Related: OS#1638
---
M include/osmocom/gprs/gprs_bssgp_bss.h
M src/gb/gprs_bssgp.c
M src/gb/libosmogb.map
3 files changed, 27 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/88/3088/1

diff --git a/include/osmocom/gprs/gprs_bssgp_bss.h 
b/include/osmocom/gprs/gprs_bssgp_bss.h
index 9374e73..74211fd 100644
--- a/include/osmocom/gprs/gprs_bssgp_bss.h
+++ b/include/osmocom/gprs/gprs_bssgp_bss.h
@@ -26,7 +26,7 @@
 #include 
 
 uint8_t *bssgp_msgb_tlli_put(struct msgb *msg, uint32_t tlli);
-
+int bssgp_tx_bvc_ptp_reset(uint16_t nsei, enum gprs_bssgp_cause cause);
 int bssgp_tx_suspend(uint16_t nsei, uint32_t tlli,
 const struct gprs_ra_id *ra_id);
 
diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c
index 8daf39f..92cd5ad 100644
--- a/src/gb/gprs_bssgp.c
+++ b/src/gb/gprs_bssgp.c
@@ -77,6 +77,31 @@
return NULL;
 }
 
+/*! Initiate reset procedure for all PTP BVC on a given NSEI.
+ *
+ *  This function initiates reset procedure for all PTP BVC with a given cause.
+ *  \param[in] nsei NSEI to which PTP BVC should belong to
+ *  \param[in] cause Cause of BVC RESET
+ *  \returns 0 on success, negative error code otherwise
+ */
+int bssgp_tx_bvc_ptp_reset(uint16_t nsei, enum gprs_bssgp_cause cause)
+{
+   int rc;
+   struct bssgp_bvc_ctx *bctx;
+
+   llist_for_each_entry(bctx, &bssgp_bvc_ctxts, list) {
+   if (bctx->nsei == nsei && bctx->bvci != BVCI_SIGNALLING) {
+   LOGP(DBSSGP, LOGL_DEBUG, "NSEI=%u/BVCI=%u RESET due to 
%s\n",
+nsei, bctx->bvci, bssgp_cause_str(cause));
+   rc = bssgp_tx_bvc_reset(bctx, bctx->bvci, cause);
+   if (rc < 0)
+   return rc;
+   }
+   }
+
+   return 0;
+}
+
 /* Find a BTS context based on BVCI+NSEI tuple */
 struct bssgp_bvc_ctx *btsctx_by_bvci_nsei(uint16_t bvci, uint16_t nsei)
 {
diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map
index 6aad8fd..9a0dba5 100644
--- a/src/gb/libosmogb.map
+++ b/src/gb/libosmogb.map
@@ -34,6 +34,7 @@
 bssgp_rx_paging;
 bssgp_set_log_ss;
 bssgp_tx_dl_ud;
+bssgp_tx_bvc_ptp_reset;
 bssgp_tx_paging;
 bssgp_vty_init;
 bssgp_nsi;

-- 
To view, visit https://gerrit.osmocom.org/3088
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9bf8f4dd784ccddbb9926492a85fff3293a0e913
Gerrit-PatchSet: 1
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max 


[PATCH] osmo-pcu[master]: BSSGP: Use libosmocore for BVC-RESET

2017-06-29 Thread Max

Review at  https://gerrit.osmocom.org/3089

BSSGP: Use libosmocore for BVC-RESET

Implement proper BVC RESET procedure by using libosmocore code to handle
BVCI reset and initiate PTP BVC reset if necessary.

Related: OS#1638
Change-Id: I718c949759688cb34ce6bcbb3da2092fcdfa6989
---
M src/gprs_bssgp_pcu.cpp
1 file changed, 22 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/89/3089/1

diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp
index d3c8491..437479b 100644
--- a/src/gprs_bssgp_pcu.cpp
+++ b/src/gprs_bssgp_pcu.cpp
@@ -325,14 +325,15 @@
struct bssgp_ud_hdr *budh = (struct bssgp_ud_hdr *) msgb_bssgph(msg);
struct tlv_parsed tp;
enum bssgp_pdu_type pdu_type = (enum bssgp_pdu_type) bgph->pdu_type;
-   uint16_t ns_bvci = msgb_bvci(msg);
+   enum gprs_bssgp_cause cause = BSSGP_CAUSE_OML_INTERV;
+   uint16_t ns_bvci = msgb_bvci(msg), nsei = msgb_nsei(msg);
int data_len;
int rc = 0;
struct bssgp_bvc_ctx *bctx;
 
if (pdu_type == BSSGP_PDUT_STATUS)
/* Pass the message to the generic BSSGP parser, which handles
-* STATUS message in either direction. */
+* STATUS and RESET messages in either direction. */
return bssgp_rcvmsg(msg);
 
/* Identifiers from DOWN: NSEI, BVCI (both in msg->cb) */
@@ -349,6 +350,23 @@
rc = bssgp_tlv_parse(&tp, budh->data, data_len);
}
 
+   if (pdu_type == BSSGP_PDUT_BVC_RESET) {
+   rc = bssgp_rcvmsg(msg);
+   if (ns_bvci != BVCI_SIGNALLING)
+   return rc;
+
+   if (TLVP_PRES_LEN(&tp, BSSGP_IE_CAUSE, 1))
+   cause = (enum gprs_bssgp_cause)*TLVP_VAL(&tp, 
BSSGP_IE_CAUSE);
+   else
+   LOGP(DBSSGP, LOGL_ERROR, "NSEI=%u BVC RESET without 
cause?!\n", nsei);
+
+   rc = bssgp_tx_bvc_ptp_reset(nsei, cause);
+   if (rc < 0)
+   LOGP(DBSSGP, LOGL_ERROR, "NSEI=%u BVC PTP reset 
procedure failed: %d\n", nsei, rc);
+
+   return rc;
+   }
+
/* look-up or create the BTS context for this BVC */
bctx = btsctx_by_bvci_nsei(ns_bvci, msgb_nsei(msg));
 
@@ -357,9 +375,8 @@
 && pdu_type != BSSGP_PDUT_BVC_UNBLOCK_ACK
 && pdu_type != BSSGP_PDUT_PAGING_PS)
{
-   LOGP(DBSSGP, LOGL_NOTICE, "NSEI=%u/BVCI=%u Rejecting PDU "
-   "type %s for unknown BVCI\n", msgb_nsei(msg), ns_bvci,
-   bssgp_pdu_str(pdu_type));
+   LOGP(DBSSGP, LOGL_NOTICE, "NSEI=%u/BVCI=%u Rejecting PDU type 
%s for unknown BVCI\n",
+nsei, ns_bvci, bssgp_pdu_str(pdu_type));
return bssgp_tx_status(BSSGP_CAUSE_UNKNOWN_BVCI, NULL, msg);
}
 

-- 
To view, visit https://gerrit.osmocom.org/3089
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I718c949759688cb34ce6bcbb3da2092fcdfa6989
Gerrit-PatchSet: 1
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max 


osmo-bts[master]: l1sap.c: fn_ms_adj: Add err logging and always return GSM_RT...

2017-06-29 Thread Max

Patch Set 1:

Have it been tested with DTX active?

-- 
To view, visit https://gerrit.osmocom.org/3084
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I9d112c6db142be138e71393e77129e6d069d9973
Gerrit-PatchSet: 1
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


[PATCH] libosmocore[master]: BSSGP: add function to reset all PTP BVC

2017-06-29 Thread Max
Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/3088

to look at the new patch set (#2).

BSSGP: add function to reset all PTP BVC

Change-Id: I9bf8f4dd784ccddbb9926492a85fff3293a0e913
Related: OS#1638
---
M include/osmocom/gprs/gprs_bssgp_bss.h
M src/gb/gprs_bssgp.c
M src/gb/libosmogb.map
3 files changed, 28 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/88/3088/2

diff --git a/include/osmocom/gprs/gprs_bssgp_bss.h 
b/include/osmocom/gprs/gprs_bssgp_bss.h
index 9374e73..74211fd 100644
--- a/include/osmocom/gprs/gprs_bssgp_bss.h
+++ b/include/osmocom/gprs/gprs_bssgp_bss.h
@@ -26,7 +26,7 @@
 #include 
 
 uint8_t *bssgp_msgb_tlli_put(struct msgb *msg, uint32_t tlli);
-
+int bssgp_tx_bvc_ptp_reset(uint16_t nsei, enum gprs_bssgp_cause cause);
 int bssgp_tx_suspend(uint16_t nsei, uint32_t tlli,
 const struct gprs_ra_id *ra_id);
 
diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c
index 8daf39f..2552849 100644
--- a/src/gb/gprs_bssgp.c
+++ b/src/gb/gprs_bssgp.c
@@ -35,6 +35,7 @@
 #include 
 
 #include 
+#include 
 #include 
 
 #include "common_vty.h"
@@ -77,6 +78,31 @@
return NULL;
 }
 
+/*! Initiate reset procedure for all PTP BVC on a given NSEI.
+ *
+ *  This function initiates reset procedure for all PTP BVC with a given cause.
+ *  \param[in] nsei NSEI to which PTP BVC should belong to
+ *  \param[in] cause Cause of BVC RESET
+ *  \returns 0 on success, negative error code otherwise
+ */
+int bssgp_tx_bvc_ptp_reset(uint16_t nsei, enum gprs_bssgp_cause cause)
+{
+   int rc;
+   struct bssgp_bvc_ctx *bctx;
+
+   llist_for_each_entry(bctx, &bssgp_bvc_ctxts, list) {
+   if (bctx->nsei == nsei && bctx->bvci != BVCI_SIGNALLING) {
+   LOGP(DBSSGP, LOGL_DEBUG, "NSEI=%u/BVCI=%u RESET due to 
%s\n",
+nsei, bctx->bvci, bssgp_cause_str(cause));
+   rc = bssgp_tx_bvc_reset(bctx, bctx->bvci, cause);
+   if (rc < 0)
+   return rc;
+   }
+   }
+
+   return 0;
+}
+
 /* Find a BTS context based on BVCI+NSEI tuple */
 struct bssgp_bvc_ctx *btsctx_by_bvci_nsei(uint16_t bvci, uint16_t nsei)
 {
diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map
index 6aad8fd..9a0dba5 100644
--- a/src/gb/libosmogb.map
+++ b/src/gb/libosmogb.map
@@ -34,6 +34,7 @@
 bssgp_rx_paging;
 bssgp_set_log_ss;
 bssgp_tx_dl_ud;
+bssgp_tx_bvc_ptp_reset;
 bssgp_tx_paging;
 bssgp_vty_init;
 bssgp_nsi;

-- 
To view, visit https://gerrit.osmocom.org/3088
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9bf8f4dd784ccddbb9926492a85fff3293a0e913
Gerrit-PatchSet: 2
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder


[PATCH] osmo-pcu[master]: BSSGP: Use libosmocore for BVC-RESET

2017-06-30 Thread Max
Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/3089

to look at the new patch set (#2).

BSSGP: Use libosmocore for BVC-RESET

Implement proper BVC RESET procedure by using libosmocore code to handle
BVCI reset and initiate PTP BVC reset if necessary.

Requires I9bf8f4dd784ccddbb9926492a85fff3293a0e913 in libosmocore.
Related: OS#1638
Change-Id: I718c949759688cb34ce6bcbb3da2092fcdfa6989
---
M src/gprs_bssgp_pcu.cpp
1 file changed, 22 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/89/3089/2

diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp
index d3c8491..437479b 100644
--- a/src/gprs_bssgp_pcu.cpp
+++ b/src/gprs_bssgp_pcu.cpp
@@ -325,14 +325,15 @@
struct bssgp_ud_hdr *budh = (struct bssgp_ud_hdr *) msgb_bssgph(msg);
struct tlv_parsed tp;
enum bssgp_pdu_type pdu_type = (enum bssgp_pdu_type) bgph->pdu_type;
-   uint16_t ns_bvci = msgb_bvci(msg);
+   enum gprs_bssgp_cause cause = BSSGP_CAUSE_OML_INTERV;
+   uint16_t ns_bvci = msgb_bvci(msg), nsei = msgb_nsei(msg);
int data_len;
int rc = 0;
struct bssgp_bvc_ctx *bctx;
 
if (pdu_type == BSSGP_PDUT_STATUS)
/* Pass the message to the generic BSSGP parser, which handles
-* STATUS message in either direction. */
+* STATUS and RESET messages in either direction. */
return bssgp_rcvmsg(msg);
 
/* Identifiers from DOWN: NSEI, BVCI (both in msg->cb) */
@@ -349,6 +350,23 @@
rc = bssgp_tlv_parse(&tp, budh->data, data_len);
}
 
+   if (pdu_type == BSSGP_PDUT_BVC_RESET) {
+   rc = bssgp_rcvmsg(msg);
+   if (ns_bvci != BVCI_SIGNALLING)
+   return rc;
+
+   if (TLVP_PRES_LEN(&tp, BSSGP_IE_CAUSE, 1))
+   cause = (enum gprs_bssgp_cause)*TLVP_VAL(&tp, 
BSSGP_IE_CAUSE);
+   else
+   LOGP(DBSSGP, LOGL_ERROR, "NSEI=%u BVC RESET without 
cause?!\n", nsei);
+
+   rc = bssgp_tx_bvc_ptp_reset(nsei, cause);
+   if (rc < 0)
+   LOGP(DBSSGP, LOGL_ERROR, "NSEI=%u BVC PTP reset 
procedure failed: %d\n", nsei, rc);
+
+   return rc;
+   }
+
/* look-up or create the BTS context for this BVC */
bctx = btsctx_by_bvci_nsei(ns_bvci, msgb_nsei(msg));
 
@@ -357,9 +375,8 @@
 && pdu_type != BSSGP_PDUT_BVC_UNBLOCK_ACK
 && pdu_type != BSSGP_PDUT_PAGING_PS)
{
-   LOGP(DBSSGP, LOGL_NOTICE, "NSEI=%u/BVCI=%u Rejecting PDU "
-   "type %s for unknown BVCI\n", msgb_nsei(msg), ns_bvci,
-   bssgp_pdu_str(pdu_type));
+   LOGP(DBSSGP, LOGL_NOTICE, "NSEI=%u/BVCI=%u Rejecting PDU type 
%s for unknown BVCI\n",
+nsei, ns_bvci, bssgp_pdu_str(pdu_type));
return bssgp_tx_status(BSSGP_CAUSE_UNKNOWN_BVCI, NULL, msg);
}
 

-- 
To view, visit https://gerrit.osmocom.org/3089
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I718c949759688cb34ce6bcbb3da2092fcdfa6989
Gerrit-PatchSet: 2
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder


[PATCH] osmo-bts[master]: OML: fill MO while handling attr. request

2017-06-30 Thread Max

Review at  https://gerrit.osmocom.org/3090

OML: fill MO while handling attr. request

Copy Obj, Class and TRX# into BTS' MO to properly distinguish between
BTS-level and TRX-level attributes.

Change-Id: I8b5a5ab8bd07daf2500b66dec428b89b7f8cd852
Related: OS#2317
---
M src/common/oml.c
1 file changed, 2 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/90/3090/1

diff --git a/src/common/oml.c b/src/common/oml.c
index 8f23f82..e665e85 100644
--- a/src/common/oml.c
+++ b/src/common/oml.c
@@ -1123,6 +1123,8 @@
ret = oml_ipa_set_attr(bts, msg);
break;
case NM_MT_GET_ATTR:
+   bts->mo.obj_inst.trx_nr = foh->obj_inst.trx_nr;
+   bts->mo.obj_class = foh->obj_class;
ret = oml_rx_get_attr(bts, msg);
break;
default:

-- 
To view, visit https://gerrit.osmocom.org/3090
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8b5a5ab8bd07daf2500b66dec428b89b7f8cd852
Gerrit-PatchSet: 1
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 


[PATCH] openbsc[master]: bsc_init: add logging for unhandled signals

2017-06-30 Thread Max

Review at  https://gerrit.osmocom.org/3091

bsc_init: add logging for unhandled signals

Change-Id: I0ddaec3b017d637027b0478ce3e137becbf25ea7
---
M openbsc/src/libbsc/bsc_init.c
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/91/3091/1

diff --git a/openbsc/src/libbsc/bsc_init.c b/openbsc/src/libbsc/bsc_init.c
index ead21b4..a382709 100644
--- a/openbsc/src/libbsc/bsc_init.c
+++ b/openbsc/src/libbsc/bsc_init.c
@@ -391,7 +391,7 @@
abis_nm_clear_queue(trx->bts);
break;
default:
-   break;
+   LOGP(DLMI, LOGL_ERROR, "Unhandled input signal %s\n", 
get_value_string(e1inp_signal_names, signal););
}
 
return 0;

-- 
To view, visit https://gerrit.osmocom.org/3091
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0ddaec3b017d637027b0478ce3e137becbf25ea7
Gerrit-PatchSet: 1
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Max 


openbsc[master]: Fix BTS number in attribute requests

2017-06-30 Thread Max

Patch Set 1:

(1 comment)

https://gerrit.osmocom.org/#/c/2868/1/openbsc/src/libbsc/bsc_init.c
File openbsc/src/libbsc/bsc_init.c:

Line 346:   abis_nm_get_attr(trx->bts, NM_OC_BTS, 0xFF, 
0xFF, 0xFF, bts_attr, sizeof(bts_attr));
> I think removing trx->nr makes a lot of sens.  But for bts->nr, I'm not sur
The classic E1 should not be affected by this at all: the calls to 
oml_nm_get_attr() were added specifically for OS#1614 "better identification of 
BTS model" so any changes to it should not have effect on classic E1 BTS which 
would most likely ignore it.


-- 
To view, visit https://gerrit.osmocom.org/2868
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f43055c38000248033a8ff9ddaf0910d68d794b
Gerrit-PatchSet: 1
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: Yes


openbsc[master]: Fix BTS number in attribute requests

2017-06-30 Thread Max

Patch Set 1:

Also, if I understand 3GPP TS 52.021 §9.3 correctly than we can't use BTS 
number in here. Am I mistaken?

-- 
To view, visit https://gerrit.osmocom.org/2868
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f43055c38000248033a8ff9ddaf0910d68d794b
Gerrit-PatchSet: 1
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


[PATCH] openbsc[master]: bsc_init: add logging for unhandled signals

2017-06-30 Thread Max
Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/3091

to look at the new patch set (#2).

bsc_init: add logging for unhandled signals

Change-Id: I0ddaec3b017d637027b0478ce3e137becbf25ea7
---
M openbsc/src/libbsc/bsc_init.c
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/91/3091/2

diff --git a/openbsc/src/libbsc/bsc_init.c b/openbsc/src/libbsc/bsc_init.c
index ead21b4..265ed49 100644
--- a/openbsc/src/libbsc/bsc_init.c
+++ b/openbsc/src/libbsc/bsc_init.c
@@ -391,7 +391,7 @@
abis_nm_clear_queue(trx->bts);
break;
default:
-   break;
+   LOGP(DLMI, LOGL_ERROR, "Unhandled input signal %s\n", 
get_value_string(e1inp_signal_names, signal));
}
 
return 0;

-- 
To view, visit https://gerrit.osmocom.org/3091
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I0ddaec3b017d637027b0478ce3e137becbf25ea7
Gerrit-PatchSet: 2
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder


[ABANDON] openbsc[master]: bsc_init: add logging for unhandled signals

2017-07-03 Thread Max
Max has abandoned this change.

Change subject: bsc_init: add logging for unhandled signals
..


Abandoned

-- 
To view, visit https://gerrit.osmocom.org/3091
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: abandon
Gerrit-Change-Id: I0ddaec3b017d637027b0478ce3e137becbf25ea7
Gerrit-PatchSet: 2
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder


[PATCH] openbsc[master]: Fix BTS attribute requests

2017-07-03 Thread Max
Hello Harald Welte, Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/2868

to look at the new patch set (#3).

Fix BTS attribute requests

* fix BTS numbers: use 0 to indicate given BTS and 0xFF to indicate all
  BTS' as it's explained in 3GPP TS 52.021 §9.3.
* only request attributes from supported (OsmoBTS) types

Change-Id: I8f43055c38000248033a8ff9ddaf0910d68d794b
Related: OS#2317
---
M openbsc/src/libbsc/abis_nm.c
M openbsc/src/libbsc/bsc_init.c
2 files changed, 10 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/68/2868/3

diff --git a/openbsc/src/libbsc/abis_nm.c b/openbsc/src/libbsc/abis_nm.c
index 019d039..cf20d7c 100644
--- a/openbsc/src/libbsc/abis_nm.c
+++ b/openbsc/src/libbsc/abis_nm.c
@@ -1590,10 +1590,17 @@
 const uint8_t *attr, uint8_t attr_len)
 {
struct abis_om_hdr *oh;
-   struct msgb *msg = nm_msgb_alloc();
+   struct msgb *msg;
+
+   if (bts->type != GSM_BTS_TYPE_OSMOBTS) {
+   LOGPC(DNM, LOGL_NOTICE, "Getting attributes from BTS%d type %s 
is not supported.\n",
+ bts->nr, btstype2str(bts->type));
+   return -EINVAL;
+   }
 
DEBUGP(DNM, "Get Attr (bts=%d)\n", bts->nr);
 
+   msg = nm_msgb_alloc();
oh = (struct abis_om_hdr *) msgb_put(msg, ABIS_OM_FOM_HDR_SIZE);
fill_om_fom_hdr(oh, attr_len, NM_MT_GET_ATTR, obj_class,
bts_nr, trx_nr, ts_nr);
diff --git a/openbsc/src/libbsc/bsc_init.c b/openbsc/src/libbsc/bsc_init.c
index ec87a7b..ead21b4 100644
--- a/openbsc/src/libbsc/bsc_init.c
+++ b/openbsc/src/libbsc/bsc_init.c
@@ -349,12 +349,12 @@
generate_cell_chan_list(ca, trx->bts);
 
/* Request generic BTS-level attributes */
-   abis_nm_get_attr(trx->bts, NM_OC_BTS, trx->bts->nr, 
trx->nr, 0xFF, bts_attr, sizeof(bts_attr));
+   abis_nm_get_attr(trx->bts, NM_OC_BTS, 0xFF, 0xFF, 0xFF, 
bts_attr, sizeof(bts_attr));
 
llist_for_each_entry(cur_trx, &trx->bts->trx_list, 
list) {
int i;
/* Request TRX-level attributes */
-   abis_nm_get_attr(cur_trx->bts, 
NM_OC_BASEB_TRANSC, cur_trx->bts->nr, cur_trx->nr, 0xFF,
+   abis_nm_get_attr(cur_trx->bts, 
NM_OC_BASEB_TRANSC, 0, cur_trx->nr, 0xFF,
 trx_attr, sizeof(trx_attr));
for (i = 0; i < ARRAY_SIZE(cur_trx->ts); i++)
generate_ma_for_ts(&cur_trx->ts[i]);

-- 
To view, visit https://gerrit.osmocom.org/2868
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I8f43055c38000248033a8ff9ddaf0910d68d794b
Gerrit-PatchSet: 3
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 


[PATCH] osmo-bts[master]: OML: use fom_hdr while handling attr. request

2017-07-03 Thread Max
Hello Harald Welte, Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/3090

to look at the new patch set (#2).

OML: use fom_hdr while handling attr. request

Use Obj. Class and TRX# from abis_om_fom_hdr of incoming request instead
of BTS' MO to properly distinguish between BTS-level and TRX-level
attributes.

Change-Id: I8b5a5ab8bd07daf2500b66dec428b89b7f8cd852
Related: OS#2317
---
M src/common/oml.c
1 file changed, 9 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/90/3090/2

diff --git a/src/common/oml.c b/src/common/oml.c
index 8f23f82..20f45e5 100644
--- a/src/common/oml.c
+++ b/src/common/oml.c
@@ -257,27 +257,29 @@
 }
 
 /* send 3GPP TS 52.021 §8.11.2 Get Attribute Response */
-static int oml_tx_attr_resp(const struct gsm_bts *bts, struct gsm_abis_mo *mo, 
const uint8_t *attr, uint16_t attr_len)
+static int oml_tx_attr_resp(struct gsm_bts *bts, const struct abis_om_fom_hdr 
*foh, const uint8_t *attr,
+   uint16_t attr_len)
 {
struct msgb *nmsg = oml_msgb_alloc();
uint8_t resp[MAX_VERSION_LENGTH * attr_len * 2]; /* heuristic for 
Attribute Response Info space requirements */
int len;
 
-   LOGP(DOML, LOGL_INFO, "%s Tx Get Attribute Response\n", 
gsm_abis_mo_name(mo));
+   LOGP(DOML, LOGL_INFO, "%s Tx Get Attribute Response\n",
+get_value_string(abis_nm_obj_class_names, foh->obj_class));
 
if (!nmsg)
return -ENOMEM;
 
-   switch (mo->obj_class) {
+   switch (foh->obj_class) {
case NM_OC_BTS:
len = handle_attrs_bts(resp, bts, attr, attr_len);
break;
case NM_OC_BASEB_TRANSC:
-   len = handle_attrs_trx(resp, gsm_bts_trx_num(bts, 
mo->obj_inst.trx_nr), attr, attr_len);
+   len = handle_attrs_trx(resp, gsm_bts_trx_num(bts, 
foh->obj_inst.trx_nr), attr, attr_len);
break;
default:
LOGP(DOML, LOGL_ERROR, "Unsupported MO class %s in Get 
Attribute Response\n",
-get_value_string(abis_nm_obj_class_names, mo->obj_class));
+get_value_string(abis_nm_obj_class_names, foh->obj_class));
len = -EINVAL;
}
 
@@ -290,7 +292,7 @@
/* §9.4.64 Get Attribute Response Info */
msgb_tl16v_put(nmsg, NM_ATT_GET_ARI, len, resp);
 
-   return oml_mo_send_msg(mo, nmsg, NM_MT_GET_ATTR_RESP);
+   return oml_mo_send_msg(&bts->mo, nmsg, NM_MT_GET_ATTR_RESP);
 }
 
 /* 8.8.1 sending State Changed Event Report */
@@ -540,7 +542,7 @@
return oml_fom_ack_nack(msg, NM_NACK_INCORR_STRUCT);
}
 
-   rc = oml_tx_attr_resp(bts, &bts->mo, TLVP_VAL(&tp, 
NM_ATT_LIST_REQ_ATTR), TLVP_LEN(&tp, NM_ATT_LIST_REQ_ATTR));
+   rc = oml_tx_attr_resp(bts, foh, TLVP_VAL(&tp, NM_ATT_LIST_REQ_ATTR), 
TLVP_LEN(&tp, NM_ATT_LIST_REQ_ATTR));
if (rc < 0) {
LOGP(DOML, LOGL_ERROR, "Failed to respond to O&M Get Attributes 
message: %s\n", strerror(-rc));
switch (-rc) {

-- 
To view, visit https://gerrit.osmocom.org/3090
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I8b5a5ab8bd07daf2500b66dec428b89b7f8cd852
Gerrit-PatchSet: 2
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder


libosmocore[master]: gsm_utils: Add osmo_dump_gsmtime

2017-07-03 Thread Max

Patch Set 3:

This seems very similar to 3048.

-- 
To view, visit https://gerrit.osmocom.org/3099
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib5452e2c20f53006c0f6d197fb055728947125d8
Gerrit-PatchSet: 3
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: dexter 
Gerrit-HasComments: No


osmo-bts[master]: l1sap.c: fn_ms_adj: Add err logging and always return GSM_RT...

2017-07-03 Thread Max

Patch Set 3: Code-Review+1

Indeed - updating rtp-amr is definitely necessary. Letme know if you have any 
questions about it, also - add me as watcher to corresponding ticket(s).

-- 
To view, visit https://gerrit.osmocom.org/3084
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I9d112c6db142be138e71393e77129e6d069d9973
Gerrit-PatchSet: 3
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: Pau Espin Pedrol 
Gerrit-HasComments: No


[PATCH] libosmocore[master]: Add function to generate random identifier

2017-07-03 Thread Max
Hello Harald Welte, Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/1526

to look at the new patch set (#6).

Add function to generate random identifier

The function is a wrapper on top of getrandom() (if available via glibc) or
corresponding syscall. If neither is available than insecure random
generation is used as a fallback (which is clearly indicated to the caller).

It's intended to generate small random data good enough for session
identifiers and keys. To generate long-term cryptographic keys it's
better to use special crypto libraries like GnuTLS instead. The size of
the output is deliberately limited to decrease the chance of entropy
pool depletion. It's still possible via successive calls but the caller
can find a way to deplete the entropy anyway so it's not our concern.

As an example it's used to replace old insecure random number generator
in osmo-auc-gen utility.

Change-Id: I0241b814ea4c4ce1458f7ad76e31d390383c2048
Related: OS#1694
---
M configure.ac
M include/osmocom/gsm/gsm_utils.h
M src/gsm/gsm_utils.c
M src/gsm/libosmogsm.map
M utils/osmo-auc-gen.c
5 files changed, 75 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/26/1526/6

diff --git a/configure.ac b/configure.ac
index 92544b6..e7e394a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -62,6 +62,9 @@
 AC_PATH_PROG(DOXYGEN,doxygen,false)
 AM_CONDITIONAL(HAVE_DOXYGEN, test $DOXYGEN != false)
 
+# check for syscal fallback on glibc < 2.25 - can be removed once glibc 
version requirement is bumped
+AC_CHECK_DECLS([SYS_getrandom], [], [], [[#include ]])
+
 # The following test is taken from WebKit's webkit.m4
 saved_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS -fvisibility=hidden "
diff --git a/include/osmocom/gsm/gsm_utils.h b/include/osmocom/gsm/gsm_utils.h
index 998f681..17f89e0 100644
--- a/include/osmocom/gsm/gsm_utils.h
+++ b/include/osmocom/gsm/gsm_utils.h
@@ -38,6 +38,9 @@
 
 #define GSM_MAX_FN (26*51*2048)
 
+/* Max length of random identifier which can be requested via 
osmo_get_rand_id() */
+#define OSMO_MAX_RAND_ID_LEN 16
+
 struct gsm_time {
uint32_tfn; /* FN count */
uint16_tt1; /* FN div (26*51) */
@@ -60,6 +63,8 @@
 const char *gsm_band_name(enum gsm_band band);
 enum gsm_band gsm_band_parse(const char *mhz);
 
+int osmo_get_rand_id(uint8_t *out, size_t len);
+
 /*!
  * Decode a sequence of GSM 03.38 encoded 7 bit characters.
  *
diff --git a/src/gsm/gsm_utils.c b/src/gsm/gsm_utils.c
index 61d3f83..36f5e2f 100644
--- a/src/gsm/gsm_utils.c
+++ b/src/gsm/gsm_utils.c
@@ -90,6 +90,14 @@
 #include 
 #include 
 #include 
+#include 
+#include 
+
+#if defined(__GLIBC__) && (__GLIBC__ >= 2) && (__GLIBC_MINOR__ >= 25)
+#include 
+#elif HAVE_DECL_SYS_GETRANDOM
+#include 
+#endif
 
 #include "../../config.h"
 
@@ -386,6 +394,61 @@
return y;
 }
 
+static inline void fallback_insecure_rand(uint8_t *out, size_t len)
+{
+   int i;
+
+   srand(time(NULL));
+
+   for (i = 0; i < len; out[i++] = rand());
+}
+
+/*! Generate random identifier
+ *  \param[out] out Buffer to be filled with random data
+ *  \param[in] len Number of random bytes required
+ *  \returns 0 on success, or a negative error code on error.
+ */
+int osmo_get_rand_id(uint8_t *out, size_t len)
+{
+   int rc;
+
+   /* this function is intended for generating short identifiers only, not 
arbitrary-length random data */
+   if (len > OSMO_MAX_RAND_ID_LEN)
+   return -E2BIG;
+
+   /* we use /dev/urandom (default when GRND_RANDOM flag is not set) which 
is fine as (at least on GNU/Linux >= 4.8)
+  both /dev/(u)random numbers are coming from the same CSPRNG anyway - 
see also RFC4086 */
+#if defined(__GLIBC__) && (__GLIBC__ >= 2) && (__GLIBC_MINOR__ >= 25)
+   rc = getrandom(out, len, GRND_NONBLOCK);
+#elif HAVE_DECL_SYS_GETRANDOM
+#pragma message ("Using direct syscall access for getrandom(): consider 
upgrading to glibc >= 2.25")
+   /* FIXME: this can be removed once we bump glibc requirements to 2.25 */
+   rc = syscall(SYS_getrandom, out, len, GRND_NONBLOCK);
+#else
+#pragma message ("Insecure random fallback is used: no getrandom syscall 
available!")
+   /* Fallback for systems without getrandom() syscall */
+   rc = 0;
+#endif
+   if (rc < 0) { /* getrandom() failed entirely */
+   switch (errno) {
+   case EAGAIN: /* the requested entropy is not available: 
fallback to insecure generator and let
+   application decide if it's OK with */
+   fallback_insecure_rand(out, len);
+   default: /* intentional fall-through */
+   return -errno;
+   }
+   }
+   if (rc != len) { /* the system cal

[PATCH] osmo-pcu[master]: Copy sysmopcu.service to osmo-pcu

2017-07-03 Thread Max

Review at  https://gerrit.osmocom.org/3106

Copy sysmopcu.service to osmo-pcu

This way the name of systemd service file will match the name of the
binary similar to OsmoBTS. Add aliases so the user can use both old and
new names regardless of which file is installed. Once the corresponding
changes to OE recipes are applied old file can be removed.

Based on work by Pau Espin Pedrol 

Change-Id: I2ca6f6c486bd6fcf4d5b3d0a05d25dc04f020c26
---
A contrib/osmo-pcu.service
M contrib/sysmopcu.service
2 files changed, 18 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/06/3106/1

diff --git a/contrib/osmo-pcu.service b/contrib/osmo-pcu.service
new file mode 100644
index 000..3066a66
--- /dev/null
+++ b/contrib/osmo-pcu.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=sysmocom sysmoPCU
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/osmo-pcu -c /etc/osmocom/osmo-pcu.cfg
+Restart=always
+RestartSec=2
+RestartPreventExitStatus=1
+
+# The msg queues must be read fast enough
+CPUSchedulingPolicy=rr
+CPUSchedulingPriority=1
+
+[Install]
+WantedBy=multi-user.target
+Alias=sysmopcu.service
diff --git a/contrib/sysmopcu.service b/contrib/sysmopcu.service
index 3e3ff07..df8c47e 100644
--- a/contrib/sysmopcu.service
+++ b/contrib/sysmopcu.service
@@ -14,3 +14,4 @@
 
 [Install]
 WantedBy=multi-user.target
+Alias=osmo-pcu.service

-- 
To view, visit https://gerrit.osmocom.org/3106
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2ca6f6c486bd6fcf4d5b3d0a05d25dc04f020c26
Gerrit-PatchSet: 1
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max 


[PATCH] osmo-gsm-manuals[master]: OsmoGSMTester: use proper systemd service name

2017-07-03 Thread Max

Review at  https://gerrit.osmocom.org/3107

OsmoGSMTester: use proper systemd service name

Use osmo-bts-sysmo for sysmoBTS systemd service name which is available
since 114293a414bd5b7c86622ec8c293c4034c80d243 in OsmoBTS.

Change-Id: Ie017946b9099460ac6758ff84ec7a10df13390a1
---
M OsmoGSMTester/chapters/install.adoc
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals 
refs/changes/07/3107/1

diff --git a/OsmoGSMTester/chapters/install.adoc 
b/OsmoGSMTester/chapters/install.adoc
index b703498..4f81892 100644
--- a/OsmoGSMTester/chapters/install.adoc
+++ b/OsmoGSMTester/chapters/install.adoc
@@ -531,7 +531,7 @@
 be disabled:
 
 
-systemctl mask osmo-nitb sysmobts sysmopcu sysmobts-mgr
+systemctl mask osmo-nitb osmo-bts-sysmo sysmopcu sysmobts-mgr
 
 
 This stops the stock setup keeping the BTS in operation and hence allows the

-- 
To view, visit https://gerrit.osmocom.org/3107
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie017946b9099460ac6758ff84ec7a10df13390a1
Gerrit-PatchSet: 1
Gerrit-Project: osmo-gsm-manuals
Gerrit-Branch: master
Gerrit-Owner: Max 


osmo-gsm-manuals[master]: OsmoGSMTester: use proper systemd service name

2017-07-03 Thread Max

Patch Set 1:

Make sense - let's wait till 3106 is merged.

-- 
To view, visit https://gerrit.osmocom.org/3107
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie017946b9099460ac6758ff84ec7a10df13390a1
Gerrit-PatchSet: 1
Gerrit-Project: osmo-gsm-manuals
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: Pau Espin Pedrol 
Gerrit-Reviewer: neels 
Gerrit-HasComments: No


[PATCH] osmo-bts[master]: Simplify jenkins build scripts

2017-07-04 Thread Max
= osmo-bts-octphy+trx 
==="
-echo
-set -x
-
-autoreconf --install --force
 configure_flags="\
-  --with-openbsc=$deps/openbsc/openbsc/include \
   --with-osmo-pcu=$deps/osmo-pcu/include \
   --with-octsdr-2g=$deps/layer1-headers/ \
   --enable-octphy \
   --enable-trx \
   "
-./configure $configure_flags
-$MAKE $PARALLEL_MAKE
-$MAKE check \
-  || cat-testlogs.sh
-DISTCHECK_CONFIGURE_FLAGS="$configure_flags" \
-  $MAKE distcheck \
-  || cat-testlogs.sh
+
+build_bts "osmo-bts-octphy+trx" "$configure_flags"
diff --git a/contrib/jenkins_sysmobts.sh b/contrib/jenkins_sysmobts.sh
index 227f249..ca4d177 100755
--- a/contrib/jenkins_sysmobts.sh
+++ b/contrib/jenkins_sysmobts.sh
@@ -14,24 +14,10 @@
 osmo-layer1-headers.sh sysmo "$FIRMWARE_VERSION"
 mkdir -p "$inst/include/sysmocom/femtobts"
 ln -s $deps/layer1-headers/include/* "$inst/include/sysmocom/femtobts/"
-cd "$base"
 
-set +x
-echo
-echo
-echo
-echo " === osmo-bts-sysmo 
==="
-echo
-set -x
+configure_flags="--enable-sysmocom-bts"
 
-autoreconf --install --force
-./configure --enable-sysmocom-bts 
--with-openbsc="$deps/openbsc/openbsc/include"
-$MAKE $PARALLEL_MAKE
-$MAKE check \
-  || cat-testlogs.sh
-DISTCHECK_CONFIGURE_FLAGS="--enable-sysmocom-bts 
--with-openbsc=$deps/openbsc/openbsc/include" \
-  $MAKE distcheck \
-  || cat-testlogs.sh
+build_bts "osmo-bts-sysmo" "$configure_flags"
 
 # This will not work for the femtobts
 if [ $FIRMWARE_VERSION != "femtobts_v2.7" ]; then

-- 
To view, visit https://gerrit.osmocom.org/3008
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4d09c5f2693b5ac0a4d8f2c840971e13d1ec58cf
Gerrit-PatchSet: 6
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: André Boddenberg 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: blobb 
Gerrit-Reviewer: neels 


osmo-bts[master]: Simplify jenkins build scripts

2017-07-04 Thread Max

Patch Set 6:

> Is it really necessary to pass $deps and $base args?

Good point, updated, thanks.

-- 
To view, visit https://gerrit.osmocom.org/3008
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I4d09c5f2693b5ac0a4d8f2c840971e13d1ec58cf
Gerrit-PatchSet: 6
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: André Boddenberg 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: blobb 
Gerrit-Reviewer: neels 
Gerrit-HasComments: No


libosmocore[master]: utils: add function gsm_fn_as_gsmtime_str()

2017-07-04 Thread Max

Patch Set 4: -Code-Review

-- 
To view, visit https://gerrit.osmocom.org/3048
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8015d2ded3940b01b35df7b72fc35c70c25e9926
Gerrit-PatchSet: 4
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: dexter 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: Pau Espin Pedrol 
Gerrit-Reviewer: dexter 
Gerrit-HasComments: No


[PATCH] osmo-bts[master]: Simplify jenkins build scripts

2017-07-04 Thread Max
= osmo-bts-octphy+trx 
==="
-echo
-set -x
-
-autoreconf --install --force
 configure_flags="\
-  --with-openbsc=$deps/openbsc/openbsc/include \
   --with-osmo-pcu=$deps/osmo-pcu/include \
   --with-octsdr-2g=$deps/layer1-headers/ \
   --enable-octphy \
   --enable-trx \
   "
-./configure $configure_flags
-$MAKE $PARALLEL_MAKE
-$MAKE check \
-  || cat-testlogs.sh
-DISTCHECK_CONFIGURE_FLAGS="$configure_flags" \
-  $MAKE distcheck \
-  || cat-testlogs.sh
+
+build_bts "osmo-bts-octphy+trx" "$configure_flags"
diff --git a/contrib/jenkins_sysmobts.sh b/contrib/jenkins_sysmobts.sh
index 227f249..ca4d177 100755
--- a/contrib/jenkins_sysmobts.sh
+++ b/contrib/jenkins_sysmobts.sh
@@ -14,24 +14,10 @@
 osmo-layer1-headers.sh sysmo "$FIRMWARE_VERSION"
 mkdir -p "$inst/include/sysmocom/femtobts"
 ln -s $deps/layer1-headers/include/* "$inst/include/sysmocom/femtobts/"
-cd "$base"
 
-set +x
-echo
-echo
-echo
-echo " === osmo-bts-sysmo 
==="
-echo
-set -x
+configure_flags="--enable-sysmocom-bts"
 
-autoreconf --install --force
-./configure --enable-sysmocom-bts 
--with-openbsc="$deps/openbsc/openbsc/include"
-$MAKE $PARALLEL_MAKE
-$MAKE check \
-  || cat-testlogs.sh
-DISTCHECK_CONFIGURE_FLAGS="--enable-sysmocom-bts 
--with-openbsc=$deps/openbsc/openbsc/include" \
-  $MAKE distcheck \
-  || cat-testlogs.sh
+build_bts "osmo-bts-sysmo" "$configure_flags"
 
 # This will not work for the femtobts
 if [ $FIRMWARE_VERSION != "femtobts_v2.7" ]; then

-- 
To view, visit https://gerrit.osmocom.org/3008
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4d09c5f2693b5ac0a4d8f2c840971e13d1ec58cf
Gerrit-PatchSet: 7
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: André Boddenberg 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: blobb 
Gerrit-Reviewer: neels 


[PATCH] osmo-bts[master]: Simplify jenkins build scripts

2017-07-04 Thread Max
= osmo-bts-octphy+trx 
==="
-echo
-set -x
-
-autoreconf --install --force
 configure_flags="\
-  --with-openbsc=$deps/openbsc/openbsc/include \
   --with-osmo-pcu=$deps/osmo-pcu/include \
   --with-octsdr-2g=$deps/layer1-headers/ \
   --enable-octphy \
   --enable-trx \
   "
-./configure $configure_flags
-$MAKE $PARALLEL_MAKE
-$MAKE check \
-  || cat-testlogs.sh
-DISTCHECK_CONFIGURE_FLAGS="$configure_flags" \
-  $MAKE distcheck \
-  || cat-testlogs.sh
+
+build_bts "osmo-bts-octphy+trx" "$configure_flags"
diff --git a/contrib/jenkins_sysmobts.sh b/contrib/jenkins_sysmobts.sh
index 227f249..ca4d177 100755
--- a/contrib/jenkins_sysmobts.sh
+++ b/contrib/jenkins_sysmobts.sh
@@ -14,24 +14,10 @@
 osmo-layer1-headers.sh sysmo "$FIRMWARE_VERSION"
 mkdir -p "$inst/include/sysmocom/femtobts"
 ln -s $deps/layer1-headers/include/* "$inst/include/sysmocom/femtobts/"
-cd "$base"
 
-set +x
-echo
-echo
-echo
-echo " === osmo-bts-sysmo 
==="
-echo
-set -x
+configure_flags="--enable-sysmocom-bts"
 
-autoreconf --install --force
-./configure --enable-sysmocom-bts 
--with-openbsc="$deps/openbsc/openbsc/include"
-$MAKE $PARALLEL_MAKE
-$MAKE check \
-  || cat-testlogs.sh
-DISTCHECK_CONFIGURE_FLAGS="--enable-sysmocom-bts 
--with-openbsc=$deps/openbsc/openbsc/include" \
-  $MAKE distcheck \
-  || cat-testlogs.sh
+build_bts "osmo-bts-sysmo" "$configure_flags"
 
 # This will not work for the femtobts
 if [ $FIRMWARE_VERSION != "femtobts_v2.7" ]; then

-- 
To view, visit https://gerrit.osmocom.org/3008
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4d09c5f2693b5ac0a4d8f2c840971e13d1ec58cf
Gerrit-PatchSet: 8
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: André Boddenberg 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: blobb 
Gerrit-Reviewer: neels 


[MERGED] osmo-pcu[master]: Copy sysmopcu.service to osmo-pcu

2017-07-04 Thread Max
Max has submitted this change and it was merged.

Change subject: Copy sysmopcu.service to osmo-pcu
..


Copy sysmopcu.service to osmo-pcu

This way the name of systemd service file will match the name of the
binary similar to OsmoBTS. Add aliases so the user can use both old and
new names regardless of which file is installed. Once the corresponding
changes to OE recipes are applied old file can be removed.

Based on work by Pau Espin Pedrol 

Change-Id: I2ca6f6c486bd6fcf4d5b3d0a05d25dc04f020c26
---
A contrib/osmo-pcu.service
M contrib/sysmopcu.service
2 files changed, 18 insertions(+), 0 deletions(-)

Approvals:
  Pau Espin Pedrol: Looks good to me, but someone else must approve
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/contrib/osmo-pcu.service b/contrib/osmo-pcu.service
new file mode 100644
index 000..3066a66
--- /dev/null
+++ b/contrib/osmo-pcu.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=sysmocom sysmoPCU
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/osmo-pcu -c /etc/osmocom/osmo-pcu.cfg
+Restart=always
+RestartSec=2
+RestartPreventExitStatus=1
+
+# The msg queues must be read fast enough
+CPUSchedulingPolicy=rr
+CPUSchedulingPriority=1
+
+[Install]
+WantedBy=multi-user.target
+Alias=sysmopcu.service
diff --git a/contrib/sysmopcu.service b/contrib/sysmopcu.service
index 3e3ff07..df8c47e 100644
--- a/contrib/sysmopcu.service
+++ b/contrib/sysmopcu.service
@@ -14,3 +14,4 @@
 
 [Install]
 WantedBy=multi-user.target
+Alias=osmo-pcu.service

-- 
To view, visit https://gerrit.osmocom.org/3106
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I2ca6f6c486bd6fcf4d5b3d0a05d25dc04f020c26
Gerrit-PatchSet: 1
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: Pau Espin Pedrol 
Gerrit-Reviewer: neels 


[PATCH] osmo-gsm-manuals[master]: OsmoGSMTester: use proper systemd service names

2017-07-04 Thread Max
Hello Pau Espin Pedrol, Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/3107

to look at the new patch set (#2).

OsmoGSMTester: use proper systemd service names

* use osmo-bts-sysmo for sysmoBTS systemd service name which is available
  since 114293a414bd5b7c86622ec8c293c4034c80d243
* use osmo-pcu for OsmoPCU systemd service name which is available since
  241f5bcb00f9c6fee4200a3aea9aa497bf0d3eee

Change-Id: Ie017946b9099460ac6758ff84ec7a10df13390a1
---
M OsmoGSMTester/chapters/install.adoc
1 file changed, 1 insertion(+), 1 deletion(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals 
refs/changes/07/3107/2

diff --git a/OsmoGSMTester/chapters/install.adoc 
b/OsmoGSMTester/chapters/install.adoc
index b703498..e843482 100644
--- a/OsmoGSMTester/chapters/install.adoc
+++ b/OsmoGSMTester/chapters/install.adoc
@@ -531,7 +531,7 @@
 be disabled:
 
 
-systemctl mask osmo-nitb sysmobts sysmopcu sysmobts-mgr
+systemctl mask osmo-nitb osmo-bts-sysmo osmo-pcu sysmobts-mgr
 
 
 This stops the stock setup keeping the BTS in operation and hence allows the

-- 
To view, visit https://gerrit.osmocom.org/3107
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ie017946b9099460ac6758ff84ec7a10df13390a1
Gerrit-PatchSet: 2
Gerrit-Project: osmo-gsm-manuals
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: Pau Espin Pedrol 
Gerrit-Reviewer: neels 


[PATCH] libosmocore[master]: Add release target to Makefile

2017-07-05 Thread Max

Review at  https://gerrit.osmocom.org/3130

Add release target to Makefile

Add simple helper target to automate following release steps:
* cleanup TODO-RELEASE
* update debian/changelog
* git commit and tag
* git tag sign

Note: it requires bumpversion package to be installed.

N. B: you still have to manually adjust LIBVERSION in previous commit -
see TODO-RELEASE header for details.

Use it as follows:
make REL=minor release

The REL parameter defines which component of the version [1] to bump and
can be any of { major, minor, patch }.

[1] http://semver.org/

Change-Id: I790ceb958195b9f6cbabfe8c977dc30e2bd7414b
Related: OS#1861
---
M Makefile.am
1 file changed, 18 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/30/3130/1

diff --git a/Makefile.am b/Makefile.am
index b8de3ca..bfd409a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -15,6 +15,24 @@
 
 EXTRA_DIST = git-version-gen .version README.md
 
+NEW_VERSION := $(shell bumpversion --list --current-version $(VERSION) $(REL) 
--allow-dirty | awk -F '=' '{ print $$2 }')
+
+release:
+   @echo "Releasing" $(VERSION) "->" $(NEW_VERSION)"..."
+   @echo "You should NOT be doing this unless you've read and understood 
following article:"
+   @echo 
"https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info";
+   @grep -v '#' TODO-RELEASE | sed 's/\t\+/:/g' | xargs -d'\n' -I entry 
dch -m -v $(NEW_VERSION) "entry"
+   @dch -r -m --distribution "unstable" ""
+   @grep '#' TODO-RELEASE > TODO-RELEASE.clean
+   @mv TODO-RELEASE.clean TODO-RELEASE
+   @git add -u
+   @bumpversion --current-version $(VERSION) $(REL) --tag --commit 
--tag-name $(NEW_VERSION) --allow-dirty
+   @git tag -s $(NEW_VERSION) -f -m "Release v$(NEW_VERSION)"
+   @echo "Release" $(NEW_VERSION) "prepared, tagged and signed."
+   @echo "Do NOT push the release commit if you have not adjusted 
LIBVERSION in preceeding commit!!!"
+   @echo "Are you sure the following versions are correct?"
+   @git grep -n LIBVERSION | grep  '=' | grep am | grep -v LDFLAGS
+
 if HAVE_DOXYGEN
 
 html_DATA = $(top_builddir)/doc/html.tar

-- 
To view, visit https://gerrit.osmocom.org/3130
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I790ceb958195b9f6cbabfe8c977dc30e2bd7414b
Gerrit-PatchSet: 1
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max 


[PATCH] libosmocore[master]: Add release target to Makefile

2017-07-05 Thread Max
Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/3130

to look at the new patch set (#2).

Add release target to Makefile

Add simple helper target to automate following release steps:
* cleanup TODO-RELEASE
* update debian/changelog
* git commit and tag
* git tag sign

Note: it requires bumpversion package to be installed, debian/control is
adjusted accordingly. The helper itself is installed to facilitate reuse
by other libraries.

N. B: you still have to manually adjust LIBVERSION in previous commit -
see TODO-RELEASE header for details.

Use it as follows:
make REL=minor release

The REL parameter defines which component of the version [1] to bump and
can be any of { major, minor, patch }.

[1] http://semver.org/

Change-Id: I790ceb958195b9f6cbabfe8c977dc30e2bd7414b
Related: OS#1861
---
M Makefile.am
M configure.ac
M debian/control
M debian/libosmocore-dev.install
A osmo-release.mk
5 files changed, 33 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/30/3130/2

diff --git a/Makefile.am b/Makefile.am
index b8de3ca..3a71e3a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -13,7 +13,9 @@
 dist-hook:
echo $(VERSION) > $(distdir)/.tarball-version
 
-EXTRA_DIST = git-version-gen .version README.md
+EXTRA_DIST = git-version-gen .version README.md osmo-release.mk
+
+@RELMAKE@
 
 if HAVE_DOXYGEN
 
diff --git a/configure.ac b/configure.ac
index 92544b6..97f2490 100644
--- a/configure.ac
+++ b/configure.ac
@@ -11,6 +11,10 @@
 dnl kernel style compile messages
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
+dnl include release helper
+RELMAKE='include osmo-release.mk'
+AC_SUBST([RELMAKE])
+
 dnl checks for programs
 AC_PROG_MAKE_SET
 AC_PROG_MKDIR_P
diff --git a/debian/control b/debian/control
index b19448e..e266173 100644
--- a/debian/control
+++ b/debian/control
@@ -281,6 +281,7 @@
 Multi-Arch: same
 Section: libdevel
 Depends: libosmocore,
+ bumpversion,
  libtalloc-dev,
  ${misc:Depends}
 Description: Development headers for Open Source MObile COMmunications CORE 
library
diff --git a/debian/libosmocore-dev.install b/debian/libosmocore-dev.install
index 465f933..96094f6 100644
--- a/debian/libosmocore-dev.install
+++ b/debian/libosmocore-dev.install
@@ -3,3 +3,4 @@
 usr/lib/*/lib*.so
 usr/lib/*/lib*.la
 usr/lib/*/pkgconfig/*
+osmo-release.mk usr/include
diff --git a/osmo-release.mk b/osmo-release.mk
new file mode 100644
index 000..69c8102
--- /dev/null
+++ b/osmo-release.mk
@@ -0,0 +1,24 @@
+ifdef REL
+NEW_VERSION := $(shell bumpversion --list --current-version $(VERSION) $(REL) 
--allow-dirty | awk -F '=' '{ print $$2 }')
+LIBVERS := $(shell git grep -n LIBVERSION | grep  '=' | grep am | grep -v 
LDFLAGS)
+endif
+
+release:
+ifeq ($(LIBVERS),)
+   @echo "Releasing non-library projects is not yet supported"
+else
+   @echo "Releasing" $(VERSION) "->" $(NEW_VERSION)"..."
+   @echo "You should NOT be doing this unless you've read and understood 
following article:"
+   @echo 
"https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info";
+   @grep -v '#' TODO-RELEASE | sed 's/\t\+/:/g' | xargs -d'\n' -I entry 
dch -m -v $(NEW_VERSION) "entry"
+   @dch -r -m --distribution "unstable" ""
+   @grep '#' TODO-RELEASE > TODO-RELEASE.clean
+   @mv TODO-RELEASE.clean TODO-RELEASE
+   @git add -u
+   @bumpversion --current-version $(VERSION) $(REL) --tag --commit 
--tag-name $(NEW_VERSION) --allow-dirty
+   @git tag -s $(NEW_VERSION) -f -m "Release v$(NEW_VERSION)"
+   @echo "Release" $(NEW_VERSION) "prepared, tagged and signed."
+   @echo "Do NOT push the release commit if you have not adjusted 
LIBVERSION in preceeding commit!!!"
+   @echo "Are you sure the following versions are correct?"
+   @echo $(LIBVERS)
+endif

-- 
To view, visit https://gerrit.osmocom.org/3130
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I790ceb958195b9f6cbabfe8c977dc30e2bd7414b
Gerrit-PatchSet: 2
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder


[PATCH] libosmo-abis[master]: Use release helper from libosmocore

2017-07-05 Thread Max

Review at  https://gerrit.osmocom.org/3131

Use release helper from libosmocore

Change-Id: Ifc88e5c942a8b430b2436d429c86560d82984a95
Related: OS#1861
---
M Makefile.am
M configure.ac
2 files changed, 6 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/31/3131/1

diff --git a/Makefile.am b/Makefile.am
index 9e24bef..a8774c4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -13,3 +13,5 @@
echo $(VERSION) > $(distdir)/.tarball-version
 
 EXTRA_DIST = .version README.md
+
+@RELMAKE@
diff --git a/configure.ac b/configure.ac
index 535d1c3..f612fe9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -11,6 +11,10 @@
 dnl kernel style compile messages
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
+dnl include release helper
+RELMAKE='include osmo-release.mk'
+AC_SUBST([RELMAKE])
+
 dnl checks for programs
 AC_PROG_MAKE_SET
 AC_PROG_CC

-- 
To view, visit https://gerrit.osmocom.org/3131
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifc88e5c942a8b430b2436d429c86560d82984a95
Gerrit-PatchSet: 1
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Owner: Max 


[PATCH] libosmocore[master]: Add release target to Makefile

2017-07-05 Thread Max
Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/3130

to look at the new patch set (#3).

Add release target to Makefile

Add simple helper target to automate following release steps:
* cleanup TODO-RELEASE
* update debian/changelog
* git commit and tag
* git tag sign

Note: it requires bumpversion package to be installed, debian/control is
adjusted accordingly. The helper itself is installed to facilitate reuse
by other libraries.

N. B: you still have to manually adjust LIBVERSION in previous commit -
see TODO-RELEASE header for details.

Use it as follows:
make REL=minor release

The REL parameter defines which component of the version [1] to bump and
can be any of { major, minor, patch }.

[1] http://semver.org/

Change-Id: I790ceb958195b9f6cbabfe8c977dc30e2bd7414b
Related: OS#1861
---
M Makefile.am
M configure.ac
M debian/control
M debian/libosmocore-dev.install
A osmo-release.mk
5 files changed, 33 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/30/3130/3

diff --git a/Makefile.am b/Makefile.am
index b8de3ca..3a71e3a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -13,7 +13,9 @@
 dist-hook:
echo $(VERSION) > $(distdir)/.tarball-version
 
-EXTRA_DIST = git-version-gen .version README.md
+EXTRA_DIST = git-version-gen .version README.md osmo-release.mk
+
+@RELMAKE@
 
 if HAVE_DOXYGEN
 
diff --git a/configure.ac b/configure.ac
index 92544b6..641f852 100644
--- a/configure.ac
+++ b/configure.ac
@@ -11,6 +11,10 @@
 dnl kernel style compile messages
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
+dnl include release helper
+RELMAKE='-include osmo-release.mk'
+AC_SUBST([RELMAKE])
+
 dnl checks for programs
 AC_PROG_MAKE_SET
 AC_PROG_MKDIR_P
diff --git a/debian/control b/debian/control
index b19448e..e266173 100644
--- a/debian/control
+++ b/debian/control
@@ -281,6 +281,7 @@
 Multi-Arch: same
 Section: libdevel
 Depends: libosmocore,
+ bumpversion,
  libtalloc-dev,
  ${misc:Depends}
 Description: Development headers for Open Source MObile COMmunications CORE 
library
diff --git a/debian/libosmocore-dev.install b/debian/libosmocore-dev.install
index 465f933..96094f6 100644
--- a/debian/libosmocore-dev.install
+++ b/debian/libosmocore-dev.install
@@ -3,3 +3,4 @@
 usr/lib/*/lib*.so
 usr/lib/*/lib*.la
 usr/lib/*/pkgconfig/*
+osmo-release.mk usr/include
diff --git a/osmo-release.mk b/osmo-release.mk
new file mode 100644
index 000..69c8102
--- /dev/null
+++ b/osmo-release.mk
@@ -0,0 +1,24 @@
+ifdef REL
+NEW_VERSION := $(shell bumpversion --list --current-version $(VERSION) $(REL) 
--allow-dirty | awk -F '=' '{ print $$2 }')
+LIBVERS := $(shell git grep -n LIBVERSION | grep  '=' | grep am | grep -v 
LDFLAGS)
+endif
+
+release:
+ifeq ($(LIBVERS),)
+   @echo "Releasing non-library projects is not yet supported"
+else
+   @echo "Releasing" $(VERSION) "->" $(NEW_VERSION)"..."
+   @echo "You should NOT be doing this unless you've read and understood 
following article:"
+   @echo 
"https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info";
+   @grep -v '#' TODO-RELEASE | sed 's/\t\+/:/g' | xargs -d'\n' -I entry 
dch -m -v $(NEW_VERSION) "entry"
+   @dch -r -m --distribution "unstable" ""
+   @grep '#' TODO-RELEASE > TODO-RELEASE.clean
+   @mv TODO-RELEASE.clean TODO-RELEASE
+   @git add -u
+   @bumpversion --current-version $(VERSION) $(REL) --tag --commit 
--tag-name $(NEW_VERSION) --allow-dirty
+   @git tag -s $(NEW_VERSION) -f -m "Release v$(NEW_VERSION)"
+   @echo "Release" $(NEW_VERSION) "prepared, tagged and signed."
+   @echo "Do NOT push the release commit if you have not adjusted 
LIBVERSION in preceeding commit!!!"
+   @echo "Are you sure the following versions are correct?"
+   @echo $(LIBVERS)
+endif

-- 
To view, visit https://gerrit.osmocom.org/3130
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I790ceb958195b9f6cbabfe8c977dc30e2bd7414b
Gerrit-PatchSet: 3
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder


[PATCH] libosmo-abis[master]: Use release helper from libosmocore

2017-07-05 Thread Max
Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/3131

to look at the new patch set (#2).

Use release helper from libosmocore

Change-Id: Ifc88e5c942a8b430b2436d429c86560d82984a95
Related: OS#1861
---
M Makefile.am
M configure.ac
2 files changed, 6 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/31/3131/2

diff --git a/Makefile.am b/Makefile.am
index 9e24bef..a8774c4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -13,3 +13,5 @@
echo $(VERSION) > $(distdir)/.tarball-version
 
 EXTRA_DIST = .version README.md
+
+@RELMAKE@
diff --git a/configure.ac b/configure.ac
index 535d1c3..f2e90e3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -11,6 +11,10 @@
 dnl kernel style compile messages
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
+dnl include release helper
+RELMAKE='-include osmo-release.mk'
+AC_SUBST([RELMAKE])
+
 dnl checks for programs
 AC_PROG_MAKE_SET
 AC_PROG_CC

-- 
To view, visit https://gerrit.osmocom.org/3131
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ifc88e5c942a8b430b2436d429c86560d82984a95
Gerrit-PatchSet: 2
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder


[PATCH] libosmocore[master]: Cleanup jenkins build scripts

2017-07-05 Thread Max

Review at  https://gerrit.osmocom.org/3132

Cleanup jenkins build scripts

* reorder builds to avoid rm -rf invocation
* avoid useless double autoreconf
* move common parts into shared helper
* move common build steps into separate function

Change-Id: I24e500e132f5c8e8133d35548cb7b4e4552331d0
---
M contrib/jenkins-arm.sh
M contrib/jenkins.sh
A contrib/jenkins_common.sh
3 files changed, 29 insertions(+), 46 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/32/3132/1

diff --git a/contrib/jenkins-arm.sh b/contrib/jenkins-arm.sh
index 510b0e9..507652f 100755
--- a/contrib/jenkins-arm.sh
+++ b/contrib/jenkins-arm.sh
@@ -1,33 +1,16 @@
 #!/bin/sh
 
-set -ex
+. $(dirname "$0")/jenkins_common.sh
 
-./contrib/verify_value_string_arrays_are_terminated.py $(find . -name "*.[hc]")
-
-autoreconf --install --force
-./configure --enable-static \
-   --prefix=/usr/local/arm-none-eabi \
-   --host=arm-none-eabi \
-   --enable-embedded \
-   --disable-shared \
-   CFLAGS="-Os -ffunction-sections -fdata-sections -nostartfiles 
-nodefaultlibs -Werror"
-
-$MAKE $PARALLEL_MAKE \
-   || cat-testlogs.sh
+build() {
+$1 --enable-static --prefix=/usr/local/arm-none-eabi --host=arm-none-eabi 
--enable-embedded --disable-shared CFLAGS="-Os -ffunction-sections 
-fdata-sections -nostartfiles -nodefaultlibs -Werror"
+$MAKE $PARALLEL_MAKE || cat-testlogs.sh
+}
 
 # verify build in dir other than source tree
-rm -rf *
-git checkout .
-autoreconf --install --force
-mkdir builddir
+mkdir -p builddir
 cd builddir
+build ../configure
 
-../configure --enable-static \
-   --prefix=/usr/local/arm-none-eabi \
-   --host=arm-none-eabi \
-   --enable-embedded \
-   --disable-shared \
-   CFLAGS="-Os -ffunction-sections -fdata-sections -nostartfiles 
-nodefaultlibs -Werror"
-
-$MAKE $PARALLEL_MAKE \
-   || cat-testlogs.sh
+cd ..
+build ./configure
diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh
index 6a72840..4a26630 100755
--- a/contrib/jenkins.sh
+++ b/contrib/jenkins.sh
@@ -1,30 +1,23 @@
-#!/usr/bin/env bash
+#!/bin/sh
 
-set -ex
+. $(dirname "$0")/jenkins_common.sh
 
-./contrib/verify_value_string_arrays_are_terminated.py $(find . -name "*.[hc]")
+ENABLE_SANITIZE="--enable-sanitize"
 
 if [ "x$label" = "xFreeBSD_amd64" ]; then
 ENABLE_SANITIZE=""
-else
-ENABLE_SANITIZE="--enable-sanitize"
 fi
 
-autoreconf --install --force
-./configure --enable-static $ENABLE_SANITIZE CFLAGS="-Werror" 
CPPFLAGS="-Werror"
-$MAKE $PARALLEL_MAKE check \
-  || cat-testlogs.sh
-$MAKE distcheck \
-  || cat-testlogs.sh
+build() {
+$1 --enable-static $2 CFLAGS="-Werror" CPPFLAGS="-Werror"
+$MAKE $PARALLEL_MAKE check || cat-testlogs.sh
+$MAKE distcheck || cat-testlogs.sh
+}
 
 # verify build in dir other than source tree
-rm -rf *
-git checkout .
-autoreconf --install --force
-mkdir builddir
+mkdir -p builddir
 cd builddir
-../configure --enable-static CFLAGS="-Werror" CPPFLAGS="-Werror"
-$MAKE $PARALLEL_MAKE check \
-  || cat-testlogs.sh
-$MAKE distcheck \
-  || cat-testlogs.sh
+build ../configure $ENABLE_SANITIZE
+
+cd ..
+build ./configure $ENABLE_SANITIZE
diff --git a/contrib/jenkins_common.sh b/contrib/jenkins_common.sh
new file mode 100644
index 000..c7bc7f6
--- /dev/null
+++ b/contrib/jenkins_common.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -ex
+
+./contrib/verify_value_string_arrays_are_terminated.py $(find . -name "*.[hc]")
+
+autoreconf --install --force

-- 
To view, visit https://gerrit.osmocom.org/3132
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I24e500e132f5c8e8133d35548cb7b4e4552331d0
Gerrit-PatchSet: 1
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max 


[PATCH] libosmocore[master]: Add release target to Makefile

2017-07-05 Thread Max
Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/3130

to look at the new patch set (#4).

Add release target to Makefile

Add simple helper target to automate following release steps:
* cleanup TODO-RELEASE
* update debian/changelog
* git commit and tag
* git tag sign

Note: it requires bumpversion package to be installed, debian/control is
adjusted accordingly. The helper itself is installed to facilitate reuse
by other libraries.

N. B: you still have to manually adjust LIBVERSION in previous commit -
see TODO-RELEASE header for details.

Use it as follows:
make REL=minor release

The REL parameter defines which component of the version [1] to bump and
can be any of { major, minor, patch }.

[1] http://semver.org/

Change-Id: I790ceb958195b9f6cbabfe8c977dc30e2bd7414b
Related: OS#1861
---
M Makefile.am
M configure.ac
M debian/control
M debian/libosmocore-dev.install
A osmo-release.mk
5 files changed, 32 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/30/3130/4

diff --git a/Makefile.am b/Makefile.am
index b8de3ca..c94b5c0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -15,6 +15,8 @@
 
 EXTRA_DIST = git-version-gen .version README.md
 
+@RELMAKE@
+
 if HAVE_DOXYGEN
 
 html_DATA = $(top_builddir)/doc/html.tar
diff --git a/configure.ac b/configure.ac
index 92544b6..641f852 100644
--- a/configure.ac
+++ b/configure.ac
@@ -11,6 +11,10 @@
 dnl kernel style compile messages
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
+dnl include release helper
+RELMAKE='-include osmo-release.mk'
+AC_SUBST([RELMAKE])
+
 dnl checks for programs
 AC_PROG_MAKE_SET
 AC_PROG_MKDIR_P
diff --git a/debian/control b/debian/control
index b19448e..e266173 100644
--- a/debian/control
+++ b/debian/control
@@ -281,6 +281,7 @@
 Multi-Arch: same
 Section: libdevel
 Depends: libosmocore,
+ bumpversion,
  libtalloc-dev,
  ${misc:Depends}
 Description: Development headers for Open Source MObile COMmunications CORE 
library
diff --git a/debian/libosmocore-dev.install b/debian/libosmocore-dev.install
index 465f933..96094f6 100644
--- a/debian/libosmocore-dev.install
+++ b/debian/libosmocore-dev.install
@@ -3,3 +3,4 @@
 usr/lib/*/lib*.so
 usr/lib/*/lib*.la
 usr/lib/*/pkgconfig/*
+osmo-release.mk usr/include
diff --git a/osmo-release.mk b/osmo-release.mk
new file mode 100644
index 000..69c8102
--- /dev/null
+++ b/osmo-release.mk
@@ -0,0 +1,24 @@
+ifdef REL
+NEW_VERSION := $(shell bumpversion --list --current-version $(VERSION) $(REL) 
--allow-dirty | awk -F '=' '{ print $$2 }')
+LIBVERS := $(shell git grep -n LIBVERSION | grep  '=' | grep am | grep -v 
LDFLAGS)
+endif
+
+release:
+ifeq ($(LIBVERS),)
+   @echo "Releasing non-library projects is not yet supported"
+else
+   @echo "Releasing" $(VERSION) "->" $(NEW_VERSION)"..."
+   @echo "You should NOT be doing this unless you've read and understood 
following article:"
+   @echo 
"https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info";
+   @grep -v '#' TODO-RELEASE | sed 's/\t\+/:/g' | xargs -d'\n' -I entry 
dch -m -v $(NEW_VERSION) "entry"
+   @dch -r -m --distribution "unstable" ""
+   @grep '#' TODO-RELEASE > TODO-RELEASE.clean
+   @mv TODO-RELEASE.clean TODO-RELEASE
+   @git add -u
+   @bumpversion --current-version $(VERSION) $(REL) --tag --commit 
--tag-name $(NEW_VERSION) --allow-dirty
+   @git tag -s $(NEW_VERSION) -f -m "Release v$(NEW_VERSION)"
+   @echo "Release" $(NEW_VERSION) "prepared, tagged and signed."
+   @echo "Do NOT push the release commit if you have not adjusted 
LIBVERSION in preceeding commit!!!"
+   @echo "Are you sure the following versions are correct?"
+   @echo $(LIBVERS)
+endif

-- 
To view, visit https://gerrit.osmocom.org/3130
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I790ceb958195b9f6cbabfe8c977dc30e2bd7414b
Gerrit-PatchSet: 4
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder


openbsc[master]: smpp: fix return cause

2017-07-05 Thread Max

Patch Set 3:

(1 comment)

https://gerrit.osmocom.org/#/c/3126/3/openbsc/src/libmsc/smpp_smsc.c
File openbsc/src/libmsc/smpp_smsc.c:

Line 326:   return (acl) ? 38 /* network out of order */ : 1 /* number 
unsassigned */;
Can we use define instead of numbers in here? This would also eliminate the 
need for comments in here.


-- 
To view, visit https://gerrit.osmocom.org/3126
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: If3241d50a78fa611981e55fef6ae4c72b0a2a167
Gerrit-PatchSet: 3
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: dexter 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: Yes


openbsc[master]: 04.08: find a portable way to obtain the timezone offset

2017-07-05 Thread Max

Patch Set 3:

(1 comment)

https://gerrit.osmocom.org/#/c/3128/3/openbsc/src/libmsc/gsm_04_08.c
File openbsc/src/libmsc/gsm_04_08.c:

Line 868:   /* #warning find a portable way to obtain the timezone 
offset
I think you can safely remove the old warning.


-- 
To view, visit https://gerrit.osmocom.org/3128
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I673f17af2550c9708c4771e4ea4eafbbfafbb824
Gerrit-PatchSet: 3
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: dexter 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: Yes


openbsc[master]: transaction: reject calls from unidentified subscribers

2017-07-05 Thread Max

Patch Set 3:

(1 comment)

https://gerrit.osmocom.org/#/c/3127/3/openbsc/src/libmsc/transaction.c
File openbsc/src/libmsc/transaction.c:

Line 74:if (subscr == NULL)
Is this normal? Should we log smth or caller takes care of it?


-- 
To view, visit https://gerrit.osmocom.org/3127
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ia8739b6e329ab02c0064270d02ad1d6ee245520d
Gerrit-PatchSet: 3
Gerrit-Project: openbsc
Gerrit-Branch: master
Gerrit-Owner: dexter 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: Yes


[MERGED] osmo-trx[master]: deb: remove unused dependency

2017-07-06 Thread Max
Max has submitted this change and it was merged.

Change subject: deb: remove unused dependency
..


deb: remove unused dependency

The libdbd dependency is not used because libsqlite3 is used directly -
adjust debian/control to match.

Change-Id: Id2ab1facad703fa0c1d45084e70d41e73dbad6e7
Related: OS#1929
---
M debian/control
1 file changed, 1 insertion(+), 2 deletions(-)

Approvals:
  Tom Tsou: Looks good to me, approved
  Alexander Chemeris: Looks good to me, but someone else must approve
  Jenkins Builder: Verified



diff --git a/debian/control b/debian/control
index 0e3b714..12da64a 100644
--- a/debian/control
+++ b/debian/control
@@ -5,7 +5,6 @@
 Build-Depends: debhelper (>= 9),
autotools-dev,
autoconf-archive,
-   libdbd-sqlite3,
libsqlite3-dev,
pkg-config,
dh-autoreconf,
@@ -20,7 +19,7 @@
 
 Package: osmo-trx
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, libdbd-sqlite3
+Depends: ${shlibs:Depends}, ${misc:Depends}, libsqlite3-0
 Description: SDR transceiver that implements Layer 1 of a GSM BTS
  OsmoTRX is a software-defined radio transceiver that implements the Layer 1
  physical layer of a BTS comprising the following 3GPP specifications:

-- 
To view, visit https://gerrit.osmocom.org/3079
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Id2ab1facad703fa0c1d45084e70d41e73dbad6e7
Gerrit-PatchSet: 2
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Alexander Chemeris 
Gerrit-Reviewer: Ivan Kluchnikov 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: Tom Tsou 


osmo-trx[master]: Add '-t' command line option to enable SCHED_RR

2017-07-06 Thread Max

Patch Set 1:

Does osmo-gsm-tester use sudo to run osmo-trx?

-- 
To view, visit https://gerrit.osmocom.org/3080
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ia2452b9763960b2be37fbeee9d832554da68a53f
Gerrit-PatchSet: 1
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Owner: Harald Welte 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-Reviewer: Tom Tsou 
Gerrit-Reviewer: neels 
Gerrit-HasComments: No


[PATCH] libosmocore[master]: Add release target to Makefile

2017-07-06 Thread Max
Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/3130

to look at the new patch set (#5).

Add release target to Makefile

Add simple helper target to automate following release steps:
* cleanup TODO-RELEASE
* update debian/changelog
* git commit and tag
* git tag sign

Note: it requires bumpversion package to be installed, debian/control is
adjusted accordingly. The helper itself is installed to facilitate reuse
by other libraries.

N. B: you still have to manually adjust LIBVERSION in previous commit -
see TODO-RELEASE header for details.

Use it as follows:
make REL=minor release

The REL parameter defines which component of the version [1] to bump and
can be any of { major, minor, patch }.

[1] http://semver.org/

Change-Id: I790ceb958195b9f6cbabfe8c977dc30e2bd7414b
Related: OS#1861
---
M Makefile.am
M configure.ac
M debian/control
M debian/libosmocore-dev.install
A osmo-release.mk
5 files changed, 35 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/30/3130/5

diff --git a/Makefile.am b/Makefile.am
index b8de3ca..c94b5c0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -15,6 +15,8 @@
 
 EXTRA_DIST = git-version-gen .version README.md
 
+@RELMAKE@
+
 if HAVE_DOXYGEN
 
 html_DATA = $(top_builddir)/doc/html.tar
diff --git a/configure.ac b/configure.ac
index 92544b6..641f852 100644
--- a/configure.ac
+++ b/configure.ac
@@ -11,6 +11,10 @@
 dnl kernel style compile messages
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
+dnl include release helper
+RELMAKE='-include osmo-release.mk'
+AC_SUBST([RELMAKE])
+
 dnl checks for programs
 AC_PROG_MAKE_SET
 AC_PROG_MKDIR_P
diff --git a/debian/control b/debian/control
index b19448e..e266173 100644
--- a/debian/control
+++ b/debian/control
@@ -281,6 +281,7 @@
 Multi-Arch: same
 Section: libdevel
 Depends: libosmocore,
+ bumpversion,
  libtalloc-dev,
  ${misc:Depends}
 Description: Development headers for Open Source MObile COMmunications CORE 
library
diff --git a/debian/libosmocore-dev.install b/debian/libosmocore-dev.install
index 465f933..96094f6 100644
--- a/debian/libosmocore-dev.install
+++ b/debian/libosmocore-dev.install
@@ -3,3 +3,4 @@
 usr/lib/*/lib*.so
 usr/lib/*/lib*.la
 usr/lib/*/pkgconfig/*
+osmo-release.mk usr/include
diff --git a/osmo-release.mk b/osmo-release.mk
new file mode 100644
index 000..5050037
--- /dev/null
+++ b/osmo-release.mk
@@ -0,0 +1,27 @@
+ifdef REL
+NEW_VERSION := $(shell bumpversion --list --current-version $(VERSION) $(REL) 
--allow-dirty | awk -F '=' '{ print $$2 }')
+LIBVERS := $(shell git grep -n LIBVERSION | grep  '=' | grep am | grep -v 
LDFLAGS)
+endif
+
+release:
+ifeq ($(NEW_VERSION),)
+   @$(error Failed to determine NEW_VERSION - please fix versioning 
(current is $(VERSION)) before proceeding with the release)
+endif
+   @echo "Releasing" $(VERSION) "->" $(NEW_VERSION)"..."
+ifeq ($(LIBVERS),)
+   @gbp dch --debian-tag='%(version)s' --auto --meta --git-author 
--multimaint-merge
+else
+   @echo "You should NOT be doing this unless you've read and understood 
following article:"
+   @echo 
"https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info";
+   @grep -v '#' TODO-RELEASE | sed 's/\t\+/:/g' | xargs -d'\n' -I entry 
dch -m -v $(NEW_VERSION) "entry"
+   @dch -r -m --distribution "unstable" ""
+   @grep '#' TODO-RELEASE > TODO-RELEASE.clean
+   @mv TODO-RELEASE.clean TODO-RELEASE
+   @echo "Do NOT push the release commit if you have not adjusted 
LIBVERSION in preceeding commit!!!"
+   @echo "Are you sure the following versions are correct?"
+   @echo $(LIBVERS)
+endif
+   @git add -u
+   @bumpversion --current-version $(VERSION) $(REL) --tag --commit 
--tag-name $(NEW_VERSION) --allow-dirty
+   @git tag -s $(NEW_VERSION) -f -m "Release v$(NEW_VERSION)"
+   @echo "Release" $(NEW_VERSION) "prepared, tagged and signed."

-- 
To view, visit https://gerrit.osmocom.org/3130
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I790ceb958195b9f6cbabfe8c977dc30e2bd7414b
Gerrit-PatchSet: 5
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: blobb 


[PATCH] libosmocore[master]: Add release target to Makefile

2017-07-06 Thread Max
Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/3130

to look at the new patch set (#6).

Add release target to Makefile

Add simple helper target to automate basic release steps:
* version bump
* prepare release commit
* git commit, tag and sign

For library projects:
* update debian/changelog from TODO-RELEASE
* cleanup TODO-RELEASE

For non-library projects:
* update debian/changelog from git log

Note: it requires bumpversion package to be installed, debian/control is
adjusted accordingly. The helper itself is installed to facilitate reuse
by other libraries.

N. B: you still have to manually adjust LIBVERSION in previous commit -
see TODO-RELEASE header for details.

Use it as follows:
make REL=minor release

The REL parameter defines which component of the version [1] to bump and
can be any of { major, minor, patch }.

[1] http://semver.org/

Change-Id: I790ceb958195b9f6cbabfe8c977dc30e2bd7414b
Related: OS#1861
---
M Makefile.am
M configure.ac
M debian/control
M debian/libosmocore-dev.install
A osmo-release.mk
5 files changed, 35 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/30/3130/6

diff --git a/Makefile.am b/Makefile.am
index b8de3ca..c94b5c0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -15,6 +15,8 @@
 
 EXTRA_DIST = git-version-gen .version README.md
 
+@RELMAKE@
+
 if HAVE_DOXYGEN
 
 html_DATA = $(top_builddir)/doc/html.tar
diff --git a/configure.ac b/configure.ac
index 92544b6..641f852 100644
--- a/configure.ac
+++ b/configure.ac
@@ -11,6 +11,10 @@
 dnl kernel style compile messages
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
+dnl include release helper
+RELMAKE='-include osmo-release.mk'
+AC_SUBST([RELMAKE])
+
 dnl checks for programs
 AC_PROG_MAKE_SET
 AC_PROG_MKDIR_P
diff --git a/debian/control b/debian/control
index b19448e..e266173 100644
--- a/debian/control
+++ b/debian/control
@@ -281,6 +281,7 @@
 Multi-Arch: same
 Section: libdevel
 Depends: libosmocore,
+ bumpversion,
  libtalloc-dev,
  ${misc:Depends}
 Description: Development headers for Open Source MObile COMmunications CORE 
library
diff --git a/debian/libosmocore-dev.install b/debian/libosmocore-dev.install
index 465f933..96094f6 100644
--- a/debian/libosmocore-dev.install
+++ b/debian/libosmocore-dev.install
@@ -3,3 +3,4 @@
 usr/lib/*/lib*.so
 usr/lib/*/lib*.la
 usr/lib/*/pkgconfig/*
+osmo-release.mk usr/include
diff --git a/osmo-release.mk b/osmo-release.mk
new file mode 100644
index 000..5050037
--- /dev/null
+++ b/osmo-release.mk
@@ -0,0 +1,27 @@
+ifdef REL
+NEW_VERSION := $(shell bumpversion --list --current-version $(VERSION) $(REL) 
--allow-dirty | awk -F '=' '{ print $$2 }')
+LIBVERS := $(shell git grep -n LIBVERSION | grep  '=' | grep am | grep -v 
LDFLAGS)
+endif
+
+release:
+ifeq ($(NEW_VERSION),)
+   @$(error Failed to determine NEW_VERSION - please fix versioning 
(current is $(VERSION)) before proceeding with the release)
+endif
+   @echo "Releasing" $(VERSION) "->" $(NEW_VERSION)"..."
+ifeq ($(LIBVERS),)
+   @gbp dch --debian-tag='%(version)s' --auto --meta --git-author 
--multimaint-merge
+else
+   @echo "You should NOT be doing this unless you've read and understood 
following article:"
+   @echo 
"https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info";
+   @grep -v '#' TODO-RELEASE | sed 's/\t\+/:/g' | xargs -d'\n' -I entry 
dch -m -v $(NEW_VERSION) "entry"
+   @dch -r -m --distribution "unstable" ""
+   @grep '#' TODO-RELEASE > TODO-RELEASE.clean
+   @mv TODO-RELEASE.clean TODO-RELEASE
+   @echo "Do NOT push the release commit if you have not adjusted 
LIBVERSION in preceeding commit!!!"
+   @echo "Are you sure the following versions are correct?"
+   @echo $(LIBVERS)
+endif
+   @git add -u
+   @bumpversion --current-version $(VERSION) $(REL) --tag --commit 
--tag-name $(NEW_VERSION) --allow-dirty
+   @git tag -s $(NEW_VERSION) -f -m "Release v$(NEW_VERSION)"
+   @echo "Release" $(NEW_VERSION) "prepared, tagged and signed."

-- 
To view, visit https://gerrit.osmocom.org/3130
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I790ceb958195b9f6cbabfe8c977dc30e2bd7414b
Gerrit-PatchSet: 6
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: blobb 


[PATCH] osmo-bts[master]: Use release helper from libosmocore

2017-07-06 Thread Max

Review at  https://gerrit.osmocom.org/3143

Use release helper from libosmocore

Change-Id: Ib8efd2095fcf759276299b516d495219105c1f2b
Related: OS#1861
---
M Makefile.am
M configure.ac
2 files changed, 6 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/43/3143/1

diff --git a/Makefile.am b/Makefile.am
index 5598c4a..0f85151 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -14,3 +14,5 @@
doc/examples/sysmo/osmo-bts.cfg \
doc/examples/sysmobts-mgr.cfg \
README.md
+
+@RELMAKE@
diff --git a/configure.ac b/configure.ac
index b848605..b2700d5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12,6 +12,10 @@
 dnl kernel style compile messages
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
+dnl include release helper
+RELMAKE='-include osmo-release.mk'
+AC_SUBST([RELMAKE])
+
 dnl checks for programs
 AC_PROG_MAKE_SET
 AC_PROG_CC

-- 
To view, visit https://gerrit.osmocom.org/3143
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib8efd2095fcf759276299b516d495219105c1f2b
Gerrit-PatchSet: 1
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Max 


libosmocore[master]: configure.ac: Add --disable-doxygen flag

2017-07-06 Thread Max

Patch Set 1: Code-Review+1

-- 
To view, visit https://gerrit.osmocom.org/3141
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Iba1440292116af27b267c7a1fbec1c2336784efe
Gerrit-PatchSet: 1
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


libosmo-netif[master]: contrib: Enable -Werror by default

2017-07-06 Thread Max

Patch Set 1: Code-Review+1

-- 
To view, visit https://gerrit.osmocom.org/3140
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I045536c21d7a0fa2fc23258c727d67bedf176ece
Gerrit-PatchSet: 1
Gerrit-Project: libosmo-netif
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max 
Gerrit-HasComments: No


<    1   2   3   4   5   6   7   8   9   10   >