Build failure of network:osmocom:nightly/libosmocore in Debian_Unstable/x86_64

2020-11-18 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_Unstable/x86_64

Package network:osmocom:nightly/libosmocore failed to build in 
Debian_Unstable/x86_64

Check out the package for editing:
  osc checkout network:osmocom:nightly libosmocore

Last lines of build log:
[   45s] [159/254] installing libxapian30-1.4.17-1
[   45s] Processing triggers for libc-bin (2.31-4) ...
[   45s] [160/254] keeping dpkg-1.20.5
[   45s] [161/254] installing libsemanage1-3.1-1+b1
[   45s] Processing triggers for libc-bin (2.31-4) ...
[   45s] [162/254] installing e2fsprogs-1.45.6-1
[   46s] [163/254] installing libgnutls30-3.6.15-4
[   46s] Processing triggers for libc-bin (2.31-4) ...
[   46s] [164/254] installing python3-minimal-3.9.0-3
[   46s] dpkg: regarding .../python3-minimal.deb containing python3-minimal, 
pre-dependency problem:
[   46s]  python3-minimal pre-depends on python3.9-minimal (>= 3.9.0-1~)
[   46s]   python3.9-minimal is not installed.
[   46s] dpkg: warning: ignoring pre-dependency problem!
[   46s] dpkg: python3-minimal: dependency problems, but configuring anyway as 
you requested:
[   46s]  python3-minimal depends on python3.9-minimal (>= 3.9.0-1~); however:
[   46s]   Package python3.9-minimal is not installed.
[   46s] /var/lib/dpkg/info/python3-minimal.postinst: 5: py3compile: not found
[   46s] dpkg: error processing package python3-minimal (--install):
[   46s]  installed python3-minimal package post-installation script subprocess 
returned error exit status 127
[   46s] Errors were encountered while processing:
[   46s]  python3-minimal
[   46s] exit ...
[   46s] ### VM INTERACTION START ###
[   49s] [   33.151204] sysrq: Power Off
[   49s] [   33.168228] reboot: Power down
[   49s] ### VM INTERACTION END ###
[   49s] 
[   50s] lamb14 failed "build libosmocore_1.4.0.200.465c.dsc" at Thu Nov 19 
07:57:54 UTC 2020.
[   50s] 

-- 
Configure notifications at https://build.opensuse.org/my/subscriptions
openSUSE Build Service (https://build.opensuse.org/)


Build failure of network:osmocom:latest/libosmocore in Debian_Unstable/x86_64

2020-11-18 Thread OBS Notification
Visit 
https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmocore/Debian_Unstable/x86_64

Package network:osmocom:latest/libosmocore failed to build in 
Debian_Unstable/x86_64

Check out the package for editing:
  osc checkout network:osmocom:latest libosmocore

Last lines of build log:
[   38s] [159/254] installing libxapian30-1.4.17-1
[   38s] Processing triggers for libc-bin (2.31-4) ...
[   38s] [160/254] keeping dpkg-1.20.5
[   38s] [161/254] installing libsemanage1-3.1-1+b1
[   38s] Processing triggers for libc-bin (2.31-4) ...
[   38s] [162/254] installing e2fsprogs-1.45.6-1
[   38s] [163/254] installing libgnutls30-3.6.15-4
[   38s] Processing triggers for libc-bin (2.31-4) ...
[   38s] [164/254] installing python3-minimal-3.9.0-3
[   39s] dpkg: regarding .../python3-minimal.deb containing python3-minimal, 
pre-dependency problem:
[   39s]  python3-minimal pre-depends on python3.9-minimal (>= 3.9.0-1~)
[   39s]   python3.9-minimal is not installed.
[   39s] dpkg: warning: ignoring pre-dependency problem!
[   39s] dpkg: python3-minimal: dependency problems, but configuring anyway as 
you requested:
[   39s]  python3-minimal depends on python3.9-minimal (>= 3.9.0-1~); however:
[   39s]   Package python3.9-minimal is not installed.
[   39s] /var/lib/dpkg/info/python3-minimal.postinst: 5: py3compile: not found
[   39s] dpkg: error processing package python3-minimal (--install):
[   39s]  installed python3-minimal package post-installation script subprocess 
returned error exit status 127
[   39s] Errors were encountered while processing:
[   39s]  python3-minimal
[   39s] exit ...
[   39s] ### VM INTERACTION START ###
[   42s] [   28.672164] sysrq: Power Off
[   42s] [   28.685999] reboot: Power down
[   42s] ### VM INTERACTION END ###
[   42s] 
[   42s] sheep82 failed "build libosmocore_1.4.1.dsc" at Thu Nov 19 06:53:23 
UTC 2020.
[   42s] 

-- 
Configure notifications at https://build.opensuse.org/my/subscriptions
openSUSE Build Service (https://build.opensuse.org/)


Change in osmo-pcu[master]: gprs_bssgp_pcu: follow ns2 library changes

2020-11-18 Thread lynxis lazus
lynxis lazus has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-pcu/+/21249 )


Change subject: gprs_bssgp_pcu: follow ns2 library changes
..

gprs_bssgp_pcu: follow ns2 library changes

Depends-on: I18dfd40a2429cd61b7c4a3dad5f226c64296f7d8 (libosmocore)
Change-Id: I056fe624160f2fe01d405690eba5cc0032780837
---
M src/gprs_bssgp_pcu.cpp
1 file changed, 2 insertions(+), 1 deletion(-)



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

diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp
index 05fc0d3..cb47998 100644
--- a/src/gprs_bssgp_pcu.cpp
+++ b/src/gprs_bssgp_pcu.cpp
@@ -979,7 +979,8 @@

bts->nse = gprs_ns2_nse_by_nsei(bts->nsi, nsei);
if (!bts->nse)
-   bts->nse = gprs_ns2_create_nse(bts->nsi, nsei);
+   bts->nse = gprs_ns2_create_nse(bts->nsi, nsei,
+  GPRS_NS2_LL_UDP);

if (!bts->nse) {
LOGP(DBSSGP, LOGL_ERROR, "Failed to create NSE\n");

--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/21249
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: I056fe624160f2fe01d405690eba5cc0032780837
Gerrit-Change-Number: 21249
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus 
Gerrit-MessageType: newchange


Change in libosmocore[master]: ns2: remove obsolete type GPRS_NS2_LL_E1

2020-11-18 Thread lynxis lazus
lynxis lazus has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21248 )


Change subject: ns2: remove obsolete type GPRS_NS2_LL_E1
..

ns2: remove obsolete type GPRS_NS2_LL_E1

There is already frame relay type GRPS_NS2_LL_FR
to support frame relay.

Change-Id: Iabb4608d91ccb32a07cad67519166dabfba76612
---
M include/osmocom/gprs/gprs_ns2.h
M src/gb/gprs_ns2.c
M src/gb/gprs_ns2_vty.c
3 files changed, 0 insertions(+), 6 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/48/21248/1

diff --git a/include/osmocom/gprs/gprs_ns2.h b/include/osmocom/gprs/gprs_ns2.h
index 2da2eef..5b68f47 100644
--- a/include/osmocom/gprs/gprs_ns2.h
+++ b/include/osmocom/gprs/gprs_ns2.h
@@ -35,7 +35,6 @@
 /*! Osmocom NS link layer types */
 enum gprs_ns2_ll {
GPRS_NS2_LL_UDP,/*!< NS/UDP/IP */
-   GPRS_NS2_LL_E1, /*!< NS/E1 */
GPRS_NS2_LL_FR, /*!< NS/FR */
GPRS_NS2_LL_FR_GRE, /*!< NS/FR/GRE/IP */
 };
diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c
index 25758cf..5e67811 100644
--- a/src/gb/gprs_ns2.c
+++ b/src/gb/gprs_ns2.c
@@ -253,9 +253,6 @@
case GPRS_NS2_LL_FR_GRE:
snprintf(buf, buf_len, "frgre)");
break;
-   case GPRS_NS2_LL_E1:
-   snprintf(buf, buf_len, "e1)");
-   break;
case GPRS_NS2_LL_FR:
snprintf(buf, buf_len, "fr)netif: %s dlci: %s", "hdlcX", 
"unsupported");
break;
diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c
index e63b962..8edb33b 100644
--- a/src/gb/gprs_ns2_vty.c
+++ b/src/gb/gprs_ns2_vty.c
@@ -837,7 +837,6 @@
case GPRS_NS2_LL_FR:
break;
case GPRS_NS2_LL_FR_GRE:
-   case GPRS_NS2_LL_E1:
continue;
}

@@ -888,7 +887,6 @@
break;
}
case GPRS_NS2_LL_FR_GRE:
-   case GPRS_NS2_LL_E1:
continue;
}
}

--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21248
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Iabb4608d91ccb32a07cad67519166dabfba76612
Gerrit-Change-Number: 21248
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus 
Gerrit-MessageType: newchange


Change in libosmocore[master]: ns2: move link layer type into NSE

2020-11-18 Thread lynxis lazus
lynxis lazus has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21247 )


Change subject: ns2: move link layer type into NSE
..

ns2: move link layer type into NSE

Even it was in theory possible to mix NS-VC ll types within
a NSE. This is an unrealistic configuration.
Further more to select the correct load sharing mechanism
the NSE must know the correct link layer.

Change-Id: I18dfd40a2429cd61b7c4a3dad5f226c64296f7d8
---
M include/osmocom/gprs/gprs_ns2.h
M src/gb/gprs_ns2.c
M src/gb/gprs_ns2_fr.c
M src/gb/gprs_ns2_frgre.c
M src/gb/gprs_ns2_internal.h
M src/gb/gprs_ns2_udp.c
M src/gb/gprs_ns2_vty.c
7 files changed, 22 insertions(+), 30 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/21247/1

diff --git a/include/osmocom/gprs/gprs_ns2.h b/include/osmocom/gprs/gprs_ns2.h
index 70b4bca..2da2eef 100644
--- a/include/osmocom/gprs/gprs_ns2.h
+++ b/include/osmocom/gprs/gprs_ns2.h
@@ -139,7 +139,8 @@
 int gprs_ns2_nse_foreach_nsvc(struct gprs_ns2_nse *nse,
  gprs_ns2_foreach_nsvc_cb cb, void *cb_data);
 struct gprs_ns2_nse *gprs_ns2_nse_by_nsei(struct gprs_ns2_inst *nsi, uint16_t 
nsei);
-struct gprs_ns2_nse *gprs_ns2_create_nse(struct gprs_ns2_inst *nsi, uint16_t 
nsei);
+struct gprs_ns2_nse *gprs_ns2_create_nse(struct gprs_ns2_inst *nsi, uint16_t 
nsei,
+enum gprs_ns2_ll linklayer);
 uint16_t gprs_ns2_nse_nsei(struct gprs_ns2_nse *nse);
 void gprs_ns2_free_nse(struct gprs_ns2_nse *nse);
 void gprs_ns2_free_nses(struct gprs_ns2_inst *nsi);
diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c
index 004d0ad..25758cf 100644
--- a/src/gb/gprs_ns2.c
+++ b/src/gb/gprs_ns2.c
@@ -226,7 +226,7 @@
if (!buf_len)
return NULL;

-   switch (nsvc->ll) {
+   switch (nsvc->nse->ll) {
case GPRS_NS2_LL_UDP:
if (!gprs_ns2_is_ip_bind(nsvc->bind)) {
buf[0] = '\0';
@@ -392,15 +392,11 @@
/* signalling */
nsvc = ns2_load_sharing_signal(nse);
} else {
-   enum gprs_ns2_ll ll;
-
/* data with load sharing parameter */
if (llist_empty(>nsvc))
return NULL;
-   nsvc = llist_first_entry(>nsvc, struct gprs_ns2_vc, list);
-   ll = nsvc->ll;

-   switch (ll) {
+   switch (nse->ll) {
case GPRS_NS2_LL_FR:
nsvc = ns2_load_sharing_modulor(nse, bvci, 
link_selector);
break;
@@ -671,7 +667,7 @@
  *  \param[in] nsi NS instance in which to create NS Entity
  *  \param[in] nsei NS Entity Identifier of to-be-created NSE
  *  \returns newly-allocated NS-E in successful case; NULL on error */
-struct gprs_ns2_nse *gprs_ns2_create_nse(struct gprs_ns2_inst *nsi, uint16_t 
nsei)
+struct gprs_ns2_nse *gprs_ns2_create_nse(struct gprs_ns2_inst *nsi, uint16_t 
nsei, enum gprs_ns2_ll linklayer)
 {
struct gprs_ns2_nse *nse;

@@ -685,6 +681,7 @@
if (!nse)
return NULL;

+   nse->ll = linklayer;
nse->nsei = nsei;
nse->nsi = nsi;
nse->first = true;
@@ -840,7 +837,7 @@
return GPRS_NS2_CS_SKIPPED;
}

-   nse = gprs_ns2_create_nse(bind->nsi, nsei);
+   nse = gprs_ns2_create_nse(bind->nsi, nsei, bind->ll);
if (!nse) {
return GPRS_NS2_CS_ERROR;
}
@@ -850,8 +847,6 @@
if (!nsvc)
return GPRS_NS2_CS_SKIPPED;

-   nsvc->ll = GPRS_NS2_LL_UDP;
-
nsvci = tlvp_val16be(, NS_IE_VCI);
nsvc->nsvci = nsvci;
nsvc->nsvci_is_valid = true;
@@ -921,7 +916,7 @@
struct gprs_ns2_nse *nse = gprs_ns2_nse_by_nsei(bind->nsi, nsei);

if (!nse) {
-   nse = gprs_ns2_create_nse(bind->nsi, nsei);
+   nse = gprs_ns2_create_nse(bind->nsi, nsei, GPRS_NS2_LL_UDP);
if (!nse)
return NULL;
}
@@ -942,7 +937,7 @@
struct gprs_ns2_vc *nsvc;

if (!nse) {
-   nse = gprs_ns2_create_nse(bind->nsi, nsei);
+   nse = gprs_ns2_create_nse(bind->nsi, nsei, GPRS_NS2_LL_UDP);
if (!nse)
return -1;
}
diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c
index 40ea64c..4eb75fd 100644
--- a/src/gb/gprs_ns2_fr.c
+++ b/src/gb/gprs_ns2_fr.c
@@ -390,6 +390,7 @@
return -ENOSPC;

bind->driver = _driver_fr;
+   bind->ll = GPRS_NS2_LL_FR;
bind->send_vc = fr_vc_sendmsg;
bind->free_vc = free_vc;
bind->dump_vty = dump_vty;
@@ -502,7 +503,7 @@
struct priv_vc *priv = NULL;
struct gprs_ns2_nse *nse = gprs_ns2_nse_by_nsei(bind->nsi, nsei);
if (!nse) {
-   nse = 

Change in libosmocore[master]: ns2: move LL into public api

2020-11-18 Thread lynxis lazus
lynxis lazus has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21246 )


Change subject: ns2: move LL into public api
..

ns2: move LL into public api

Also fix prefix. GPRS_NS -> GPRS_NS2.
In preparation to move LL into upper layer.

Change-Id: I3b5e0d51ce69b095095e5160ca0cf0d4534db1b8
---
M include/osmocom/gprs/gprs_ns2.h
M src/gb/gprs_ns2.c
M src/gb/gprs_ns2_fr.c
M src/gb/gprs_ns2_internal.h
M src/gb/gprs_ns2_udp.c
M src/gb/gprs_ns2_vty.c
6 files changed, 37 insertions(+), 37 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/21246/1

diff --git a/include/osmocom/gprs/gprs_ns2.h b/include/osmocom/gprs/gprs_ns2.h
index c13d315..70b4bca 100644
--- a/include/osmocom/gprs/gprs_ns2.h
+++ b/include/osmocom/gprs/gprs_ns2.h
@@ -32,6 +32,14 @@
NS2_VC_MODE_ALIVE,
 };

+/*! Osmocom NS link layer types */
+enum gprs_ns2_ll {
+   GPRS_NS2_LL_UDP,/*!< NS/UDP/IP */
+   GPRS_NS2_LL_E1, /*!< NS/E1 */
+   GPRS_NS2_LL_FR, /*!< NS/FR */
+   GPRS_NS2_LL_FR_GRE, /*!< NS/FR/GRE/IP */
+};
+
 /*! Osmocom NS primitives according to 48.016 5.2 Service primitves */
 enum gprs_ns2_prim {
PRIM_NS_UNIT_DATA,
diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c
index 602bca7..004d0ad 100644
--- a/src/gb/gprs_ns2.c
+++ b/src/gb/gprs_ns2.c
@@ -227,7 +227,7 @@
return NULL;

switch (nsvc->ll) {
-   case GPRS_NS_LL_UDP:
+   case GPRS_NS2_LL_UDP:
if (!gprs_ns2_is_ip_bind(nsvc->bind)) {
buf[0] = '\0';
return buf;
@@ -250,13 +250,13 @@
 local_str.ip, local_str.port,
 remote_str.ip, remote_str.port);
break;
-   case GPRS_NS_LL_FR_GRE:
+   case GPRS_NS2_LL_FR_GRE:
snprintf(buf, buf_len, "frgre)");
break;
-   case GPRS_NS_LL_E1:
+   case GPRS_NS2_LL_E1:
snprintf(buf, buf_len, "e1)");
break;
-   case GPRS_NS_LL_FR:
+   case GPRS_NS2_LL_FR:
snprintf(buf, buf_len, "fr)netif: %s dlci: %s", "hdlcX", 
"unsupported");
break;
default:
@@ -392,7 +392,7 @@
/* signalling */
nsvc = ns2_load_sharing_signal(nse);
} else {
-   enum gprs_ns_ll ll;
+   enum gprs_ns2_ll ll;

/* data with load sharing parameter */
if (llist_empty(>nsvc))
@@ -401,7 +401,7 @@
ll = nsvc->ll;

switch (ll) {
-   case GPRS_NS_LL_FR:
+   case GPRS_NS2_LL_FR:
nsvc = ns2_load_sharing_modulor(nse, bvci, 
link_selector);
break;
default:
@@ -850,7 +850,7 @@
if (!nsvc)
return GPRS_NS2_CS_SKIPPED;

-   nsvc->ll = GPRS_NS_LL_UDP;
+   nsvc->ll = GPRS_NS2_LL_UDP;

nsvci = tlvp_val16be(, NS_IE_VCI);
nsvc->nsvci = nsvci;
diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c
index c04a7d1..40ea64c 100644
--- a/src/gb/gprs_ns2_fr.c
+++ b/src/gb/gprs_ns2_fr.c
@@ -523,7 +523,7 @@

nsvc->nsvci = nsvci;
nsvc->nsvci_is_valid = true;
-   nsvc->ll = GPRS_NS_LL_FR;
+   nsvc->ll = GPRS_NS2_LL_FR;

gprs_ns2_vc_fsm_start(nsvc);

diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h
index 78b6d82..2c74bab 100644
--- a/src/gb/gprs_ns2_internal.h
+++ b/src/gb/gprs_ns2_internal.h
@@ -56,14 +56,6 @@
NS_STAT_ALIVE_DELAY,
 };

-/*! Osmocom NS link layer types */
-enum gprs_ns_ll {
-   GPRS_NS_LL_UDP, /*!< NS/UDP/IP */
-   GPRS_NS_LL_E1,  /*!< NS/E1 */
-   GPRS_NS_LL_FR,  /*!< NS/FR */
-   GPRS_NS_LL_FR_GRE,  /*!< NS/FR/GRE/IP */
-};
-
 /*! Osmocom NS2 VC create status */
 enum gprs_ns2_cs {
GPRS_NS2_CS_CREATED, /*!< A NSVC object has been created */
@@ -173,7 +165,7 @@
struct osmo_stat_item_group *statg;

/*! which link-layer are we based on? */
-   enum gprs_ns_ll ll;
+   enum gprs_ns2_ll ll;
enum gprs_ns2_vc_mode mode;

struct osmo_fsm_inst *fi;
diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c
index 26a0483..38c1a16 100644
--- a/src/gb/gprs_ns2_udp.c
+++ b/src/gb/gprs_ns2_udp.c
@@ -391,7 +391,7 @@
priv = nsvc->priv;
priv->remote = *remote;

-   nsvc->ll = GPRS_NS_LL_UDP;
+   nsvc->ll = GPRS_NS2_LL_UDP;

return nsvc;
 }
@@ -403,7 +403,7 @@
 {
struct priv_bind *priv;

-   if (nsvc->ll != GPRS_NS_LL_UDP)
+   if (nsvc->ll != GPRS_NS2_LL_UDP)
return NULL;

if (nsvc->bind->driver != _driver_ip)
@@ -420,7 +420,7 @@
 {
struct priv_vc *priv;

-   if (nsvc->ll != GPRS_NS_LL_UDP)
+   if (nsvc->ll != GPRS_NS2_LL_UDP)

Change in libosmocore[master]: ns2: permit multiple nsvci in one nse in VTY

2020-11-18 Thread lynxis lazus
Hello laforge,

I'd like you to do a code review. Please visit

https://gerrit.osmocom.org/c/libosmocore/+/21245

to review the following change.


Change subject: ns2: permit multiple nsvci in one nse in VTY
..

ns2: permit multiple nsvci in one nse in VTY

Change-Id: I4ad454320d0a03e81b399f55e8bd0ee57402dad0
---
M src/gb/gprs_ns2_vty.c
1 file changed, 56 insertions(+), 45 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/45/21245/1

diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c
index 174f952..28bf0ac 100644
--- a/src/gb/gprs_ns2_vty.c
+++ b/src/gb/gprs_ns2_vty.c
@@ -125,12 +125,14 @@
1,
 };

-static struct ns2_vty_vc *vtyvc_alloc(uint16_t nsei) {
+static struct ns2_vty_vc *vtyvc_alloc(uint16_t nsei, uint16_t nsvci)
+{
struct ns2_vty_vc *vtyvc = talloc_zero(vty_nsi, struct ns2_vty_vc);
if (!vtyvc)
return vtyvc;

vtyvc->nsei = nsei;
+   vtyvc->nsvci = nsvci;

llist_add(>list, );

@@ -145,18 +147,19 @@
talloc_free(vtyvc);
 }

-static struct ns2_vty_vc *vtyvc_by_nsei(uint16_t nsei, bool alloc_missing) {
+static struct ns2_vty_vc *vtyvc_by_nsei_nsvci(uint16_t nsei, uint16_t nsvci, 
bool alloc_missing)
+{
struct ns2_vty_vc *vtyvc;

llist_for_each_entry(vtyvc, , list) {
-   if (vtyvc->nsei == nsei)
+   if (vtyvc->nsei == nsei && vtyvc->nsvci == nsvci)
return vtyvc;
}

if (!alloc_missing)
return NULL;

-   vtyvc = vtyvc_alloc(nsei);
+   vtyvc = vtyvc_alloc(nsei, nsvci);
if (!vtyvc)
return vtyvc;

@@ -164,6 +167,7 @@
return vtyvc;
 }

+
 static int config_write_ns(struct vty *vty)
 {
struct ns2_vty_vc *vtyvc;
@@ -205,36 +209,29 @@
vty_out(vty, " nse %u nsvci %u%s",
vtyvc->nsei, vtyvc->nsvci, VTY_NEWLINE);

-   vty_out(vty, " nse %u remote-role %s%s",
-   vtyvc->nsei, vtyvc->remote_end_is_sgsn ? "sgsn" : "bss",
-   VTY_NEWLINE);
+   vty_out(vty, " nse %u nsvci %u remote-role %s%s", vtyvc->nsei, 
vtyvc->nsvci,
+   vtyvc->remote_end_is_sgsn ? "sgsn" : "bss", 
VTY_NEWLINE);

switch (vtyvc->ll) {
case GPRS_NS_LL_UDP:
-   vty_out(vty, " nse %u encapsulation udp%s", 
vtyvc->nsei, VTY_NEWLINE);
-   vty_out(vty, " nse %u remote-ip %s%s",
-   vtyvc->nsei,
-   vtyvc->remote.ip,
+   vty_out(vty, " nse %u nsvci %u encapsulation udp%s", 
vtyvc->nsei, vtyvc->nsvci,
VTY_NEWLINE);
-   vty_out(vty, " nse %u remote-port %u%s",
-   vtyvc->nsei, vtyvc->remote.port,
-   VTY_NEWLINE);
+   vty_out(vty, " nse %u nsvci %u remote-ip %s%s", 
vtyvc->nsei, vtyvc->nsvci,
+   vtyvc->remote.ip, VTY_NEWLINE);
+   vty_out(vty, " nse %u nsvci %u remote-port %u%s", 
vtyvc->nsei, vtyvc->nsvci,
+   vtyvc->remote.port, VTY_NEWLINE);
break;
case GPRS_NS_LL_FR_GRE:
-   vty_out(vty, " nse %u encapsulation framerelay-gre%s",
-   vtyvc->nsei, VTY_NEWLINE);
-   vty_out(vty, " nse %u remote-ip %s%s",
-   vtyvc->nsei,
-   vtyvc->remote.ip,
-   VTY_NEWLINE);
-   vty_out(vty, " nse %u fr-dlci %u%s",
-   vtyvc->nsei, vtyvc->frdlci,
-   VTY_NEWLINE);
+   vty_out(vty, " nse %u nsvci %u encapsulation 
framerelay-gre%s", vtyvc->nsei,
+   vtyvc->nsvci, VTY_NEWLINE);
+   vty_out(vty, " nse %u nsvci %u remote-ip %s%s", 
vtyvc->nsei, vtyvc->nsvci,
+   vtyvc->remote.ip, VTY_NEWLINE);
+   vty_out(vty, " nse %u nsvci %u fr-dlci %u%s", 
vtyvc->nsei, vtyvc->nsvci,
+   vtyvc->frdlci, VTY_NEWLINE);
break;
case GPRS_NS_LL_FR:
-   vty_out(vty, " nse %u fr %s dlci %u%s",
-   vtyvc->nsei, vtyvc->netif, vtyvc->frdlci,
-   VTY_NEWLINE);
+   vty_out(vty, " nse %u nsvci %u fr %s dlci %u%s", 
vtyvc->nsei, vtyvc->nsvci,
+   vtyvc->netif, vtyvc->frdlci, VTY_NEWLINE);
break;
default:
break;
@@ -389,7 +386,7 @@
const char *name = argv[3];
uint16_t dlci = 

Change in libosmocore[master]: ns2: implement link sharing selector

2020-11-18 Thread lynxis lazus
lynxis lazus has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21244 )


Change subject: ns2: implement link sharing selector
..

ns2: implement link sharing selector

Change-Id: I212fa1a65e8c16cf1e525d1962d5689446c7e49e
---
M include/osmocom/gprs/gprs_ns2.h
M src/gb/gprs_ns2.c
M src/gb/gprs_ns2_internal.h
3 files changed, 138 insertions(+), 15 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/44/21244/1

diff --git a/include/osmocom/gprs/gprs_ns2.h b/include/osmocom/gprs/gprs_ns2.h
index 2a805c2..c13d315 100644
--- a/include/osmocom/gprs/gprs_ns2.h
+++ b/include/osmocom/gprs/gprs_ns2.h
@@ -92,6 +92,7 @@
union {
struct {
enum gprs_ns2_change_ip_endpoint change;
+   uint32_t link_selector;
/* TODO: implement resource distribution
 * add place holder for the link selector */
long long _resource_distribution_placeholder1;
diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c
index 4b32ddf..602bca7 100644
--- a/src/gb/gprs_ns2.c
+++ b/src/gb/gprs_ns2.c
@@ -57,9 +57,7 @@
  * Those mappings are administratively configured.
  *
  * This implementation has the following limitations:
- * - Only one NS-VC for each NSE: No load-sharing function
  * - NSVCI 65535 and 65534 are reserved for internal use
- * - Only UDP is supported as of now, no frame relay support
  * - There are no BLOCK and UNBLOCK timers (yet?)
  *
  * \file gprs_ns2.c */
@@ -303,19 +301,130 @@
return osmo_fsm_inst_state_name(nsvc->fi);
 }

+/* select a signalling NSVC and respect sig_counter
+ * param[out] reset_counter - all counter has to be resetted to their signal 
weight
+ * return the chosen nsvc or NULL
+ */
+static struct gprs_ns2_vc *ns2_load_sharing_signal(
+   struct gprs_ns2_nse *nse)
+{
+   struct gprs_ns2_vc *nsvc = NULL, *last = NULL, *tmp;
+
+   llist_for_each_entry(tmp, >nsvc, list) {
+   if (tmp->sig_weight == 0)
+   continue;
+   if (!gprs_ns2_vc_is_unblocked(tmp))
+   continue;
+   if (tmp->sig_counter == 0) {
+   last = tmp;
+   continue;
+   }
+
+   tmp->sig_counter--;
+   nsvc = tmp;
+   break;
+   }
+
+   /* all counter were zero, but there are valid nsvc */
+   if (!nsvc && last) {
+   llist_for_each_entry(tmp, >nsvc, list) {
+   tmp->sig_counter = tmp->sig_weight;
+   }
+
+   last->sig_counter--;
+   return last;
+   } else {
+   return nsvc;
+   }
+}
+
+/* 4.4.1 Load Sharing function for the Frame Relay Sub-Network */
+static struct gprs_ns2_vc *ns2_load_sharing_modulor(
+   struct gprs_ns2_nse *nse,
+   uint16_t bvci,
+   uint32_t load_selector)
+{
+   struct gprs_ns2_vc *tmp;
+   uint32_t mod = (bvci + load_selector) % nse->nsvc_data_count;
+   uint32_t i = 0;
+
+   llist_for_each_entry(tmp, >nsvc, list) {
+   if (!gprs_ns2_vc_is_unblocked(tmp))
+   continue;
+   if (tmp->data_weight == 0)
+   continue;
+
+   if (i == mod)
+   return tmp;
+   i++;
+   }
+
+   return NULL;
+}
+
+/* pick the first available data NSVC - no load sharing */
+struct gprs_ns2_vc *ns2_load_sharing_first(struct gprs_ns2_nse *nse)
+{
+   struct gprs_ns2_vc *nsvc = NULL, *tmp;
+
+   llist_for_each_entry(tmp, >nsvc, list) {
+   if (!gprs_ns2_vc_is_unblocked(tmp))
+   continue;
+   if (tmp->data_weight == 0)
+   continue;
+
+   nsvc = tmp;
+   break;
+   }
+
+   return nsvc;
+}
+
+
+static struct gprs_ns2_vc *ns2_load_sharing(
+   struct gprs_ns2_nse *nse,
+   uint16_t bvci,
+   uint32_t link_selector)
+{
+   struct gprs_ns2_vc *nsvc = NULL;
+
+   if (bvci == 0) {
+   /* signalling */
+   nsvc = ns2_load_sharing_signal(nse);
+   } else {
+   enum gprs_ns_ll ll;
+
+   /* data with load sharing parameter */
+   if (llist_empty(>nsvc))
+   return NULL;
+   nsvc = llist_first_entry(>nsvc, struct gprs_ns2_vc, list);
+   ll = nsvc->ll;
+
+   switch (ll) {
+   case GPRS_NS_LL_FR:
+   nsvc = ns2_load_sharing_modulor(nse, bvci, 
link_selector);
+   break;
+   default:
+   nsvc = ns2_load_sharing_first(nse);
+   break;
+   }
+   }
+
+   return nsvc;
+}
+
 

Change in libosmocore[master]: ns2: check if ns_vc_alloc() fails in bind_connect()

2020-11-18 Thread lynxis lazus
lynxis lazus has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21242 )


Change subject: ns2: check if ns_vc_alloc() fails in bind_connect()
..

ns2: check if ns_vc_alloc() fails in bind_connect()

Change-Id: I82c984b9808451a72a62ff03b0495a1d09473e1c
---
M src/gb/gprs_ns2_udp.c
1 file changed, 3 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/42/21242/1

diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c
index 0676314..26a0483 100644
--- a/src/gb/gprs_ns2_udp.c
+++ b/src/gb/gprs_ns2_udp.c
@@ -379,6 +379,9 @@
struct priv_vc *priv;

nsvc = ns2_vc_alloc(bind, nse, true);
+   if (!nsvc)
+   return NULL;
+
nsvc->priv = talloc_zero(bind, struct priv_vc);
if (!nsvc->priv) {
gprs_ns2_free_nsvc(nsvc);

--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21242
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I82c984b9808451a72a62ff03b0495a1d09473e1c
Gerrit-Change-Number: 21242
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus 
Gerrit-MessageType: newchange


Change in libosmocore[master]: ns2: Add a function to set the NSVC FSM back to unconfigured

2020-11-18 Thread lynxis lazus
lynxis lazus has posted comments on this change. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21231 )

Change subject: ns2: Add a function to set the NSVC FSM back to unconfigured
..


Patch Set 2: Code-Review+1

(1 comment)

I'm unsure if it's better this way or try to reconfigure the NS2 layer.

https://gerrit.osmocom.org/c/libosmocore/+/21231/2/src/gb/gprs_ns2_vc_fsm.c
File src/gb/gprs_ns2_vc_fsm.c:

https://gerrit.osmocom.org/c/libosmocore/+/21231/2/src/gb/gprs_ns2_vc_fsm.c@129
PS2, Line 129:  {GPRS_NS2_EV_FORCE_UNCONFIGURED, "FORCE_UNCONFIGURED"},
formatting.



--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21231
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: If96d56b19959372af4eba009661be19e985b4d51
Gerrit-Change-Number: 21231
Gerrit-PatchSet: 2
Gerrit-Owner: daniel 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: lynxis lazus 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 22:40:49 +
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in libosmocore[master]: ns2: Split initiater into init_reset and init_block

2020-11-18 Thread lynxis lazus
lynxis lazus has posted comments on this change. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21240 )

Change subject: ns2: Split initiater into init_reset and init_block
..


Patch Set 1:

Why do we need it?


--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21240
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Iff5aff0cf8d19d9c718dd11c4e731ced2aeb16ba
Gerrit-Change-Number: 21240
Gerrit-PatchSet: 1
Gerrit-Owner: daniel 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-CC: lynxis lazus 
Gerrit-Comment-Date: Wed, 18 Nov 2020 22:36:17 +
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment


Change in osmo-sgsn[master]: gbproxy: Pass TLLI as LSP towards NS to facilitate load sharing

2020-11-18 Thread lynxis lazus
lynxis lazus has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-sgsn/+/21228 )

Change subject: gbproxy: Pass TLLI as LSP towards NS to facilitate load sharing
..


Patch Set 1: Code-Review+2


--
To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21228
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-sgsn
Gerrit-Branch: master
Gerrit-Change-Id: I6aef26c126b330a393fc2be5f558b6d5f1d9f7f4
Gerrit-Change-Number: 21228
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: lynxis lazus 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 22:23:28 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in osmo-ci[master]: ansible: add role for 'podman'

2020-11-18 Thread laforge
Hello pespin,

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

https://gerrit.osmocom.org/c/osmo-ci/+/21241

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

Change subject: ansible: add role for 'podman'
..

ansible: add role for 'podman'

podman has one particularly interesting feature which docker
rejected years ago: The ability to run a container in a pre-existing
namespace.  This is quite useful for some of our test setups,
particularly those that involve hdlc net-devices

Change-Id: I4b14599f39c07ec83fa4222f9d040d443caae3e6
---
A ansible/roles/podman/tasks/debian.yml
A ansible/roles/podman/tasks/main.yml
2 files changed, 40 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/41/21241/3
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/21241
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I4b14599f39c07ec83fa4222f9d040d443caae3e6
Gerrit-Change-Number: 21241
Gerrit-PatchSet: 3
Gerrit-Owner: laforge 
Gerrit-Reviewer: pespin 
Gerrit-MessageType: newpatchset


Change in osmo-ci[master]: ansible: add role for 'podman'

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-ci/+/21241 )

Change subject: ansible: add role for 'podman'
..


Patch Set 2: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/21241
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I4b14599f39c07ec83fa4222f9d040d443caae3e6
Gerrit-Change-Number: 21241
Gerrit-PatchSet: 2
Gerrit-Owner: laforge 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 21:07:57 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in osmo-ttcn3-hacks[master]: Reset nsvc to SGSN before each test

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21233 )

Change subject: Reset nsvc to SGSN before each test
..


Patch Set 3: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21233
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ibf9c75b4066b1aad5fbbe2f35087a3f9f1a39743
Gerrit-Change-Number: 21233
Gerrit-PatchSet: 3
Gerrit-Owner: daniel 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 21:06:44 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in libosmocore[master]: ns2: Split initiater into init_reset and init_block

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21240 )

Change subject: ns2: Split initiater into init_reset and init_block
..


Patch Set 1: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21240
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Iff5aff0cf8d19d9c718dd11c4e731ced2aeb16ba
Gerrit-Change-Number: 21240
Gerrit-PatchSet: 1
Gerrit-Owner: daniel 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 21:06:25 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in libosmocore[master]: ns2: Add a function to set the NSVC FSM back to unconfigured

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21231 )

Change subject: ns2: Add a function to set the NSVC FSM back to unconfigured
..


Patch Set 2: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21231
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: If96d56b19959372af4eba009661be19e985b4d51
Gerrit-Change-Number: 21231
Gerrit-PatchSet: 2
Gerrit-Owner: daniel 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 21:05:44 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in libosmocore[master]: ns2: Add a VTY command to reset NSVC FSM

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21232 )

Change subject: ns2: Add a VTY command to reset NSVC FSM
..


Patch Set 3: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21232
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I83b9cd7381c25da0e8aa847038a2d422c8dd63cf
Gerrit-Change-Number: 21232
Gerrit-PatchSet: 3
Gerrit-Owner: daniel 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 21:03:50 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in docker-playground[master]: common: Introduce OSMOCOM_REPO_MIRROR param

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/docker-playground/+/21239 )

Change subject: common: Introduce OSMOCOM_REPO_MIRROR param
..


Patch Set 1:

> Patch Set 1:
>
> wouldnt it have made sense to specify a default value for the variable, so 
> that building withou tany explicit build-arg still works?

The default value is in Makefile.am, so if you build with make it works out of 
the box. Default value in Dockerfile is only needed if one attempts to build 
directly from it. I can add it to each Dockerfile if you prefer, but I thought 
it was going to be confusing since anyway that value is not used because a 
default value is pssed through Makefile.


--
To view, visit https://gerrit.osmocom.org/c/docker-playground/+/21239
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: docker-playground
Gerrit-Branch: master
Gerrit-Change-Id: I8010b08f3dabacfb3c13a44eece6c7a490e0742e
Gerrit-Change-Number: 21239
Gerrit-PatchSet: 1
Gerrit-Owner: pespin 
Gerrit-CC: laforge 
Gerrit-Comment-Date: Wed, 18 Nov 2020 21:02:53 +
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment


Change in osmo-ci[master]: ansible: add role for 'podman'

2020-11-18 Thread laforge
laforge has uploaded a new patch set (#2). ( 
https://gerrit.osmocom.org/c/osmo-ci/+/21241 )

Change subject: ansible: add role for 'podman'
..

ansible: add role for 'podman'

podman has one particularly interesting feature which docker
rejected years ago: The ability to run a container in a pre-existing
namespace.  This is quite useful for some of our test setups,
particularly those that involve hdlc net-devices

Change-Id: I4b14599f39c07ec83fa4222f9d040d443caae3e6
---
A ansible/roles/podman/tasks/debian.yml
A ansible/roles/podman/tasks/main.yml
2 files changed, 39 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/41/21241/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/21241
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I4b14599f39c07ec83fa4222f9d040d443caae3e6
Gerrit-Change-Number: 21241
Gerrit-PatchSet: 2
Gerrit-Owner: laforge 
Gerrit-MessageType: newpatchset


Change in osmo-ci[master]: ansible: add role for 'podman'

2020-11-18 Thread laforge
laforge has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ci/+/21241 )


Change subject: ansible: add role for 'podman'
..

ansible: add role for 'podman'

podman has one particularly interesting feature which docker
rejected years ago: The ability to run a container in a pre-existing
namespace.  This is quite useful for some of our test setups,
particularly those that involve hdlc net-devices

Change-Id: I4b14599f39c07ec83fa4222f9d040d443caae3e6
---
A ansible/roles/podman/tasks/debian.yml
A ansible/roles/podman/tasks/main.yml
2 files changed, 38 insertions(+), 0 deletions(-)



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

diff --git a/ansible/roles/podman/tasks/debian.yml 
b/ansible/roles/podman/tasks/debian.yml
new file mode 100644
index 000..eafea8f
--- /dev/null
+++ b/ansible/roles/podman/tasks/debian.yml
@@ -0,0 +1,31 @@
+---
+
+- name: add apt https support
+  apt:
+cache_valid_time: 3600
+update_cache: yes
+pkg:
+  - apt-transport-https
+  - gnupg
+  - cron
+  - ca-certificates
+  when: ansible_distribution_major_version < 11
+
+- name: add docker gpg key to apt keyring
+  apt_key:
+id: 2472D6D0D2F66AF87ABA8DA34D64390375060AA4
+url: 
https://ftp.uni-stuttgart.de/opensuse/repositories/devel:/kubic:/libcontainers:/stable/Debian_{{
 ansible_distribution_version }}/Release.key
+  when: ansible_distribution_major_version < 11
+
+- apt_repository:
+repo: "deb 
https://ftp.uni-stuttgart.de/opensuse/repositories/devel:/kubic:/libcontainers:/stable/Debian_{{
 ansible_distribution_version }}/ /"
+state: present
+update_cache: yes
+  when: ansible_distribution_major_version < 11
+
+- name: install podman
+  apt:
+pkg:
+  - podman
+  - runc
+  - buildah
diff --git a/ansible/roles/podman/tasks/main.yml 
b/ansible/roles/podman/tasks/main.yml
new file mode 100644
index 000..049f5c2
--- /dev/null
+++ b/ansible/roles/podman/tasks/main.yml
@@ -0,0 +1,7 @@
+---
+
+- name: Include tasks for Debian
+  include_tasks: debian.yml
+  when: (ansible_distribution in ['Debian', 'Raspbian'])
+
+# TODO: add other distributions below

--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/21241
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I4b14599f39c07ec83fa4222f9d040d443caae3e6
Gerrit-Change-Number: 21241
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-MessageType: newchange


Change in osmo-ttcn3-hacks[master]: Reset nsvc to SGSN before each test

2020-11-18 Thread daniel
Hello Jenkins Builder, pespin,

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

https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21233

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

Change subject: Reset nsvc to SGSN before each test
..

Reset nsvc to SGSN before each test

Change-Id: Ibf9c75b4066b1aad5fbbe2f35087a3f9f1a39743
Related: SYS#5002
Depends: I83b9cd7381c25da0e8aa847038a2d422c8dd63cf (libosmocore)
---
M gbproxy/GBProxy_Tests.ttcn
1 file changed, 1 insertion(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/33/21233/3
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21233
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ibf9c75b4066b1aad5fbbe2f35087a3f9f1a39743
Gerrit-Change-Number: 21233
Gerrit-PatchSet: 3
Gerrit-Owner: daniel 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-MessageType: newpatchset


Change in libosmocore[master]: ns2: Split initiater into init_reset and init_block

2020-11-18 Thread daniel
daniel has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21240 )


Change subject: ns2: Split initiater into init_reset and init_block
..

ns2: Split initiater into init_reset and init_block

Change-Id: Iff5aff0cf8d19d9c718dd11c4e731ced2aeb16ba
---
M src/gb/gprs_ns2_vc_fsm.c
1 file changed, 27 insertions(+), 20 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/40/21240/1

diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c
index 0d30f12..0dcaf5e 100644
--- a/src/gb/gprs_ns2_vc_fsm.c
+++ b/src/gb/gprs_ns2_vc_fsm.c
@@ -55,9 +55,10 @@
struct gprs_ns2_vc *nsvc;
/* how often the timer was triggered */
int N;
-   /* The initiater is responsible to UNBLOCK the VC. The BSS is usually 
the initiater.
+   /* The initiator is responsible to UNBLOCK the VC. The BSS is usually 
the initiator.
 * It can change while runtime. The side which blocks an unblocked 
side.*/
-   bool initiater;
+   bool init_block;
+   bool init_reset;

/* the alive counter is present in all states */
struct {
@@ -241,7 +242,7 @@
if (old_state != GPRS_NS2_ST_RESET)
priv->N = 0;

-   if (priv->initiater)
+   if (priv->init_reset)
ns2_tx_reset(priv->nsvc, NS_CAUSE_OM_INTERVENTION);

stop_test_procedure(priv);
@@ -253,7 +254,7 @@
struct gprs_ns2_inst *nsi = ns_inst_from_fi(fi);
struct gprs_ns2_vc_priv *priv = fi->priv;

-   if (priv->initiater) {
+   if (priv->init_reset) {
switch (event) {
case GPRS_NS2_EV_RESET_ACK:
osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_BLOCKED,
@@ -279,7 +280,7 @@
if (old_state != GPRS_NS2_ST_BLOCKED)
priv->N = 0;

-   if (priv->initiater)
+   if (priv->init_block)
ns2_tx_unblock(priv->nsvc);

start_test_procedure(priv);
@@ -289,7 +290,7 @@
 {
struct gprs_ns2_vc_priv *priv = fi->priv;

-   if (priv->initiater) {
+   if (priv->init_block) {
switch (event) {
case GPRS_NS2_EV_BLOCK:
/* TODO: BLOCK is a UNBLOCK_NACK */
@@ -331,7 +332,7 @@

switch (event) {
case GPRS_NS2_EV_BLOCK:
-   priv->initiater = false;
+   priv->init_block = false;
ns2_tx_block_ack(priv->nsvc);
osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_BLOCKED,
0, 2);
@@ -419,10 +420,10 @@
struct gprs_ns2_inst *nsi = ns_inst_from_fi(fi);
struct gprs_ns2_vc_priv *priv = fi->priv;

-   if (priv->initiater) {
-   /* PCU timeouts */
-   switch (fi->state) {
-   case GPRS_NS2_ST_RESET:
+   /* PCU timeouts */
+   switch (fi->state) {
+   case GPRS_NS2_ST_RESET:
+   if (priv->init_reset) {
priv->N++;
if (priv->N <= nsi->timeout[NS_TOUT_TNS_RESET_RETRIES]) 
{
osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_RESET, 
nsi->timeout[NS_TOUT_TNS_RESET], 0);
@@ -430,16 +431,20 @@
priv->N = 0;
osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_RESET, 
nsi->timeout[NS_TOUT_TNS_RESET], 0);
}
-   break;
-   case GPRS_NS2_ST_BLOCKED:
+   }
+   break;
+   case GPRS_NS2_ST_BLOCKED:
+   if (priv->init_block) {
priv->N++;
if (priv->N <= nsi->timeout[NS_TOUT_TNS_BLOCK_RETRIES]) 
{
osmo_fsm_inst_state_chg(fi, 
GPRS_NS2_ST_BLOCKED, nsi->timeout[NS_TOUT_TNS_BLOCK], 0);
} else {
osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_RESET, 
nsi->timeout[NS_TOUT_TNS_RESET], 0);
}
-   break;
-   case GPRS_NS2_ST_ALIVE:
+   }
+   break;
+   case GPRS_NS2_ST_ALIVE:
+   if (priv->init_reset) {
priv->N++;
if (priv->N <= nsi->timeout[NS_TOUT_TNS_ALIVE_RETRIES]) 
{
osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_ALIVE, 
0, 0);
@@ -449,6 +454,7 @@
}
break;
}
+   break;
}
return 0;
 }
@@ -502,7 +508,7 @@

/* move the FSM into reset */
if (fi->state != GPRS_NS2_ST_RESET) {
-   priv->initiater = false;
+   priv->init_reset = false;
osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_RESET, 
nsi->timeout[NS_TOUT_TNS_RESET], NS_TOUT_TNS_RESET);
}
/* pass 

Change in libosmocore[master]: ns2: Add a function to set the NSVC FSM back to unconfigured

2020-11-18 Thread daniel
Hello Jenkins Builder,

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

https://gerrit.osmocom.org/c/libosmocore/+/21231

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

Change subject: ns2: Add a function to set the NSVC FSM back to unconfigured
..

ns2: Add a function to set the NSVC FSM back to unconfigured

The function gprs_ns2_vs_force_unconfigured() resets the NSVC state back
to the initial value when it was first started. This can be useful for
testing.

Related: SYS#5002
Change-Id: If96d56b19959372af4eba009661be19e985b4d51
---
M src/gb/gprs_ns2_internal.h
M src/gb/gprs_ns2_vc_fsm.c
2 files changed, 29 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/31/21231/2
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21231
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: If96d56b19959372af4eba009661be19e985b4d51
Gerrit-Change-Number: 21231
Gerrit-PatchSet: 2
Gerrit-Owner: daniel 
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin 
Gerrit-MessageType: newpatchset


Change in libosmocore[master]: ns2: Add a VTY command to reset NSVC FSM

2020-11-18 Thread daniel
Hello Jenkins Builder, pespin,

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

https://gerrit.osmocom.org/c/libosmocore/+/21232

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

Change subject: ns2: Add a VTY command to reset NSVC FSM
..

ns2: Add a VTY command to reset NSVC FSM

Mainly useful for testing so implemented as a hidden command

Change-Id: I83b9cd7381c25da0e8aa847038a2d422c8dd63cf
Related: SYS#5002
---
M src/gb/gprs_ns2_vty.c
1 file changed, 33 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/32/21232/3
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21232
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I83b9cd7381c25da0e8aa847038a2d422c8dd63cf
Gerrit-Change-Number: 21232
Gerrit-PatchSet: 3
Gerrit-Owner: daniel 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-MessageType: newpatchset


Change in docker-playground[master]: common: Introduce OSMOCOM_REPO_MIRROR param

2020-11-18 Thread laforge
laforge has posted comments on this change. ( 
https://gerrit.osmocom.org/c/docker-playground/+/21239 )

Change subject: common: Introduce OSMOCOM_REPO_MIRROR param
..


Patch Set 1:

wouldnt it have made sense to specify a default value for the variable, so that 
building withou tany explicit build-arg still works?


--
To view, visit https://gerrit.osmocom.org/c/docker-playground/+/21239
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: docker-playground
Gerrit-Branch: master
Gerrit-Change-Id: I8010b08f3dabacfb3c13a44eece6c7a490e0742e
Gerrit-Change-Number: 21239
Gerrit-PatchSet: 1
Gerrit-Owner: pespin 
Gerrit-CC: laforge 
Gerrit-Comment-Date: Wed, 18 Nov 2020 17:11:01 +
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment


Change in docker-playground[master]: common: Automatize UPSTREAM_DISTRO name based on image name

2020-11-18 Thread pespin
pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/docker-playground/+/21238 )


Change subject: common: Automatize UPSTREAM_DISTRO name based on image name
..

common: Automatize UPSTREAM_DISTRO name based on image name

Similar to what is already done with DISTRO, which points to given image
of ours based on name. This time we do the same with upstream images,
such as debian:stretch or centos:centos8.

This way, for instance calling docker_images_require
"osmo-bsc-latest-centos8" would try to build the
osmo-bsc-latest/Dockerfile file starting from a centos8 image.

Change-Id: I33cb21aa024396974559fd98f9f3c64e2c351eda
---
M centos-repo-install-test/Dockerfile
M centos8-build/Dockerfile
M debian-repo-install-test/Dockerfile
M debian-stretch-build/Dockerfile
M debian-stretch-titan/Dockerfile
M jenkins-common.sh
M make/Makefile
M osmo-bsc-latest/Dockerfile
M osmo-bts-latest/Dockerfile
M osmo-cn-latest/Dockerfile
M osmo-ggsn-latest/Dockerfile
M osmo-hlr-latest/Dockerfile
M osmo-hnbgw-latest/Dockerfile
M osmo-mgw-latest/Dockerfile
M osmo-msc-latest/Dockerfile
M osmo-nitb-latest/Dockerfile
M osmo-pcu-latest/Dockerfile
M osmo-remsim-latest/Dockerfile
M osmo-sgsn-latest/Dockerfile
M osmo-sip-latest/Dockerfile
M osmo-stp-latest/Dockerfile
21 files changed, 61 insertions(+), 26 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/docker-playground 
refs/changes/38/21238/1

diff --git a/centos-repo-install-test/Dockerfile 
b/centos-repo-install-test/Dockerfile
index 3f53650..5cbddb0 100644
--- a/centos-repo-install-test/Dockerfile
+++ b/centos-repo-install-test/Dockerfile
@@ -1,6 +1,7 @@
 ARGUSER
 ARGREGISTRY=docker.io
-FROM   ${REGISTRY}/centos:centos8
+ARGUPSTREAM_DISTRO=centos:centos8
+FROM   ${REGISTRY}/${UPSTREAM_DISTRO}

 # dnf-utils: for repoquery
 RUNdnf install -y \
@@ -9,4 +10,3 @@

 # Make additional development libraries available
 RUNyum config-manager --set-enabled PowerTools
-
diff --git a/centos8-build/Dockerfile b/centos8-build/Dockerfile
index 46ce23e..e71e03c 100644
--- a/centos8-build/Dockerfile
+++ b/centos8-build/Dockerfile
@@ -1,5 +1,6 @@
 ARGREGISTRY=docker.io
-FROM   ${REGISTRY}/centos:centos8
+ARGUPSTREAM_DISTRO=centos:centos8
+FROM   ${REGISTRY}/${UPSTREAM_DISTRO}

 # Let package metadata expire after 60 seconds instead of 48 hours
 RUNecho "metadata_expire=60" >> /etc/dnf/dnf.conf && cat /etc/dnf/dnf.conf
diff --git a/debian-repo-install-test/Dockerfile 
b/debian-repo-install-test/Dockerfile
index e718a23..e12da75 100644
--- a/debian-repo-install-test/Dockerfile
+++ b/debian-repo-install-test/Dockerfile
@@ -1,6 +1,7 @@
 ARGUSER
 ARGREGISTRY=docker.io
-FROM   ${REGISTRY}/debian:stretch
+ARGUPSTREAM_DISTRO=debian:stretch
+FROM   ${REGISTRY}/${UPSTREAM_DISTRO}

 COPY   Release.key /tmp/Release.key

diff --git a/debian-stretch-build/Dockerfile b/debian-stretch-build/Dockerfile
index ac52708..96e92de 100644
--- a/debian-stretch-build/Dockerfile
+++ b/debian-stretch-build/Dockerfile
@@ -1,5 +1,6 @@
 ARGREGISTRY=docker.io
-FROM   ${REGISTRY}/debian:stretch
+ARGUPSTREAM_DISTRO=debian:stretch
+FROM   ${REGISTRY}/${UPSTREAM_DISTRO}

 MAINTAINER Harald Welte 

diff --git a/debian-stretch-titan/Dockerfile b/debian-stretch-titan/Dockerfile
index 7420348..01d941e 100644
--- a/debian-stretch-titan/Dockerfile
+++ b/debian-stretch-titan/Dockerfile
@@ -1,5 +1,6 @@
 ARGREGISTRY=docker.io
-FROM   ${REGISTRY}/debian:stretch
+ARGUPSTREAM_DISTRO=debian:stretch
+FROM   ${REGISTRY}/${UPSTREAM_DISTRO}

 MAINTAINER Harald Welte 

diff --git a/jenkins-common.sh b/jenkins-common.sh
index d9e79a4..fdcfd40 100644
--- a/jenkins-common.sh
+++ b/jenkins-common.sh
@@ -12,10 +12,18 @@

 docker_distro_from_image_name() {
case "$1" in
-   osmo-*-centos8) echo "centos8"; ;;
+   osmo-*-centos8) echo "centos8" ;;
+   centos8-*) echo "centos8" ;;
*) echo "debian-stretch" ;;
esac
+}

+docker_upstream_distro_from_image_name() {
+   case "$1" in
+   osmo-*-centos8) echo "centos:centos8"; ;;
+   centos8-*) echo "centos:centos8" ;;
+   *) echo "debian:stretch" ;;
+   esac
 }

 docker_dir_from_image_name() {
@@ -27,15 +35,20 @@

 # Make sure required images are available and build them if necessary.
 # $*: image names (e.g. "debian-stretch-build", "osmo-mgw-master", 
"osmo-mgw-master-centos8")
-#  The images are automatically built from the Dockerfile of the subdir of 
the same name. If there is a
-#  distribution name at the end of the image name (e.g. 
osmo-mgw-master-centos8), it gets removed from the subdir
-#  where the Dockerfile is taken from (e.g. osmo-mgw-master/Dockerfile) 
and DISTRO is passed accordingly
-#  (e.g. DISTRO=centos8). This allows one Dockerfile for multiple 
distributions, without duplicating configs for
-#  each distribution. Dependencies listed in docker_depends() are built 

Change in docker-playground[master]: common: Introduce OSMOCOM_REPO_MIRROR param

2020-11-18 Thread pespin
pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/docker-playground/+/21239 )


Change subject: common: Introduce OSMOCOM_REPO_MIRROR param
..

common: Introduce OSMOCOM_REPO_MIRROR param

This allows easily changing to another osmocom repo base URL if the
default one is down.

Related: OS#4862
Change-Id: I8010b08f3dabacfb3c13a44eece6c7a490e0742e
---
M debian-buster-erlang/Dockerfile
M debian-buster-simtrace2/Dockerfile
M debian-jessie-osmocom/Dockerfile
M debian-stretch-build-dist/Dockerfile
M debian-stretch-jenkins/Dockerfile
M debian-stretch-titan/Dockerfile
M make/Makefile
M osmo-bsc-latest/Dockerfile
M osmo-bsc-master/Dockerfile
M osmo-bts-latest/Dockerfile
M osmo-bts-master/Dockerfile
M osmo-cn-latest/Dockerfile
M osmo-ggsn-latest/Dockerfile
M osmo-ggsn-master/Dockerfile
M osmo-gsm-tester/Dockerfile
M osmo-hlr-latest/Dockerfile
M osmo-hlr-master/Dockerfile
M osmo-hnbgw-latest/Dockerfile
M osmo-hnbgw-master/Dockerfile
M osmo-mgw-latest/Dockerfile
M osmo-mgw-master/Dockerfile
M osmo-msc-latest/Dockerfile
M osmo-msc-master/Dockerfile
M osmo-nitb-latest/Dockerfile
M osmo-nitb-master/Dockerfile
M osmo-pcu-latest/Dockerfile
M osmo-pcu-master/Dockerfile
M osmo-remsim-latest/Dockerfile
M osmo-remsim-master/Dockerfile
M osmo-sgsn-latest/Dockerfile
M osmo-sgsn-master/Dockerfile
M osmo-sip-latest/Dockerfile
M osmo-sip-master/Dockerfile
M osmo-smlc-master/Dockerfile
M osmo-stp-latest/Dockerfile
M osmo-stp-master/Dockerfile
M osmo-uecups-master/Dockerfile
M osmocom-bb-host-master/Dockerfile
38 files changed, 142 insertions(+), 57 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/docker-playground 
refs/changes/39/21239/1

diff --git a/debian-buster-erlang/Dockerfile b/debian-buster-erlang/Dockerfile
index 8ac470f..f680276 100644
--- a/debian-buster-erlang/Dockerfile
+++ b/debian-buster-erlang/Dockerfile
@@ -1,9 +1,11 @@
 ARGREGISTRY=docker.io
 FROM   ${REGISTRY}/debian:buster
+# Arguments used after FROM must be specified again
+ARGOSMOCOM_REPO_MIRROR

 MAINTAINER Harald Welte 

-ARG
OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/latest/Debian_10/;
+ARG
OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_10/"

 # install the erlang vm and rebar (2)
 RUNapt-get update && \
diff --git a/debian-buster-simtrace2/Dockerfile 
b/debian-buster-simtrace2/Dockerfile
index cd1d359..17a6ac8 100644
--- a/debian-buster-simtrace2/Dockerfile
+++ b/debian-buster-simtrace2/Dockerfile
@@ -1,9 +1,11 @@
 ARGUSER
 FROM   $USER/debian-buster-build
+# Arguments used after FROM must be specified again
+ARGOSMOCOM_REPO_MIRROR

 MAINTAINER Harald Welte 

-ARG
OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_10/;
+ARG
OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_10/"

 COPY   Release.key /tmp/Release.key

diff --git a/debian-jessie-osmocom/Dockerfile b/debian-jessie-osmocom/Dockerfile
index 77c223f..239e370 100644
--- a/debian-jessie-osmocom/Dockerfile
+++ b/debian-jessie-osmocom/Dockerfile
@@ -1,9 +1,11 @@
 ARGREGISTRY=docker.io
 FROM   ${REGISTRY}/debian:jessie
+# Arguments used after FROM must be specified again
+ARGOSMOCOM_REPO_MIRROR

 MAINTAINER Harald Welte 

-ARG
OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/;
+ARG
OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_8.0/"

 COPY   Release.key /tmp/Release.key

diff --git a/debian-stretch-build-dist/Dockerfile 
b/debian-stretch-build-dist/Dockerfile
index a1f0290..c742ac4 100644
--- a/debian-stretch-build-dist/Dockerfile
+++ b/debian-stretch-build-dist/Dockerfile
@@ -1,7 +1,9 @@
 ARGUSER
 FROM   $USER/debian-stretch-build
+# Arguments used after FROM must be specified again
+ARGOSMOCOM_REPO_MIRROR

-ARG
OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/latest/Debian_9.0/;
+ARG
OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/"

 COPY   Release.key /tmp/Release.key

diff --git a/debian-stretch-jenkins/Dockerfile 
b/debian-stretch-jenkins/Dockerfile
index c682d9c..2620076 100644
--- a/debian-stretch-jenkins/Dockerfile
+++ b/debian-stretch-jenkins/Dockerfile
@@ -4,6 +4,8 @@
 ARGDEBIAN_VERSION=stretch
 ARGREGISTRY=docker.io
 FROM   ${REGISTRY}/debian:${DEBIAN_VERSION}
+# Arguments used after FROM must be specified again
+ARGOSMOCOM_REPO_MIRROR

 # Make "$DEBIAN_VERSION" available after FROM
 # 
https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact
@@ -153,7 +155,7 @@
 ENV LANG en_US.UTF-8

 # osmo-remsim needs libulfius which is built in osmocom OBS repos:
-ARG
OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/;
+ARG

Change in osmo-bsc[master]: handover_test: add test 32: half used TCH/H on dyn TS

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/21235 )

Change subject: handover_test: add test 32: half used TCH/H on dyn TS
..


Patch Set 2: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/21235
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I3beaa95d12ca0a19d4d1a732f3e22558e68ee29c
Gerrit-Change-Number: 21235
Gerrit-PatchSet: 2
Gerrit-Owner: neels 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 14:46:17 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in osmo-bsc[master]: handover_test: add test 32: half used TCH/H on dyn TS

2020-11-18 Thread neels
Hello Jenkins Builder, pespin,

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

https://gerrit.osmocom.org/c/osmo-bsc/+/21235

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

Change subject: handover_test: add test 32: half used TCH/H on dyn TS
..

handover_test: add test 32: half used TCH/H on dyn TS

Shows undesired behavior of moving a TCH/H from a fully used dyn TS
leading to two half-used dyn TS, rather than moving the half-used dyn TS
that would lead to completely freeing a dyn TS.

Change-Id: I3beaa95d12ca0a19d4d1a732f3e22558e68ee29c
---
M tests/handover/handover_test.c
M tests/testsuite.at
2 files changed, 30 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/35/21235/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/21235
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I3beaa95d12ca0a19d4d1a732f3e22558e68ee29c
Gerrit-Change-Number: 21235
Gerrit-PatchSet: 2
Gerrit-Owner: neels 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-MessageType: newpatchset


Change in osmo-bsc[master]: hodec 2: prefer moving TCH/H from half-used dyn TS

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/21236 )

Change subject: hodec 2: prefer moving TCH/H from half-used dyn TS
..


Patch Set 1: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/21236
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I427dc9faa3790c24119127ae227d8cc802dd50e6
Gerrit-Change-Number: 21236
Gerrit-PatchSet: 1
Gerrit-Owner: neels 
Gerrit-Reviewer: pespin 
Gerrit-CC: Jenkins Builder
Gerrit-Comment-Date: Wed, 18 Nov 2020 14:25:37 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in osmo-bsc[master]: handover_test: add test 32: half used TCH/H on dyn TS

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/21235 )

Change subject: handover_test: add test 32: half used TCH/H on dyn TS
..


Patch Set 1: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/21235
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I3beaa95d12ca0a19d4d1a732f3e22558e68ee29c
Gerrit-Change-Number: 21235
Gerrit-PatchSet: 1
Gerrit-Owner: neels 
Gerrit-Reviewer: pespin 
Gerrit-CC: Jenkins Builder
Gerrit-Comment-Date: Wed, 18 Nov 2020 14:24:27 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in osmo-ttcn3-hacks[master]: deps/Makefile: Require v0.1 of AF_PACKET TestPort

2020-11-18 Thread laforge
laforge has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21237 )

Change subject: deps/Makefile: Require v0.1 of AF_PACKET TestPort
..


Patch Set 1: Code-Review+2


--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21237
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I435d0c09e051e0a3082e8c87807b72ce92117007
Gerrit-Change-Number: 21237
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge 
Gerrit-Comment-Date: Wed, 18 Nov 2020 14:23:48 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in osmo-ttcn3-hacks[master]: deps/Makefile: Require v0.1 of AF_PACKET TestPort

2020-11-18 Thread laforge
laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21237 )

Change subject: deps/Makefile: Require v0.1 of AF_PACKET TestPort
..

deps/Makefile: Require v0.1 of AF_PACKET TestPort

Change-Id: I435d0c09e051e0a3082e8c87807b72ce92117007
---
M deps/Makefile
1 file changed, 1 insertion(+), 1 deletion(-)

Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved



diff --git a/deps/Makefile b/deps/Makefile
index a67c4f8..5435da2 100644
--- a/deps/Makefile
+++ b/deps/Makefile
@@ -112,7 +112,7 @@
 titan.ProtocolModules.SUA_commit=  R.5.A-5-gcf1137a
 titan.ProtocolModules.TCP_commit=  R.3.A-5-g39e5f45
 titan.ProtocolModules.UDP_commit=  R.4.A-5-geea8aa3
-titan.TestPorts.AF_PACKET_commit=  master
+titan.TestPorts.AF_PACKET_commit=  0.1
 titan.TestPorts.Common_Components.Socket-API_commit=   R.6.A-6-gf4380d0
 titan.TestPorts.Common_Components.Abstract_Socket_commit=  R.9.B-4-gbd41994
 titan.TestPorts.HTTPmsg_commit=R.9.B-4-g9a0dfde

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21237
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I435d0c09e051e0a3082e8c87807b72ce92117007
Gerrit-Change-Number: 21237
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge 
Gerrit-MessageType: merged


Change in osmo-ttcn3-hacks[master]: deps/Makefile: Require v0.1 of AF_PACKET TestPort

2020-11-18 Thread laforge
laforge has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21237 )


Change subject: deps/Makefile: Require v0.1 of AF_PACKET TestPort
..

deps/Makefile: Require v0.1 of AF_PACKET TestPort

Change-Id: I435d0c09e051e0a3082e8c87807b72ce92117007
---
M deps/Makefile
1 file changed, 1 insertion(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/37/21237/1

diff --git a/deps/Makefile b/deps/Makefile
index a67c4f8..5435da2 100644
--- a/deps/Makefile
+++ b/deps/Makefile
@@ -112,7 +112,7 @@
 titan.ProtocolModules.SUA_commit=  R.5.A-5-gcf1137a
 titan.ProtocolModules.TCP_commit=  R.3.A-5-g39e5f45
 titan.ProtocolModules.UDP_commit=  R.4.A-5-geea8aa3
-titan.TestPorts.AF_PACKET_commit=  master
+titan.TestPorts.AF_PACKET_commit=  0.1
 titan.TestPorts.Common_Components.Socket-API_commit=   R.6.A-6-gf4380d0
 titan.TestPorts.Common_Components.Abstract_Socket_commit=  R.9.B-4-gbd41994
 titan.TestPorts.HTTPmsg_commit=R.9.B-4-g9a0dfde

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21237
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I435d0c09e051e0a3082e8c87807b72ce92117007
Gerrit-Change-Number: 21237
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-MessageType: newchange


Change in osmo-bsc[master]: hodec 2: prefer moving TCH/H from half-used dyn TS

2020-11-18 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/21236 )


Change subject: hodec 2: prefer moving TCH/H from half-used dyn TS
..

hodec 2: prefer moving TCH/H from half-used dyn TS

Change-Id: I427dc9faa3790c24119127ae227d8cc802dd50e6
---
M src/osmo-bsc/handover_decision_2.c
M tests/handover/handover_test.c
2 files changed, 23 insertions(+), 6 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/36/21236/1

diff --git a/src/osmo-bsc/handover_decision_2.c 
b/src/osmo-bsc/handover_decision_2.c
index 4e54368..9fab1fc 100644
--- a/src/osmo-bsc/handover_decision_2.c
+++ b/src/osmo-bsc/handover_decision_2.c
@@ -1368,6 +1368,17 @@
|| lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH;
 }

+static unsigned int ts_usage_count(struct gsm_bts_trx_ts *ts)
+{
+   struct gsm_lchan *lchan;
+   unsigned int count = 0;
+   ts_for_each_lchan(lchan, ts) {
+   if (lchan_state_is(lchan, LCHAN_ST_ESTABLISHED))
+   count++;
+   }
+   return count;
+}
+
 /* Given two candidates, pick the one that should rather be moved during 
handover.
  * Return the better candidate in out-parameters best_cand and best_avg_db.
  */
@@ -1384,10 +1395,17 @@
goto return_other;

/* The two lchans have identical ratings, prefer picking a dynamic 
timeslot: free PDCH and allow more timeslot
-* type flexibility for further congestion resolution. If both are 
dynamic, it does not matter which one is
-* picked. */
-   if (lchan_is_on_dynamic_ts(other_cand->lchan))
+* type flexibility for further congestion resolution. */
+   if (lchan_is_on_dynamic_ts(other_cand->lchan)) {
+   /* If both are dynamic, prefer one that completely (or to a 
higher degree) frees its timeslot. */
+   if (lchan_is_on_dynamic_ts((*best_cand_p)->lchan)
+   && ts_usage_count((*best_cand_p)->lchan->ts) < 
ts_usage_count(other_cand->lchan->ts))
+   return;
+   /* If both equally satisfy these preferences, it does not 
matter which one is picked.
+* Give slight preference to moving later dyn TS, so that a 
free dyn TS may group with following static
+* PDCH, though this depends on how the user configured the TS 
-- not harmful to do so anyway. */
goto return_other;
+   }

/* keep the same candidate. */
return;
diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c
index 62c01f0..28d87db 100644
--- a/tests/handover/handover_test.c
+++ b/tests/handover/handover_test.c
@@ -1765,10 +1765,9 @@
"congestion-check",
"expect-chan", "0", "1",
"ack-chan",
-   /* Not so good: should move the half-used TCH/H instead of "halving" 
another dyn TS */
-   "expect-ho", "0", "4",
+   "expect-ho", "0", "3",
"ho-complete",
-   "expect-ts-use", "0", "0",  "*", "TCH/F", "TCH/HH", "TCH/H-", "TCH/H-", 
"PDCH", "-", "-",
+   "expect-ts-use", "0", "0",  "*", "TCH/F", "TCH/HH", "PDCH", "TCH/HH", 
"PDCH", "-", "-",
NULL
 };


--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/21236
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I427dc9faa3790c24119127ae227d8cc802dd50e6
Gerrit-Change-Number: 21236
Gerrit-PatchSet: 1
Gerrit-Owner: neels 
Gerrit-MessageType: newchange


Change in osmo-bsc[master]: handover_test: add test 32: half used TCH/H on dyn TS

2020-11-18 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/21235 )


Change subject: handover_test: add test 32: half used TCH/H on dyn TS
..

handover_test: add test 32: half used TCH/H on dyn TS

Shows undesired behavior of moving a TCH/H from a fully used dyn TS leading
to two half-used dyn TS, rather than moving the half-used dyn TS that would
lead to completely freeing a dyn TS.

Change-Id: I3beaa95d12ca0a19d4d1a732f3e22558e68ee29c
---
M tests/handover/handover_test.c
M tests/testsuite.at
2 files changed, 30 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/35/21235/1

diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c
index c9f288f..62c01f0 100644
--- a/tests/handover/handover_test.c
+++ b/tests/handover/handover_test.c
@@ -1749,6 +1749,29 @@
NULL
 };

+static char *test_case_32[] = {
+   "2",
+
+   "Congestion check: favor moving a TCH/H that frees a half-used dyn TS 
completely\n"
+   ,
+   "create-bts", "1", "c+s4", "dyn", "dyn", "dyn", "dyn", "dyn", "-", "-",
+   "set-ts-use", "0", "0",  "*", "PDCH", "TCH/HH", "TCH/H-", "TCH/HH", 
"PDCH", "-", "-",
+   "meas-rep", "0","0","2","1", "30","0", "0",
+   "meas-rep", "0","0","3","0", "30","0", "0",
+   "meas-rep", "0","0","4","0", "30","0", "0",
+   "meas-rep", "0","0","4","1", "30","0", "0",
+   /* pick one to move */
+   "set-min-free", "0", "TCH/H", "6",
+   "congestion-check",
+   "expect-chan", "0", "1",
+   "ack-chan",
+   /* Not so good: should move the half-used TCH/H instead of "halving" 
another dyn TS */
+   "expect-ho", "0", "4",
+   "ho-complete",
+   "expect-ts-use", "0", "0",  "*", "TCH/F", "TCH/HH", "TCH/H-", "TCH/H-", 
"PDCH", "-", "-",
+   NULL
+};
+
 static char **test_cases[] =  {
test_case_0,
test_case_1,
@@ -1782,6 +1805,7 @@
test_case_29,
test_case_30,
test_case_31,
+   test_case_32,
 };

 static const struct log_info_cat log_categories[] = {
diff --git a/tests/testsuite.at b/tests/testsuite.at
index bd6f56f..afff9c5 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -242,3 +242,9 @@
 cat $abs_srcdir/handover/handover_test.ok > expout
 AT_CHECK([$abs_top_builddir/tests/handover/handover_test 31], [], [expout], 
[ignore])
 AT_CLEANUP
+
+AT_SETUP([handover test 32])
+AT_KEYWORDS([handover])
+cat $abs_srcdir/handover/handover_test.ok > expout
+AT_CHECK([$abs_top_builddir/tests/handover/handover_test 32], [], [expout], 
[ignore])
+AT_CLEANUP

--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/21235
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I3beaa95d12ca0a19d4d1a732f3e22558e68ee29c
Gerrit-Change-Number: 21235
Gerrit-PatchSet: 1
Gerrit-Owner: neels 
Gerrit-MessageType: newchange


Change in osmo-bsc[master]: hodec 2: favor moving dyn TS

2020-11-18 Thread neels
Hello Jenkins Builder, pespin,

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

https://gerrit.osmocom.org/c/osmo-bsc/+/21204

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

Change subject: hodec 2: favor moving dyn TS
..

hodec 2: favor moving dyn TS

When a used timeslot gets moved to another timeslot for load balancing, prefer
moving a dynamic timeslot, as illustrated by handover_test.c test 30.

Rationale: freeing up a dynamic timeslot is better for PDCH availability, as
well as for flexibility in timeslots. Test 30 shows that when freeing a static
TCH/F even though a dynamic one with identical ratings is in use, later
handovers to a TCH/H may become impossible, because no more dynamic timeslots
are available to switch to TCH/H. A freed dynamic timeslot allows congestion
resolution to continue and reduce more TCH/F to TCH/H.

The scope of this preference is per-TRX, where the RXLEV ratings used for
picking a target lchan are the same by definition. In other words, this never
overrules picking another lchan that has better RXLEV.

Among lchans on dynamic timeslots that could be moved, this code favors moving
later lchans; mainly because it makes for a simpler condition in the code.

Change-Id: Ic221b8d2687cdec0bf94410c84a4da43853f0900
---
M src/osmo-bsc/handover_decision_2.c
M tests/handover/handover_test.c
2 files changed, 16 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/04/21204/6
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/21204
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ic221b8d2687cdec0bf94410c84a4da43853f0900
Gerrit-Change-Number: 21204
Gerrit-PatchSet: 6
Gerrit-Owner: neels 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-MessageType: newpatchset


Change in osmo-bsc[master]: handover test 30: play through filling up all lchans

2020-11-18 Thread neels
Hello Jenkins Builder, pespin,

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

https://gerrit.osmocom.org/c/osmo-bsc/+/21205

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

Change subject: handover test 30: play through filling up all lchans
..

handover test 30: play through filling up all lchans

Change-Id: I938ef9ebf77a4e72fc525f4f764daf34f17167ef
---
M tests/handover/handover_test.c
1 file changed, 44 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/05/21205/6
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/21205
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I938ef9ebf77a4e72fc525f4f764daf34f17167ef
Gerrit-Change-Number: 21205
Gerrit-PatchSet: 6
Gerrit-Owner: neels 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: neels 
Gerrit-Reviewer: pespin 
Gerrit-MessageType: newpatchset


Change in osmo-bsc[master]: hodec 2: prep: common pick_better_lchan_to_move() function

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/21234 )

Change subject: hodec 2: prep: common pick_better_lchan_to_move() function
..


Patch Set 2: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/21234
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I745dc95cf564dd330295cecb4d64dccebf55163f
Gerrit-Change-Number: 21234
Gerrit-PatchSet: 2
Gerrit-Owner: neels 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 14:02:19 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in osmo-bsc[master]: hodec 2: favor moving dyn TS

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/21204 )

Change subject: hodec 2: favor moving dyn TS
..


Patch Set 5: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/21204
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ic221b8d2687cdec0bf94410c84a4da43853f0900
Gerrit-Change-Number: 21204
Gerrit-PatchSet: 5
Gerrit-Owner: neels 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 14:01:43 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in libosmocore[master]: Add VTY command to reset nsvcs

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21232 )

Change subject: Add VTY command to reset nsvcs
..


Patch Set 2: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21232
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I83b9cd7381c25da0e8aa847038a2d422c8dd63cf
Gerrit-Change-Number: 21232
Gerrit-PatchSet: 2
Gerrit-Owner: daniel 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 13:58:37 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in libosmocore[master]: ns2: Add a function to reset the NSVC

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21231 )

Change subject: ns2: Add a function to reset the NSVC
..


Patch Set 1:

(1 comment)

https://gerrit.osmocom.org/c/libosmocore/+/21231/1/src/gb/gprs_ns2_vc_fsm.c
File src/gb/gprs_ns2_vc_fsm.c:

https://gerrit.osmocom.org/c/libosmocore/+/21231/1/src/gb/gprs_ns2_vc_fsm.c@632
PS1, Line 632:  switch (priv->nsvc->mode) {
> No, the reset event indicates that a RESET PDU has been received. […]
well I didn't mean the existing RESET event (I didn't even know there was one), 
I'm simply saying this kind of code you are adding here looks like should be 
handled inside the FSM code, so you should send an event, name it however you 
want. Of course receiving a RESET and Initiating a RESET are 2 different events.



--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21231
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: If96d56b19959372af4eba009661be19e985b4d51
Gerrit-Change-Number: 21231
Gerrit-PatchSet: 1
Gerrit-Owner: daniel 
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 13:58:06 +
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin 
Comment-In-Reply-To: daniel 
Gerrit-MessageType: comment


Change in osmo-bsc[master]: hodec 2: prep: common pick_better_lchan_to_move() function

2020-11-18 Thread neels
neels has uploaded a new patch set (#2). ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/21234 )

Change subject: hodec 2: prep: common pick_better_lchan_to_move() function
..

hodec 2: prep: common pick_better_lchan_to_move() function

There are four places deciding which of 2 lchans to move, depending on average
db ratings. Upcoming patches will enrich that decision for better handling of
dynamic timeslots, so have one common function for these to avoid code dup.

Change-Id: I745dc95cf564dd330295cecb4d64dccebf55163f
---
M src/osmo-bsc/handover_decision_2.c
1 file changed, 27 insertions(+), 16 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/34/21234/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/21234
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I745dc95cf564dd330295cecb4d64dccebf55163f
Gerrit-Change-Number: 21234
Gerrit-PatchSet: 2
Gerrit-Owner: neels 
Gerrit-CC: Jenkins Builder
Gerrit-MessageType: newpatchset


Change in osmo-bsc[master]: hodec 2: favor moving dyn TS

2020-11-18 Thread neels
Hello Jenkins Builder, pespin,

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

https://gerrit.osmocom.org/c/osmo-bsc/+/21204

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

Change subject: hodec 2: favor moving dyn TS
..

hodec 2: favor moving dyn TS

When a used timeslot gets moved to another timeslot for load balancing, prefer
moving a dynamic timeslot, as illustrated by handover_test.c test 30.

Rationale: freeing up a dynamic timeslot is better for PDCH availability, as
well as for flexibility in timeslots. Test 30 shows that when freeing a static
TCH/F even though a dynamic one with identical ratings is in use, later
handovers to a TCH/H may become impossible, because no more dynamic timeslots
are available to switch to TCH/H. A freed dynamic timeslot allows congestion
resolution to continue and reduce more TCH/F to TCH/H.

The scope of this preference is per-TRX, where the RXLEV ratings used for
picking a target lchan are the same by definition. In other words, this never
overrules picking another lchan that has better RXLEV.

Among lchans on dynamic timeslots that could be moved, this code favors moving
later lchans; mainly because it makes for a simpler condition in the code.

Change-Id: Ic221b8d2687cdec0bf94410c84a4da43853f0900
---
M src/osmo-bsc/handover_decision_2.c
M tests/handover/handover_test.c
2 files changed, 16 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/04/21204/5
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/21204
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ic221b8d2687cdec0bf94410c84a4da43853f0900
Gerrit-Change-Number: 21204
Gerrit-PatchSet: 5
Gerrit-Owner: neels 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-MessageType: newpatchset


Change in osmo-bsc[master]: hodec 2: prep: common pick_better_lchan_to_move() function

2020-11-18 Thread neels
neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/21234 )


Change subject: hodec 2: prep: common pick_better_lchan_to_move() function
..

hodec 2: prep: common pick_better_lchan_to_move() function

There are four places deciding which of to lchans to move, depending on average
db ratings. Upcoming patches will enrich that decision for better handling of
dynamic timeslots, so have one common function for these to avoid code dup.

Change-Id: I745dc95cf564dd330295cecb4d64dccebf55163f
---
M src/osmo-bsc/handover_decision_2.c
1 file changed, 27 insertions(+), 16 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/34/21234/1

diff --git a/src/osmo-bsc/handover_decision_2.c 
b/src/osmo-bsc/handover_decision_2.c
index c818dbb..7df8bb1 100644
--- a/src/osmo-bsc/handover_decision_2.c
+++ b/src/osmo-bsc/handover_decision_2.c
@@ -1362,6 +1362,29 @@
}
 }

+/* Given two candidates, pick the one that should rather be moved during 
handover.
+ * Return the better candidate in out-parameters best_cand and best_avg_db.
+ */
+static void pick_better_lchan_to_move(bool want_highest_db,
+ struct ho_candidate **best_cand_p, 
unsigned int *best_avg_db_p,
+ struct ho_candidate *other_cand, unsigned 
int other_avg_db)
+{
+   if (!*best_cand_p)
+   goto return_other;
+
+   if (want_highest_db && (*best_avg_db_p < other_avg_db))
+   goto return_other;
+   if (!want_highest_db && (*best_avg_db_p > other_avg_db))
+   goto return_other;
+
+   /* keep the same candidate. */
+   return;
+
+return_other:
+   *best_cand_p = other_cand;
+   *best_avg_db_p = other_avg_db;
+}
+
 /*
  * Handover/assignment check after timer timeout:
  *
@@ -1563,10 +1586,7 @@
is_improved = 0;
LOGPHOCAND([i], LOGL_DEBUG, "candidate %d: avg=%d 
best_avg_db=%d\n",
   i, avg, best_avg_db);
-   if (avg > best_avg_db) {
-   best_cand = [i];
-   best_avg_db = avg;
-   }
+   pick_better_lchan_to_move(true, _cand, _avg_db, 
[i], avg);
}

/* perform handover, if there is a candidate */
@@ -1636,10 +1656,7 @@
is_improved = 1;
} else
is_improved = 0;
-   if (avg < worst_avg_db) {
-   worst_cand = [i];
-   worst_avg_db = avg;
-   }
+   pick_better_lchan_to_move(false, _cand, 
_avg_db, [i], avg);
}
}

@@ -1712,10 +1729,7 @@
is_improved = 1;
} else
is_improved = 0;
-   if (avg > best_avg_db) {
-   best_cand = [i];
-   best_avg_db = avg;
-   }
+   pick_better_lchan_to_move(true, _cand, _avg_db, 
[i], avg);
}

/* perform handover, if there is a candidate */
@@ -1790,10 +1804,7 @@
is_improved = 0;
LOGP(DHODEC, LOGL_DEBUG, "candidate %d: avg=%d 
worst_avg_db=%d\n", i, avg,
 worst_avg_db);
-   if (avg < worst_avg_db) {
-   worst_cand = [i];
-   worst_avg_db = avg;
-   }
+   pick_better_lchan_to_move(false, _cand, 
_avg_db, [i], avg);
}
}


--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/21234
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I745dc95cf564dd330295cecb4d64dccebf55163f
Gerrit-Change-Number: 21234
Gerrit-PatchSet: 1
Gerrit-Owner: neels 
Gerrit-MessageType: newchange


Change in osmo-bsc[master]: fix TCH/H allocation: use half occupied dyn TS instead of switching m...

2020-11-18 Thread neels
neels has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/21203 )

Change subject: fix TCH/H allocation: use half occupied dyn TS instead of 
switching more dyn TS
..

fix TCH/H allocation: use half occupied dyn TS instead of switching more dyn TS

Change-Id: I5a8d943f31774af00664d037550be14e767d312a
---
M include/osmocom/bsc/timeslot_fsm.h
M src/osmo-bsc/lchan_select.c
M src/osmo-bsc/timeslot_fsm.c
M tests/handover/handover_test.c
4 files changed, 40 insertions(+), 22 deletions(-)

Approvals:
  Jenkins Builder: Verified
  pespin: Looks good to me, but someone else must approve
  laforge: Looks good to me, approved



diff --git a/include/osmocom/bsc/timeslot_fsm.h 
b/include/osmocom/bsc/timeslot_fsm.h
index d02e156..da66136 100644
--- a/include/osmocom/bsc/timeslot_fsm.h
+++ b/include/osmocom/bsc/timeslot_fsm.h
@@ -50,4 +50,4 @@
 bool ts_is_capable_of_lchant(struct gsm_bts_trx_ts *ts, enum gsm_chan_t type);
 bool ts_is_lchan_waiting_for_pchan(struct gsm_bts_trx_ts *ts, enum 
gsm_phys_chan_config *target_pchan);
 bool ts_is_pchan_switching(struct gsm_bts_trx_ts *ts, enum 
gsm_phys_chan_config *target_pchan);
-bool ts_usable_as_pchan(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config 
as_pchan);
+bool ts_usable_as_pchan(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config 
as_pchan, bool allow_pchan_switch);
diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c
index 6d3caac..64f4939 100644
--- a/src/osmo-bsc/lchan_select.c
+++ b/src/osmo-bsc/lchan_select.c
@@ -32,17 +32,19 @@

 static struct gsm_lchan *
 _lc_find_trx(struct gsm_bts_trx *trx, enum gsm_phys_chan_config pchan,
-enum gsm_phys_chan_config as_pchan)
+enum gsm_phys_chan_config as_pchan, bool allow_pchan_switch)
 {
struct gsm_lchan *lchan;
struct gsm_bts_trx_ts *ts;
int j, start, stop, dir;

 #define LOGPLCHANALLOC(fmt, args...) \
-   LOGP(DRLL, LOGL_DEBUG, "looking for lchan %s%s%s: " fmt, \
+   LOGP(DRLL, LOGL_DEBUG, "looking for lchan %s%s%s%s: " fmt, \
 gsm_pchan_name(pchan), \
 pchan == as_pchan ? "" : " as ", \
-pchan == as_pchan ? "" : gsm_pchan_name(as_pchan), ## args)
+pchan == as_pchan ? "" : gsm_pchan_name(as_pchan), \
+((pchan != as_pchan) && !allow_pchan_switch) ? " without 
pchan switch" : "", \
+## args)

if (!trx_is_usable(trx)) {
LOGPLCHANALLOC("%s trx not usable\n", gsm_trx_name(trx));
@@ -73,9 +75,10 @@
continue;
}
/* Next, is this timeslot in or can it be switched to the pchan 
we want to use it for? */
-   if (!ts_usable_as_pchan(ts, as_pchan)) {
-   LOGPLCHANALLOC("%s is not usable as %s\n", 
gsm_ts_and_pchan_name(ts),
-  gsm_pchan_name(as_pchan));
+   if (!ts_usable_as_pchan(ts, as_pchan, allow_pchan_switch)) {
+   LOGPLCHANALLOC("%s is not usable as %s%s\n", 
gsm_ts_and_pchan_name(ts),
+  gsm_pchan_name(as_pchan),
+  allow_pchan_switch ? "" : " without 
pchan switch");
continue;
}

@@ -104,18 +107,28 @@
 {
struct gsm_bts_trx *trx;
struct gsm_lchan *lc;
+   int allow_pchan_switch;
+   bool try_pchan_switch;

-   if (bts->chan_alloc_reverse) {
-   llist_for_each_entry_reverse(trx, >trx_list, list) {
-   lc = _lc_find_trx(trx, pchan, dyn_as_pchan);
-   if (lc)
-   return lc;
-   }
-   } else {
-   llist_for_each_entry(trx, >trx_list, list) {
-   lc = _lc_find_trx(trx, pchan, dyn_as_pchan);
-   if (lc)
-   return lc;
+   /* First find an lchan that needs no change in its timeslot pchan mode.
+* In particular, this ensures that handover to a dynamic timeslot in 
TCH/H favors timeslots that are currently
+* using only one of two TCH/H, so that we don't switch more dynamic 
timeslots to TCH/H than necessary.
+* For non-dynamic timeslots, it is not necessary to do a second pass 
with allow_pchan_switch ==
+* true, because they never switch anyway. */
+   try_pchan_switch = (pchan != dyn_as_pchan);
+   for (allow_pchan_switch = 0; allow_pchan_switch <= (try_pchan_switch ? 
1 : 0); allow_pchan_switch++) {
+   if (bts->chan_alloc_reverse) {
+   llist_for_each_entry_reverse(trx, >trx_list, list) 
{
+   lc = _lc_find_trx(trx, pchan, dyn_as_pchan, 
(bool)allow_pchan_switch);
+   if (lc)
+   

Change in osmo-bsc[master]: hodec 2: favor moving dyn TS

2020-11-18 Thread neels
neels has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/21204 )

Change subject: hodec 2: favor moving dyn TS
..


Patch Set 4:

i still want to tweak this patch though: forgot one of four places to apply 
this, and will also have more patches on this condition later, so adding a 
common function in a previous commit...


--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/21204
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ic221b8d2687cdec0bf94410c84a4da43853f0900
Gerrit-Change-Number: 21204
Gerrit-PatchSet: 4
Gerrit-Owner: neels 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 13:48:25 +
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment


Change in libosmocore[master]: Add VTY command to reset nsvcs

2020-11-18 Thread daniel
daniel has posted comments on this change. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21232 )

Change subject: Add VTY command to reset nsvcs
..


Patch Set 2:

(1 comment)

https://gerrit.osmocom.org/c/libosmocore/+/21232/1/src/gb/gprs_ns2_vty.c
File src/gb/gprs_ns2_vty.c:

https://gerrit.osmocom.org/c/libosmocore/+/21232/1/src/gb/gprs_ns2_vty.c@369
PS1, Line 369:  vty_out(vty, "WARNING: Block not implemented%s", 
VTY_NEWLINE);
> If it's not implemented maybe simply don't add the option to the cmdline?
We need to implement it at some point, but I can remove it for now if you 
prefer.



--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21232
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I83b9cd7381c25da0e8aa847038a2d422c8dd63cf
Gerrit-Change-Number: 21232
Gerrit-PatchSet: 2
Gerrit-Owner: daniel 
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 13:44:32 +
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin 
Gerrit-MessageType: comment


Change in libosmocore[master]: Add VTY command to reset nsvcs

2020-11-18 Thread daniel
Hello Jenkins Builder,

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

https://gerrit.osmocom.org/c/libosmocore/+/21232

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

Change subject: Add VTY command to reset nsvcs
..

Add VTY command to reset nsvcs

Change-Id: I83b9cd7381c25da0e8aa847038a2d422c8dd63cf
Related: SYS#5002
---
M src/gb/gprs_ns2_vty.c
1 file changed, 58 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/32/21232/2
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21232
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I83b9cd7381c25da0e8aa847038a2d422c8dd63cf
Gerrit-Change-Number: 21232
Gerrit-PatchSet: 2
Gerrit-Owner: daniel 
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin 
Gerrit-MessageType: newpatchset


Change in libosmocore[master]: ns2: Add a function to reset the NSVC

2020-11-18 Thread daniel
daniel has posted comments on this change. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21231 )

Change subject: ns2: Add a function to reset the NSVC
..


Patch Set 1:

(1 comment)

https://gerrit.osmocom.org/c/libosmocore/+/21231/1/src/gb/gprs_ns2_vc_fsm.c
File src/gb/gprs_ns2_vc_fsm.c:

https://gerrit.osmocom.org/c/libosmocore/+/21231/1/src/gb/gprs_ns2_vc_fsm.c@632
PS1, Line 632:  switch (priv->nsvc->mode) {
> looks like you want to send a RESET event to the FSM rather than handling 
> states here?
No, the reset event indicates that a RESET PDU has been received. I want to 
send one/initiate the reset procedure which is also why I also have to set 
initiater to true



--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21231
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: If96d56b19959372af4eba009661be19e985b4d51
Gerrit-Change-Number: 21231
Gerrit-PatchSet: 1
Gerrit-Owner: daniel 
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 13:38:34 +
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin 
Gerrit-MessageType: comment


Change in osmo-ttcn3-hacks[master]: Reset nsvc to SGSN before each test

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21233 )

Change subject: Reset nsvc to SGSN before each test
..


Patch Set 2: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21233
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ibf9c75b4066b1aad5fbbe2f35087a3f9f1a39743
Gerrit-Change-Number: 21233
Gerrit-PatchSet: 2
Gerrit-Owner: daniel 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 13:31:15 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in libosmocore[master]: Add VTY command to reset nsvcs

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21232 )

Change subject: Add VTY command to reset nsvcs
..


Patch Set 1:

(1 comment)

https://gerrit.osmocom.org/c/libosmocore/+/21232/1/src/gb/gprs_ns2_vty.c
File src/gb/gprs_ns2_vty.c:

https://gerrit.osmocom.org/c/libosmocore/+/21232/1/src/gb/gprs_ns2_vty.c@369
PS1, Line 369:  vty_out(vty, "WARNING: Block not implemented%s", 
VTY_NEWLINE);
If it's not implemented maybe simply don't add the option to the cmdline?



--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21232
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I83b9cd7381c25da0e8aa847038a2d422c8dd63cf
Gerrit-Change-Number: 21232
Gerrit-PatchSet: 1
Gerrit-Owner: daniel 
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 13:30:50 +
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment


Change in libosmocore[master]: ns2: Add a function to reset the NSVC

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21231 )

Change subject: ns2: Add a function to reset the NSVC
..


Patch Set 1:

(1 comment)

https://gerrit.osmocom.org/c/libosmocore/+/21231/1/src/gb/gprs_ns2_vc_fsm.c
File src/gb/gprs_ns2_vc_fsm.c:

https://gerrit.osmocom.org/c/libosmocore/+/21231/1/src/gb/gprs_ns2_vc_fsm.c@632
PS1, Line 632:  switch (priv->nsvc->mode) {
looks like you want to send a RESET event to the FSM rather than handling 
states here?



--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21231
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: If96d56b19959372af4eba009661be19e985b4d51
Gerrit-Change-Number: 21231
Gerrit-PatchSet: 1
Gerrit-Owner: daniel 
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 13:28:44 +
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment


Change in osmo-ttcn3-hacks[master]: Reset nsvc to SGSN before each test

2020-11-18 Thread daniel
daniel has uploaded a new patch set (#2). ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21233 )

Change subject: Reset nsvc to SGSN before each test
..

Reset nsvc to SGSN before each test

Change-Id: Ibf9c75b4066b1aad5fbbe2f35087a3f9f1a39743
Related: SYS#5002
Depends: I83b9cd7381c25da0e8aa847038a2d422c8dd63cf (libosmocore)
---
M gbproxy/GBProxy_Tests.ttcn
1 file changed, 1 insertion(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/33/21233/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21233
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ibf9c75b4066b1aad5fbbe2f35087a3f9f1a39743
Gerrit-Change-Number: 21233
Gerrit-PatchSet: 2
Gerrit-Owner: daniel 
Gerrit-CC: Jenkins Builder
Gerrit-MessageType: newpatchset


Change in libosmocore[master]: Add VTY command to reset nsvcs

2020-11-18 Thread daniel
daniel has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21232 )


Change subject: Add VTY command to reset nsvcs
..

Add VTY command to reset nsvcs

Change-Id: I83b9cd7381c25da0e8aa847038a2d422c8dd63cf
Related: SYS#5002
---
M src/gb/gprs_ns2_vty.c
1 file changed, 58 insertions(+), 0 deletions(-)



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

diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c
index 65fe88e..15b9e93 100644
--- a/src/gb/gprs_ns2_vty.c
+++ b/src/gb/gprs_ns2_vty.c
@@ -34,6 +34,7 @@

 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -354,6 +355,61 @@
return CMD_SUCCESS;
 }

+struct nsvc_foreach_data {
+   const char *operation;
+   struct vty *vty;
+};
+
+int nsvc_operation_cb(struct gprs_ns2_vc *nsvc, void *ctx)
+{
+   struct nsvc_foreach_data *data = (struct nsvc_foreach_data *)ctx;
+   struct vty *vty = data->vty;
+
+   if (!strcmp(data->operation, "block")) {
+   vty_out(vty, "WARNING: Block not implemented%s", VTY_NEWLINE);
+// gprs_ns_tx_block(nsvc, NS_CAUSE_OM_INTERVENTION);
+   } else if (!strcmp(data->operation, "unblock")) {
+   vty_out(vty, "WARNING: Unblock not implemented%s", VTY_NEWLINE);
+// gprs_ns_tx_unblock(nsvc);
+   } else if (!strcmp(data->operation, "reset")) {
+   vty_out(vty, "Resetting NSVC %s%s", gprs_ns2_ll_str(nsvc), 
VTY_NEWLINE);
+   gprs_ns2_vc_reset(nsvc);
+   }
+
+
+}
+
+DEFUN(nsvc_nsei, nsvc_nsei_cmd,
+   "nsvc nsei <0-65535> (block|unblock|reset)",
+   "Perform an operation on all NSVCs of an NSE\n"
+   "The NSEI\n"
+   "Initiate BLOCK procedure\n"
+   "Initiate UNBLOCK procedure\n"
+   "Initiate RESET procedure\n")
+{
+   struct gprs_ns2_inst *nsi = vty_nsi;
+   struct gprs_ns2_nse *nse;
+
+   uint16_t id = atoi(argv[0]);
+   struct nsvc_foreach_data data = {
+   .operation = argv[1],
+   .vty = vty,
+   };
+
+
+   nse = gprs_ns2_nse_by_nsei(nsi, id);
+   if (!nse) {
+   vty_out(vty, "Could not find NSE for NSEI %u%s", id, 
VTY_NEWLINE);
+   return CMD_WARNING;
+   }
+
+   /* Perform the operation for all nsvc */
+   gprs_ns2_nse_foreach_nsvc(nse, nsvc_operation_cb, (void *));
+
+   return CMD_SUCCESS;
+}
+
+
 #define NSE_CMD_STR "Persistent NS Entity\n" "NS Entity ID (NSEI)\n"

 DEFUN(cfg_nse_nsvc, cfg_nse_nsvci_cmd,
@@ -699,6 +755,8 @@
install_lib_element_ve(_nse_cmd);
install_lib_element_ve(_fltr_nsvc_cmd);

+   install_lib_element(ENABLE_NODE, _nsei_cmd);
+
install_lib_element(CFG_LOG_NODE, _fltr_nsvc_cmd);

install_lib_element(CONFIG_NODE, _ns_cmd);

--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21232
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I83b9cd7381c25da0e8aa847038a2d422c8dd63cf
Gerrit-Change-Number: 21232
Gerrit-PatchSet: 1
Gerrit-Owner: daniel 
Gerrit-MessageType: newchange


Change in osmo-ttcn3-hacks[master]: Reset nsvc to SGSN before each test

2020-11-18 Thread daniel
daniel has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21233 )


Change subject: Reset nsvc to SGSN before each test
..

Reset nsvc to SGSN before each test

Change-Id: Ibf9c75b4066b1aad5fbbe2f35087a3f9f1a39743
Related: SYS#5002
---
M gbproxy/GBProxy_Tests.ttcn
1 file changed, 1 insertion(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/33/21233/1

diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn
index e690f34..8629fbc 100644
--- a/gbproxy/GBProxy_Tests.ttcn
+++ b/gbproxy/GBProxy_Tests.ttcn
@@ -359,6 +359,7 @@

f_init_vty();
for (i := 0; i < lengthof(mp_nsconfig_sgsn); i := i+1) {
+   f_vty_transceive(GBPVTY, "nsvc nsei " & 
int2str(g_sgsn[i].cfg.nsei) & " reset");
f_init_gb_sgsn(g_sgsn[i], "GbProxy_Test", i);
}
f_sleep(4.0);

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21233
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ibf9c75b4066b1aad5fbbe2f35087a3f9f1a39743
Gerrit-Change-Number: 21233
Gerrit-PatchSet: 1
Gerrit-Owner: daniel 
Gerrit-MessageType: newchange


Change in libosmocore[master]: ns2: Add a function to reset the NSVC

2020-11-18 Thread daniel
daniel has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21231 )


Change subject: ns2: Add a function to reset the NSVC
..

ns2: Add a function to reset the NSVC

Change-Id: If96d56b19959372af4eba009661be19e985b4d51
---
M src/gb/gprs_ns2_internal.h
M src/gb/gprs_ns2_vc_fsm.c
2 files changed, 23 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/31/21231/1

diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h
index dee3ab7..1369efc 100644
--- a/src/gb/gprs_ns2_internal.h
+++ b/src/gb/gprs_ns2_internal.h
@@ -286,6 +286,7 @@
 struct osmo_fsm_inst *gprs_ns2_vc_fsm_alloc(struct gprs_ns2_vc *nsvc,
const char *id, bool initiate);
 int gprs_ns2_vc_fsm_start(struct gprs_ns2_vc *nsvc);
+int gprs_ns2_vc_reset(struct gprs_ns2_vc *nsvc);
 int gprs_ns2_vc_rx(struct gprs_ns2_vc *nsvc, struct msgb *msg, struct 
tlv_parsed *tp);
 int gprs_ns2_vc_is_alive(struct gprs_ns2_vc *nsvc);
 int gprs_ns2_vc_is_unblocked(struct gprs_ns2_vc *nsvc);
diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c
index 0d30f12..390c997 100644
--- a/src/gb/gprs_ns2_vc_fsm.c
+++ b/src/gb/gprs_ns2_vc_fsm.c
@@ -619,6 +619,28 @@
return 0;
 }

+/*! Reset a NS-VC FSM.
+ *  \param nsvc the virtual circuit
+ *  \return 0 on success; negative on error */
+int gprs_ns2_vc_reset(struct gprs_ns2_vc *nsvc)
+{
+   int rc = -EINVAL;
+   struct osmo_fsm_inst *fi = nsvc->fi;
+   struct gprs_ns2_vc_priv *priv = fi->priv;
+   struct gprs_ns2_inst *nsi = nsvc->nse->nsi;
+
+   switch (priv->nsvc->mode) {
+   case NS2_VC_MODE_ALIVE:
+   rc = osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_ALIVE, 
nsi->timeout[NS_TOUT_TNS_ALIVE], NS_TOUT_TNS_ALIVE);
+   break;
+   case NS2_VC_MODE_BLOCKRESET:
+   priv->initiater = true;
+   rc = osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_RESET, 
nsi->timeout[NS_TOUT_TNS_RESET], NS_TOUT_TNS_RESET);
+   break;
+   }
+   return rc;
+}
+
 /*! entry point for messages from the driver/VL
  *  \param nsvc virtual circuit on which the message was received
  *  \param msg message that was received

--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21231
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: If96d56b19959372af4eba009661be19e985b4d51
Gerrit-Change-Number: 21231
Gerrit-PatchSet: 1
Gerrit-Owner: daniel 
Gerrit-MessageType: newchange


Change in osmo-sgsn[master]: gprs_gb_parse: Add function to determine TLLI from encoded BSSGP

2020-11-18 Thread laforge
laforge has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-sgsn/+/21227 )

Change subject: gprs_gb_parse: Add function to determine TLLI from encoded BSSGP
..


Patch Set 1:

(2 comments)

https://gerrit.osmocom.org/c/osmo-sgsn/+/21227/1/src/gprs/gprs_gb_parse.c
File src/gprs/gprs_gb_parse.c:

https://gerrit.osmocom.org/c/osmo-sgsn/+/21227/1/src/gprs/gprs_gb_parse.c@465
PS1, Line 465:  bgph = NULL;
> no real need for this, but ok.
just copied from gprs_gb_parse_bssgp() below


https://gerrit.osmocom.org/c/osmo-sgsn/+/21227/1/src/gprs/gprs_gb_parse.c@472
PS1, Line 472:  if (budh) {
> budh can only be non null on the if clause above, so it probably make sense 
> to move it there too. […]
just copied from gprs_gb_parse_bssgp() below

but yes, I should re-structuere it. Doesn't make sense to keep it identical to 
the function below.



--
To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21227
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-sgsn
Gerrit-Branch: master
Gerrit-Change-Id: Ia6d5300e63ad23987cbdca824db620305bd583d7
Gerrit-Change-Number: 21227
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 13:10:18 +
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin 
Gerrit-MessageType: comment


Change in libosmocore[master]: bssgp: Input argument to bssgp_tlv_parse() should be 'const'

2020-11-18 Thread laforge
laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21226 )

Change subject: bssgp: Input argument to bssgp_tlv_parse() should be 'const'
..

bssgp: Input argument to bssgp_tlv_parse() should be 'const'

Change-Id: I397b32a6e6ea3e9d218446138cceafa9b27685dd
---
M include/osmocom/gprs/gprs_bssgp.h
1 file changed, 1 insertion(+), 1 deletion(-)

Approvals:
  Jenkins Builder: Verified
  pespin: Looks good to me, but someone else must approve
  laforge: Looks good to me, approved



diff --git a/include/osmocom/gprs/gprs_bssgp.h 
b/include/osmocom/gprs/gprs_bssgp.h
index 4eb9df4..e962b44 100644
--- a/include/osmocom/gprs/gprs_bssgp.h
+++ b/include/osmocom/gprs/gprs_bssgp.h
@@ -163,7 +163,7 @@
 uint16_t cid);

 /* Wrapper around TLV parser to parse BSSGP IEs */
-static inline int bssgp_tlv_parse(struct tlv_parsed *tp, uint8_t *buf, int len)
+static inline int bssgp_tlv_parse(struct tlv_parsed *tp, const uint8_t *buf, 
int len)
 {
return tlv_parse(tp, _att_def, buf, len, 0, 0);
 }

--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21226
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I397b32a6e6ea3e9d218446138cceafa9b27685dd
Gerrit-Change-Number: 21226
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-MessageType: merged


Change in libosmocore[master]: bssgp: Input argument to bssgp_tlv_parse() should be 'const'

2020-11-18 Thread laforge
laforge has posted comments on this change. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21226 )

Change subject: bssgp: Input argument to bssgp_tlv_parse() should be 'const'
..


Patch Set 1: Code-Review+2


--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21226
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I397b32a6e6ea3e9d218446138cceafa9b27685dd
Gerrit-Change-Number: 21226
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 13:08:09 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in osmo-sgsn[master]: gbproxy: Pass TLLI as LSP towards NS to facilitate load sharing

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-sgsn/+/21228 )

Change subject: gbproxy: Pass TLLI as LSP towards NS to facilitate load sharing
..


Patch Set 1: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21228
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-sgsn
Gerrit-Branch: master
Gerrit-Change-Id: I6aef26c126b330a393fc2be5f558b6d5f1d9f7f4
Gerrit-Change-Number: 21228
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 12:11:23 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in osmo-sgsn[master]: gprs_gb_parse: Add function to determine TLLI from encoded BSSGP

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-sgsn/+/21227 )

Change subject: gprs_gb_parse: Add function to determine TLLI from encoded BSSGP
..


Patch Set 1:

(2 comments)

https://gerrit.osmocom.org/c/osmo-sgsn/+/21227/1/src/gprs/gprs_gb_parse.c
File src/gprs/gprs_gb_parse.c:

https://gerrit.osmocom.org/c/osmo-sgsn/+/21227/1/src/gprs/gprs_gb_parse.c@465
PS1, Line 465:  bgph = NULL;
no real need for this, but ok.


https://gerrit.osmocom.org/c/osmo-sgsn/+/21227/1/src/gprs/gprs_gb_parse.c@472
PS1, Line 472:  if (budh) {
budh can only be non null on the if clause above, so it probably make sense to 
move it there too.
Then the other parts can also be moved to the else clause, and data + data_len 
can also be dropped from the if condition?



--
To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21227
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-sgsn
Gerrit-Branch: master
Gerrit-Change-Id: Ia6d5300e63ad23987cbdca824db620305bd583d7
Gerrit-Change-Number: 21227
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 12:10:09 +
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment


Change in libosmocore[master]: bssgp: Input argument to bssgp_tlv_parse() should be 'const'

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21226 )

Change subject: bssgp: Input argument to bssgp_tlv_parse() should be 'const'
..


Patch Set 1: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21226
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I397b32a6e6ea3e9d218446138cceafa9b27685dd
Gerrit-Change-Number: 21226
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 12:05:47 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in osmo-ttcn3-hacks[master]: gbproxy: Add test for load sharing function in SGSN->PCU direction

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21225 )

Change subject: gbproxy: Add test for load sharing function in SGSN->PCU 
direction
..


Patch Set 1: Code-Review+1

It should be easy to change the test to support N components instead of 4.


--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21225
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ide733d7659ff7f341bedc61fc90947f74d7c4ac3
Gerrit-Change-Number: 21225
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 12:05:11 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in titan.TestPorts.AF_PACKET[master]: AF_PACKET_PT.cc: Remove superfluous #include to osmocom/core/utils.h

2020-11-18 Thread laforge
laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/titan.TestPorts.AF_PACKET/+/21230 )

Change subject: AF_PACKET_PT.cc: Remove superfluous #include to 
osmocom/core/utils.h
..

AF_PACKET_PT.cc: Remove superfluous #include to osmocom/core/utils.h

Change-Id: I2586ee726aea8f5d3edf397b2db2156bfafd7d8a
---
M src/AF_PACKET_PT.cc
1 file changed, 0 insertions(+), 2 deletions(-)

Approvals:
  laforge: Looks good to me, approved; Verified



diff --git a/src/AF_PACKET_PT.cc b/src/AF_PACKET_PT.cc
index 1372ac0..3f46216 100644
--- a/src/AF_PACKET_PT.cc
+++ b/src/AF_PACKET_PT.cc
@@ -24,8 +24,6 @@
 #include 
 #include 

-#include 
-
 static int devname2ifindex(const char *ifname)
 {
struct ifreq ifr;

--
To view, visit https://gerrit.osmocom.org/c/titan.TestPorts.AF_PACKET/+/21230
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: titan.TestPorts.AF_PACKET
Gerrit-Branch: master
Gerrit-Change-Id: I2586ee726aea8f5d3edf397b2db2156bfafd7d8a
Gerrit-Change-Number: 21230
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-Reviewer: laforge 
Gerrit-MessageType: merged


Change in titan.TestPorts.AF_PACKET[master]: AF_PACKET_PT.cc: Remove superfluous #include to osmocom/core/utils.h

2020-11-18 Thread laforge
laforge has posted comments on this change. ( 
https://gerrit.osmocom.org/c/titan.TestPorts.AF_PACKET/+/21230 )

Change subject: AF_PACKET_PT.cc: Remove superfluous #include to 
osmocom/core/utils.h
..


Patch Set 1: Verified+1 Code-Review+2


--
To view, visit https://gerrit.osmocom.org/c/titan.TestPorts.AF_PACKET/+/21230
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: titan.TestPorts.AF_PACKET
Gerrit-Branch: master
Gerrit-Change-Id: I2586ee726aea8f5d3edf397b2db2156bfafd7d8a
Gerrit-Change-Number: 21230
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-Reviewer: laforge 
Gerrit-Comment-Date: Wed, 18 Nov 2020 12:04:48 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in titan.TestPorts.AF_PACKET[master]: AF_PACKET_PT.cc: Remove superfluous #include to osmocom/core/utils.h

2020-11-18 Thread laforge
laforge has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/titan.TestPorts.AF_PACKET/+/21230 )


Change subject: AF_PACKET_PT.cc: Remove superfluous #include to 
osmocom/core/utils.h
..

AF_PACKET_PT.cc: Remove superfluous #include to osmocom/core/utils.h

Change-Id: I2586ee726aea8f5d3edf397b2db2156bfafd7d8a
---
M src/AF_PACKET_PT.cc
1 file changed, 0 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/titan.TestPorts.AF_PACKET 
refs/changes/30/21230/1

diff --git a/src/AF_PACKET_PT.cc b/src/AF_PACKET_PT.cc
index 1372ac0..3f46216 100644
--- a/src/AF_PACKET_PT.cc
+++ b/src/AF_PACKET_PT.cc
@@ -24,8 +24,6 @@
 #include 
 #include 

-#include 
-
 static int devname2ifindex(const char *ifname)
 {
struct ifreq ifr;

--
To view, visit https://gerrit.osmocom.org/c/titan.TestPorts.AF_PACKET/+/21230
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: titan.TestPorts.AF_PACKET
Gerrit-Branch: master
Gerrit-Change-Id: I2586ee726aea8f5d3edf397b2db2156bfafd7d8a
Gerrit-Change-Number: 21230
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-MessageType: newchange


Change in osmo-ttcn3-hacks[master]: NS_Emulation: Include NS-VCI in NsUnitdataIndication

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21224 )

Change subject: NS_Emulation: Include NS-VCI in NsUnitdataIndication
..


Patch Set 1:

(1 comment)

I don't see any place using this new field to match on, I guess it's going to 
be in next patches?

https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21224/1//COMMIT_MSG
Commit Message:

https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21224/1//COMMIT_MSG@10
PS1, Line 10: we actually want to verify whcih NS-VC a given message has 
arrived on,
typo: which



--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21224
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I9402bf0be47e5b93c9cfb081eb8f9fa6734c9227
Gerrit-Change-Number: 21224
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 12:00:35 +
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment


Change in osmo-bsc[master]: hodec 2: favor moving dyn TS

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/21204 )

Change subject: hodec 2: favor moving dyn TS
..


Patch Set 4:

(1 comment)

https://gerrit.osmocom.org/c/osmo-bsc/+/21204/4//COMMIT_MSG
Commit Message:

https://gerrit.osmocom.org/c/osmo-bsc/+/21204/4//COMMIT_MSG@23
PS4, Line 23: Among lchans on dynamic timeslots that could be moved, this code 
favors moving
: later lchans; mainly because it makes for a simpler condition in 
the code.
> sorry but you clearly are missing the point here :) […]
Ok fine then, thanks for the explanation.



--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/21204
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ic221b8d2687cdec0bf94410c84a4da43853f0900
Gerrit-Change-Number: 21204
Gerrit-PatchSet: 4
Gerrit-Owner: neels 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 11:57:18 +
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels 
Comment-In-Reply-To: pespin 
Gerrit-MessageType: comment


Change in osmo-pcu[master]: Implement downgrade to DL MCS1-4 when USF for GPRS_only MS

2020-11-18 Thread pespin
Hello Jenkins Builder, neels, laforge,

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

https://gerrit.osmocom.org/c/osmo-pcu/+/21179

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

Change subject: Implement downgrade to DL MCS1-4 when USF for GPRS_only MS
..

Implement downgrade to DL MCS1-4 when USF for GPRS_only MS

In previous status, if USF for GPRS-only MS was selected, then EGPRS
TBFs were skipped and either a GPRS TBF was selected or a Dummy Block
was sent. That means the behavior was unfair towards EGPRS TBFs, because
sometimes they were skipped in favor of GPRS ones.
This patch imporves the situation in the above mentioned USF scenario, by
first, under specific conditions, allowing selection of an EGPRS TBF and
then forcing it to transmit in EGPRS-GMSK (MCS1-4) so that the
USF-targeted MS can still decode the USF, while at the same time
providing more fairness by allowing the EGPRS TBF to transmit data.

The specific conditions mentioned above are, mainly, related to the fact
that once a DL data block has been sent, and hence a BSN was assigned to
it, it cannot be retransmitted later using another MCS, since lower
MCS1-4 wouldn't be able to contain higher MCS RLC payload.

The set of conditions could be expanded in the future by also selecting
the EGPRS TBF if retransmition is required and the block to be
retransmitted was originally transmitted as MCS1-4.

Related: OS#4544
Change-Id: I9af23e175435fe9ae7b0e4119ad52fcd4707b9ca
---
M src/bts.cpp
M src/bts.h
M src/gprs_rlcmac_sched.cpp
M src/tbf_dl.cpp
M src/tbf_dl.h
M tests/tbf/TbfTest.err
6 files changed, 463 insertions(+), 431 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/79/21179/4
--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/21179
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: I9af23e175435fe9ae7b0e4119ad52fcd4707b9ca
Gerrit-Change-Number: 21179
Gerrit-PatchSet: 4
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: neels 
Gerrit-MessageType: newpatchset


Change in osmo-pcu[master]: Support multiplexing of GPRS and EGPRS TBFs in one PDCH

2020-11-18 Thread pespin
pespin has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-pcu/+/21178 )

Change subject: Support multiplexing of GPRS and EGPRS TBFs in one PDCH
..

Support multiplexing of GPRS and EGPRS TBFs in one PDCH

There are some restrictions to have both GPRS-only and EGPRS MS attached
to the same MS:
* Any MS needs to be able to successfully decode a DL block at least
  every 18 DL blocks (360 ms). That means a Dl block with CS1-4 must be
  sent at least once during that time.
* Any MS needs to be able to decode USF targeting it. GPRS-only MS can
  successfully decode USF from DL blocks using GMSK: CS1-4 and MCS1-4.

In this patch, if USF of a GPRS-only MS is selected, then all DL EGPRS
TBFs are discarded from data block selection. However, this logic can be
further improved later by still allowing selection of DL EGPRS TBFs and
then forcing construction of a DL EGPRS data block using MCS1-4.

Sources:
* 3GPP TS 03.64 version 8.12.0 "6.6.4.1.1.2 Multiplexing of GPRS and EGPRS MSs"
* 3GPP TS 05.08 version 8.23.0 "10.2.2 BTS output power"

Related: OS#4544
Change-Id: Ib4991c864eda6864533363443f76ae5d999532ae
---
M src/gprs_rlcmac_sched.cpp
M src/pdch.cpp
M src/pdch.h
3 files changed, 96 insertions(+), 29 deletions(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  neels: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp
index 97806d9..537929b 100644
--- a/src/gprs_rlcmac_sched.cpp
+++ b/src/gprs_rlcmac_sched.cpp
@@ -89,11 +89,10 @@
return poll_fn;
 }

-static uint8_t sched_select_uplink(uint8_t trx, uint8_t ts, uint32_t fn,
-   uint8_t block_nr, struct gprs_rlcmac_pdch *pdch)
+static struct gprs_rlcmac_ul_tbf *sched_select_uplink(uint8_t trx, uint8_t ts, 
uint32_t fn,
+   uint8_t block_nr, struct gprs_rlcmac_pdch *pdch, bool require_gprs_only)
 {
-   struct gprs_rlcmac_ul_tbf *tbf;
-   uint8_t usf = 0x07;
+   struct gprs_rlcmac_ul_tbf *tbf = NULL;
uint8_t i, tfi;

/* select uplink resource */
@@ -110,18 +109,20 @@
if (tbf->state_is_not(GPRS_RLCMAC_FLOW))
continue;

+   if (require_gprs_only && tbf->is_egprs_enabled())
+   continue;
+
/* use this USF */
-   usf = tbf->m_usf[ts];
LOGP(DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: TRX=%d "
"TS=%d FN=%d block_nr=%d scheduling USF=%d for "
"required uplink resource of UL TFI=%d\n", trx, ts, fn,
-   block_nr, usf, tfi);
+   block_nr, tbf->m_usf[ts], tfi);
/* next TBF to handle resource is the next one */
pdch->next_ul_tfi = (tfi + 1) & 31;
break;
}

-   return usf;
+   return tbf;
 }

 struct msgb *sched_app_info(struct gprs_rlcmac_tbf *tbf) {
@@ -273,7 +274,7 @@

 static struct msgb *sched_select_downlink(struct gprs_rlcmac_bts *bts,
uint8_t trx, uint8_t ts, uint32_t fn,
-   uint8_t block_nr, struct gprs_rlcmac_pdch *pdch, bool 
*is_egprs)
+   uint8_t block_nr, struct gprs_rlcmac_pdch *pdch, enum 
mcs_kind req_mcs_kind, bool *is_egprs)
 {
struct msgb *msg = NULL;
struct gprs_rlcmac_dl_tbf *tbf, *prio_tbf = NULL;
@@ -301,6 +302,13 @@
if (tbf->m_wait_confirm)
continue;

+   /* If a GPRS (CS1-4) Dl block is required, skip EGPRS(_GSMK) 
tbfs: */
+   if (req_mcs_kind == GPRS && tbf->is_egprs_enabled())
+   continue;
+   /* TODO: If a GPRS (CS1-4/MCS1-4) Dl block is required, 
downgrade MCS below instead of skipping */
+   if (req_mcs_kind == EGPRS_GMSK && (tbf->is_egprs_enabled() || 
tbf->ms()->mode() != GPRS))
+   continue;
+
age = tbf->frames_since_last_poll(fn);

/* compute priority */
@@ -385,12 +393,15 @@
struct gprs_rlcmac_pdch *pdch;
struct gprs_rlcmac_tbf *poll_tbf = NULL, *dl_ass_tbf = NULL,
*ul_ass_tbf = NULL;
+   struct gprs_rlcmac_ul_tbf *usf_tbf;
struct gprs_rlcmac_ul_tbf *ul_ack_tbf = NULL;
-   uint8_t usf = 0x7;
+   uint8_t usf;
struct msgb *msg = NULL;
uint32_t poll_fn, sba_fn;
enum pcu_gsmtap_category gsmtap_cat;
-   bool is_egprs = false;
+   bool tx_is_egprs = false;
+   bool require_gprs_only;
+   enum mcs_kind req_mcs_kind; /* Restrict CS/MCS if DL Data block is to 
be sent */

if (trx >= 8 || ts >= 8)
return -EINVAL;
@@ -405,47 +416,79 @@
/* store last frame number of RTS */
pdch->last_rts_fn = fn;

+   /* require_gprs_only: Prioritize USF for 

Change in osmo-pcu[master]: Support multiplexing of GPRS and EGPRS TBFs in one PDCH

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-pcu/+/21178 )

Change subject: Support multiplexing of GPRS and EGPRS TBFs in one PDCH
..


Patch Set 3: Code-Review+2


--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/21178
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: Ib4991c864eda6864533363443f76ae5d999532ae
Gerrit-Change-Number: 21178
Gerrit-PatchSet: 3
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: neels 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 11:52:53 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in osmo-ttcn3-hacks[master]: pcu: Implement ACKing EGPRS Dl TBF blocks

2020-11-18 Thread pespin
pespin has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21127 )

Change subject: pcu: Implement ACKing EGPRS Dl TBF blocks
..

pcu: Implement ACKing EGPRS Dl TBF blocks

Change-Id: I9f1b621a8365e69d2e1a33d59cb8c7a59639ad94
---
M library/RLCMAC_Templates.ttcn
M pcu/GPRS_Components.ttcn
M pcu/PCU_Tests.ttcn
3 files changed, 118 insertions(+), 38 deletions(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  fixeria: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn
index e6f982f..d59c74e 100644
--- a/library/RLCMAC_Templates.ttcn
+++ b/library/RLCMAC_Templates.ttcn
@@ -361,8 +361,16 @@
}
}

+   private function f_presence_bit_chreq_desc(template (omit) 
ChannelReqDescription chreq_desc) return BIT1 {
+   if (istemplatekind(chreq_desc, "omit")) {
+   return '0'B;
+   }
+   return '1'B;
+   }
+
/* Send Template for Downlink ACK/NACK */
-   template RlcmacUlBlock ts_RLCMAC_DL_ACK_NACK(template uint5_t tfi, 
AckNackDescription andesc, boolean retry := false) := {
+   template RlcmacUlBlock ts_RLCMAC_DL_ACK_NACK(template uint5_t tfi, 
AckNackDescription andesc, boolean retry := false,
+template (omit) 
ChannelReqDescription chreq_desc := omit) := {
ctrl := {
mac_hdr := {
payload_type := MAC_PT_RLCMAC_NO_OPT,
@@ -375,8 +383,8 @@
dl_ack_nack := {
dl_tfi := tfi,
ack_nack_desc := andesc,
-   chreq_desc_presence := '0'B,
-   chreq_desc := omit,
+   chreq_desc_presence := 
f_presence_bit_chreq_desc(chreq_desc),
+   chreq_desc := chreq_desc,
ch_qual_rep := 
c_ChQualRep_default
}
}
@@ -384,25 +392,9 @@
}
}

-   template RlcmacUlBlock ts_RLCMAC_DL_ACK_NACK_CHREQ(template uint5_t tfi,
-  AckNackDescription 
andesc,
-  boolean retry := 
false,
-  template 
ChannelReqDescription chreq_desc := c_ChReqDesc_default)
-   modifies ts_RLCMAC_DL_ACK_NACK := {
-   ctrl := {
-   payload := {
-   u := {
-   dl_ack_nack := {
-   chreq_desc_presence := '1'B,
-   chreq_desc := chreq_desc
-   }
-   }
-   }
-   }
-   }
-
/* Send Template for Egprs Downlink ACK/NACK */
-   template RlcmacUlBlock ts_RLCMAC_DL_ACK_NACK_EGPRS(template uint5_t 
tfi, EgprsAckNackDescription andesc, boolean retry := false) := {
+   template RlcmacUlBlock ts_RLCMAC_DL_ACK_NACK_EGPRS(template uint5_t 
tfi, EgprsAckNackDescription andesc, boolean retry := false,
+  template (omit) 
ChannelReqDescription chreq_desc := omit) := {
ctrl := {
mac_hdr := {
payload_type := MAC_PT_RLCMAC_NO_OPT,
@@ -417,8 +409,8 @@
ms_oom := '0'B,
egprs_ch_qual_rep_presence := 
'0'B,
egprs_ch_qual_rep := omit,
-   chreq_desc_presence := '0'B,
-   chreq_desc := omit,
+   chreq_desc_presence := 
f_presence_bit_chreq_desc(chreq_desc),
+   chreq_desc := chreq_desc,
pfi_presence := '0'B,
pfi := omit,
epdan_presence := '0'B,
diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn
index 51c5a8d..0850a3d 100644
--- a/pcu/GPRS_Components.ttcn
+++ b/pcu/GPRS_Components.ttcn
@@ -77,7 +77,8 @@
uint5_t tfi,
GsmArfcnarfcn optional,
BIT8ts_mask,
- 

Change in osmo-ttcn3-hacks[master]: pcu: Implement ACKing EGPRS Dl TBF blocks

2020-11-18 Thread pespin
pespin has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21127 )

Change subject: pcu: Implement ACKing EGPRS Dl TBF blocks
..


Patch Set 5: Code-Review+2


--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21127
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I9f1b621a8365e69d2e1a33d59cb8c7a59639ad94
Gerrit-Change-Number: 21127
Gerrit-PatchSet: 5
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Reviewer: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 11:51:05 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in osmo-ttcn3-hacks[master]: gbproxy: /bin/sh cannot do "FILES+=", use /bin/bash

2020-11-18 Thread laforge
laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21229 )

Change subject: gbproxy: /bin/sh cannot do "FILES+=", use /bin/bash
..

gbproxy: /bin/sh cannot do "FILES+=", use /bin/bash

This fixes an ugly copile failure depending on which shell
provides /bin/sh on the given system:

AF_PACKET_PortType.so: undefined reference to `typeinfo for 
AF__PACKET__PortType::AF__PACKET__PT_PROVIDER'
AF_PACKET_PortType.so: undefined reference to 
`AF__PACKET__PortType::AF__PACKET__PT_PROVIDER::AF__PACKET__PT_PROVIDER(char 
const*)'
AF_PACKET_PortType.so: undefined  [0m [91mreference to 
`AF__PACKET__PortType::AF__PACKET__PT_PROVIDER::set_parameter(char const*, char 
const [0m [91m*)'
AF_PACKET_PortType.so: undefined reference to 
`AF__PACKET__PortType::AF__PACKET__PT_PROVIDER::outgoing_send(AF__PACKET__PortTypes::AF__PACKET__Unitdata
 const&)' [0m [91m
AF_PACKET_PortType.so: undefined reference to 
`AF__PACKET__PortType::AF__PACKET__PT_PROVIDER::user_map(char [0m [91m const*, 
Map_Params& [0m [91m)' [0m [91m
AF_PACKET_PortType.so:  [0m [91mundefined reference to [0m [91m 
`AF__PACKET__PortType:: [0m [91mAF__PACKET__PT_PROVIDER::user_unmap(char 
const*, Map_Params&)'
AF_PACKET_PortType.so: undefined reference to ` [0m 
[91mAF__PACKET__PortType::AF__PACKET__PT_PROVIDER:: [0m 
[91m~AF__PACKET__PT_PROVIDER()' [0m [91m
AF_PACKET_PortType.so [0m [91m: undefined reference  [0m [91mto ` [0m 
[91mAF__PACKET__PortType::AF__PACKET__PT_PROVIDER::Handle_Fd_Event(int, bool, 
bool, bool) [0m [91m'
AF_PACKET_PortType.so:  [0m [91mundefined  [0m [91mreference to [0m [91m 
`AF__PACKET__PortType: [0m [91m:AF__PACKET__PT_PROVIDER::user_start()'

Change-Id: I71352f5fa538c3ba599b11c2bb1fec2952ddbf80
---
M gbproxy/regen_makefile.sh
1 file changed, 1 insertion(+), 1 deletion(-)

Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved; Verified



diff --git a/gbproxy/regen_makefile.sh b/gbproxy/regen_makefile.sh
index 34bd3f4..93ef712 100755
--- a/gbproxy/regen_makefile.sh
+++ b/gbproxy/regen_makefile.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash

 FILES="*.ttcn *.ttcnpp BSSGP_EncDec.cc LLC_EncDec.cc IPL4asp_PT.cc 
IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc 
NS_CodecPort_CtrlFunctDef.cc RLCMAC_EncDec.cc Native_FunctionDefs.cc 
TELNETasp_PT.cc IPA_CodecPort_CtrlFunctDef.cc GTPU_EncDec.cc GTPC_EncDec.cc 
GTP_CodecPort_CtrlFunctDef.cc SCCP_EncDec.cc  SCTPasp_PT.cc "
 FILES+="AF_PACKET_PT.cc AF_PACKET_PT.hh "

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21229
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I71352f5fa538c3ba599b11c2bb1fec2952ddbf80
Gerrit-Change-Number: 21229
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge 
Gerrit-MessageType: merged


Change in osmo-ttcn3-hacks[master]: gbproxy: /bin/sh cannot do "FILES+=", use /bin/bash

2020-11-18 Thread laforge
laforge has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21229 )

Change subject: gbproxy: /bin/sh cannot do "FILES+=", use /bin/bash
..


Patch Set 1: Verified+1 Code-Review+2


--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21229
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I71352f5fa538c3ba599b11c2bb1fec2952ddbf80
Gerrit-Change-Number: 21229
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge 
Gerrit-Comment-Date: Wed, 18 Nov 2020 11:38:02 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment


Change in osmo-ttcn3-hacks[master]: gbproxy: /bin/sh cannot do "FILES+=", use /bin/bash

2020-11-18 Thread laforge
laforge has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21229 )


Change subject: gbproxy: /bin/sh cannot do "FILES+=", use /bin/bash
..

gbproxy: /bin/sh cannot do "FILES+=", use /bin/bash

This fixes an ugly copile failure depending on which shell
provides /bin/sh on the given system:

AF_PACKET_PortType.so: undefined reference to `typeinfo for 
AF__PACKET__PortType::AF__PACKET__PT_PROVIDER'
AF_PACKET_PortType.so: undefined reference to 
`AF__PACKET__PortType::AF__PACKET__PT_PROVIDER::AF__PACKET__PT_PROVIDER(char 
const*)'
AF_PACKET_PortType.so: undefined  [0m [91mreference to 
`AF__PACKET__PortType::AF__PACKET__PT_PROVIDER::set_parameter(char const*, char 
const [0m [91m*)'
AF_PACKET_PortType.so: undefined reference to 
`AF__PACKET__PortType::AF__PACKET__PT_PROVIDER::outgoing_send(AF__PACKET__PortTypes::AF__PACKET__Unitdata
 const&)' [0m [91m
AF_PACKET_PortType.so: undefined reference to 
`AF__PACKET__PortType::AF__PACKET__PT_PROVIDER::user_map(char [0m [91m const*, 
Map_Params& [0m [91m)' [0m [91m
AF_PACKET_PortType.so:  [0m [91mundefined reference to [0m [91m 
`AF__PACKET__PortType:: [0m [91mAF__PACKET__PT_PROVIDER::user_unmap(char 
const*, Map_Params&)'
AF_PACKET_PortType.so: undefined reference to ` [0m 
[91mAF__PACKET__PortType::AF__PACKET__PT_PROVIDER:: [0m 
[91m~AF__PACKET__PT_PROVIDER()' [0m [91m
AF_PACKET_PortType.so [0m [91m: undefined reference  [0m [91mto ` [0m 
[91mAF__PACKET__PortType::AF__PACKET__PT_PROVIDER::Handle_Fd_Event(int, bool, 
bool, bool) [0m [91m'
AF_PACKET_PortType.so:  [0m [91mundefined  [0m [91mreference to [0m [91m 
`AF__PACKET__PortType: [0m [91m:AF__PACKET__PT_PROVIDER::user_start()'

Change-Id: I71352f5fa538c3ba599b11c2bb1fec2952ddbf80
---
M gbproxy/regen_makefile.sh
1 file changed, 1 insertion(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/29/21229/1

diff --git a/gbproxy/regen_makefile.sh b/gbproxy/regen_makefile.sh
index 34bd3f4..93ef712 100755
--- a/gbproxy/regen_makefile.sh
+++ b/gbproxy/regen_makefile.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash

 FILES="*.ttcn *.ttcnpp BSSGP_EncDec.cc LLC_EncDec.cc IPL4asp_PT.cc 
IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc 
NS_CodecPort_CtrlFunctDef.cc RLCMAC_EncDec.cc Native_FunctionDefs.cc 
TELNETasp_PT.cc IPA_CodecPort_CtrlFunctDef.cc GTPU_EncDec.cc GTPC_EncDec.cc 
GTP_CodecPort_CtrlFunctDef.cc SCCP_EncDec.cc  SCTPasp_PT.cc "
 FILES+="AF_PACKET_PT.cc AF_PACKET_PT.hh "

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21229
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I71352f5fa538c3ba599b11c2bb1fec2952ddbf80
Gerrit-Change-Number: 21229
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-MessageType: newchange


Change in osmo-sgsn[master]: gbproxy: Pass TLLI as LSP towards NS to facilitate load sharing

2020-11-18 Thread laforge
laforge has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-sgsn/+/21228 )


Change subject: gbproxy: Pass TLLI as LSP towards NS to facilitate load sharing
..

gbproxy: Pass TLLI as LSP towards NS to facilitate load sharing

Change-Id: I6aef26c126b330a393fc2be5f558b6d5f1d9f7f4
---
M src/gbproxy/gb_proxy.c
1 file changed, 9 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/28/21228/1

diff --git a/src/gbproxy/gb_proxy.c b/src/gbproxy/gb_proxy.c
index fb58284..74a9327 100644
--- a/src/gbproxy/gb_proxy.c
+++ b/src/gbproxy/gb_proxy.c
@@ -811,6 +811,7 @@
struct gprs_ns2_inst *nsi = peer->cfg->nsi;
struct osmo_gprs_ns2_prim nsp = {};
struct msgb *msg = bssgp_msgb_copy(old_msg, "msgb_relay2peer");
+   uint32_t tlli;
int rc;

DEBUGP(DGPRS, "NSEI=%u proxying SGSN->BSS (NS_BVCI=%u, NSEI=%u)\n",
@@ -822,6 +823,14 @@
/* Strip the old NS header, it will be replaced with a new one */
strip_ns_hdr(msg);

+   /* TS 48.018 Section 5.4.2: The link selector parameter is
+* defined in 3GPP TS 48.016. At one side of the Gb interface,
+* all BSSGP UNITDATA PDUs related to an MS shall be passed with
+* the same LSP, e.g. the LSP contains the MS's TLLI, to the
+* underlying network service. */
+   if (gprs_gb_parse_tlli(msgb_data(msg), msgb_length(msg), ) == 1)
+   nsp.u.unitdata.link_selector = tlli;
+
osmo_prim_init(, SAP_NS, PRIM_NS_UNIT_DATA,
   PRIM_OP_REQUEST, msg);
rc = gprs_ns2_recv_prim(nsi, );

--
To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21228
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-sgsn
Gerrit-Branch: master
Gerrit-Change-Id: I6aef26c126b330a393fc2be5f558b6d5f1d9f7f4
Gerrit-Change-Number: 21228
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-MessageType: newchange


Change in osmo-sgsn[master]: gprs_gb_parse: Add function to determine TLLI from encoded BSSGP

2020-11-18 Thread laforge
laforge has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-sgsn/+/21227 )


Change subject: gprs_gb_parse: Add function to determine TLLI from encoded BSSGP
..

gprs_gb_parse: Add function to determine TLLI from encoded BSSGP

This will be needed to use the TLLI as link selector parameter
in osmo-gbproxy in an upcoming patch.

Depends: libosmocore.git I397b32a6e6ea3e9d218446138cceafa9b27685dd
Change-Id: Ia6d5300e63ad23987cbdca824db620305bd583d7
---
M include/osmocom/sgsn/gprs_gb_parse.h
M src/gprs/gprs_gb_parse.c
2 files changed, 51 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/27/21227/1

diff --git a/include/osmocom/sgsn/gprs_gb_parse.h 
b/include/osmocom/sgsn/gprs_gb_parse.h
index 9f43fae..58de17f 100644
--- a/include/osmocom/sgsn/gprs_gb_parse.h
+++ b/include/osmocom/sgsn/gprs_gb_parse.h
@@ -51,6 +51,8 @@
 int gprs_gb_parse_bssgp(uint8_t *bssgp, size_t bssgp_len,
struct gprs_gb_parse_context *parse_ctx);

+int gprs_gb_parse_tlli(const uint8_t *bssgp, size_t bssgp_len, uint32_t *tlli);
+
 const char *gprs_gb_message_name(const struct gprs_gb_parse_context *parse_ctx,
 const char *default_msg_name);

diff --git a/src/gprs/gprs_gb_parse.c b/src/gprs/gprs_gb_parse.c
index e5de4d4..779cbfc 100644
--- a/src/gprs/gprs_gb_parse.c
+++ b/src/gprs/gprs_gb_parse.c
@@ -437,6 +437,55 @@
return gprs_gb_parse_dtap(ghp->data, ghp->data_len, parse_ctx);
 }

+/*! Determine the TLLI from the given BSSGP message.
+ *  \param[in] bssgp pointer to start of BSSGP header
+ *  \param[in] bssgp_len length of BSSGP message in octets
+ *  \param[out] tlli TLLI (if any) in host byte order
+ *  \returns 1 if TLLI found; 0 if none found; negative on parse error */
+int gprs_gb_parse_tlli(const uint8_t *bssgp, size_t bssgp_len, uint32_t *tlli)
+{
+   const struct bssgp_normal_hdr *bgph;
+   const struct bssgp_ud_hdr *budh = NULL;
+   struct tlv_parsed tp;
+   uint8_t pdu_type;
+   const uint8_t *data;
+   size_t data_len;
+
+   if (bssgp_len < sizeof(struct bssgp_normal_hdr))
+   return -EINVAL;
+
+   bgph = (struct bssgp_normal_hdr *)bssgp;
+   pdu_type = bgph->pdu_type;
+
+   if (pdu_type == BSSGP_PDUT_UL_UNITDATA ||
+   pdu_type == BSSGP_PDUT_DL_UNITDATA) {
+   if (bssgp_len < sizeof(struct bssgp_ud_hdr))
+   return -EINVAL;
+   budh = (struct bssgp_ud_hdr *)bssgp;
+   bgph = NULL;
+   data = budh->data;
+   data_len = bssgp_len - sizeof(*budh);
+   } else {
+   data = bgph->data;
+   data_len = bssgp_len - sizeof(*bgph);
+   }
+   if (budh) {
+   *tlli = osmo_load32be((const uint8_t *)>tlli);
+   return 1;
+   }
+
+   if (bssgp_tlv_parse(, data, data_len) < 0)
+   return -EINVAL;
+
+   if (TLVP_PRESENT(, BSSGP_IE_TLLI)) {
+   *tlli = osmo_load32be(TLVP_VAL(, BSSGP_IE_TLLI));
+   return 1;
+   }
+
+   /* No TLLI present in message */
+   return 0;
+}
+
 int gprs_gb_parse_bssgp(uint8_t *bssgp, size_t bssgp_len,
struct gprs_gb_parse_context *parse_ctx)
 {

--
To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/21227
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-sgsn
Gerrit-Branch: master
Gerrit-Change-Id: Ia6d5300e63ad23987cbdca824db620305bd583d7
Gerrit-Change-Number: 21227
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-MessageType: newchange


Change in libosmocore[master]: bssgp: Input argument to bssgp_tlv_parse() should be 'const'

2020-11-18 Thread laforge
laforge has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmocore/+/21226 )


Change subject: bssgp: Input argument to bssgp_tlv_parse() should be 'const'
..

bssgp: Input argument to bssgp_tlv_parse() should be 'const'

Change-Id: I397b32a6e6ea3e9d218446138cceafa9b27685dd
---
M include/osmocom/gprs/gprs_bssgp.h
1 file changed, 1 insertion(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/26/21226/1

diff --git a/include/osmocom/gprs/gprs_bssgp.h 
b/include/osmocom/gprs/gprs_bssgp.h
index 4eb9df4..e962b44 100644
--- a/include/osmocom/gprs/gprs_bssgp.h
+++ b/include/osmocom/gprs/gprs_bssgp.h
@@ -163,7 +163,7 @@
 uint16_t cid);

 /* Wrapper around TLV parser to parse BSSGP IEs */
-static inline int bssgp_tlv_parse(struct tlv_parsed *tp, uint8_t *buf, int len)
+static inline int bssgp_tlv_parse(struct tlv_parsed *tp, const uint8_t *buf, 
int len)
 {
return tlv_parse(tp, _att_def, buf, len, 0, 0);
 }

--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21226
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I397b32a6e6ea3e9d218446138cceafa9b27685dd
Gerrit-Change-Number: 21226
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-MessageType: newchange


Change in osmo-ttcn3-hacks[master]: NS_Emulation: Include NS-VCI in NsUnitdataIndication

2020-11-18 Thread laforge
laforge has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21224 )


Change subject: NS_Emulation: Include NS-VCI in NsUnitdataIndication
..

NS_Emulation: Include NS-VCI in NsUnitdataIndication

The primitive normally only contains NSE + BVCI, but in a tester
we actually want to verify whcih NS-VC a given message has arrived on,
and hence it makes sense to add the NSVCI, too.

Change-Id: I9402bf0be47e5b93c9cfb081eb8f9fa6734c9227
---
M library/BSSGP_Emulation.ttcnpp
M library/NS_Emulation.ttcnpp
2 files changed, 7 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/24/21224/1

diff --git a/library/BSSGP_Emulation.ttcnpp b/library/BSSGP_Emulation.ttcnpp
index b9006a2..898b38d 100644
--- a/library/BSSGP_Emulation.ttcnpp
+++ b/library/BSSGP_Emulation.ttcnpp
@@ -553,6 +553,7 @@
var template (present) NsUnitdataIndication udi := {
bvci := bvci,
nsei := g_cfg.nsei,
+   nsvci := ?,
sdu := *,
bssgp := pdu
}
@@ -1232,6 +1233,7 @@
 template (present) NsUnitdataIndication tr_ptp_BnsUdInd(template (present) 
PDU_BSSGP pdu, template (present) BssgpBvci bvci) := {
bvci := bvci,
nsei := ?,
+   nsvci := ?,
sdu := *,
bssgp := pdu
 }
diff --git a/library/NS_Emulation.ttcnpp b/library/NS_Emulation.ttcnpp
index 2e03880..ab1c136 100644
--- a/library/NS_Emulation.ttcnpp
+++ b/library/NS_Emulation.ttcnpp
@@ -53,6 +53,7 @@
type record NsUnitdataIndication {
BssgpBvci   bvci,
Nseinsei,
+   Nsvci   nsvci,
octetstring sdu optional,
PDU_BSSGP   bssgp optional
}
@@ -62,13 +63,15 @@
   template octetstring 
sdu) := {
bvci := bvci,
nsei := nsei,
+   nsvci := ?,
sdu := sdu,
bssgp := ?
}

-   template (value) NsUnitdataIndication ts_NsUdInd(Nsei nsei, BssgpBvci 
bvci, octetstring sdu) := {
+   template (value) NsUnitdataIndication ts_NsUdInd(Nsei nsei, Nsvci 
nsvci, BssgpBvci bvci, octetstring sdu) := {
bvci := bvci,
nsei := nsei,
+   nsvci := nsvci,
sdu := sdu,
bssgp := dec_PDU_BSSGP(sdu)
}
@@ -582,7 +585,7 @@
}
/* NS-UNITDATA PDU from network to NS-UNITDATA.ind to user */
[] NSCP.receive(tr_NS_UNITDATA(?, ?, ?)) -> value rf {
-   NS_SP.send(ts_NsUdInd(g_config.nsei,
+   NS_SP.send(ts_NsUdInd(g_config.nsei, 
g_nsvc_config.nsvci,
 oct2int(rf.pDU_NS_Unitdata.bVCI),
 rf.pDU_NS_Unitdata.nS_SDU));
}

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21224
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I9402bf0be47e5b93c9cfb081eb8f9fa6734c9227
Gerrit-Change-Number: 21224
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-MessageType: newchange


Change in osmo-ttcn3-hacks[master]: gbproxy: Add test for load sharing function in SGSN->PCU direction

2020-11-18 Thread laforge
laforge has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21225 )


Change subject: gbproxy: Add test for load sharing function in SGSN->PCU 
direction
..

gbproxy: Add test for load sharing function in SGSN->PCU direction

Related: SYS#5209
Change-Id: Ide733d7659ff7f341bedc61fc90947f74d7c4ac3
---
M gbproxy/GBProxy_Tests.ttcn
1 file changed, 77 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/25/21225/1

diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn
index e690f34..1fc041a 100644
--- a/gbproxy/GBProxy_Tests.ttcn
+++ b/gbproxy/GBProxy_Tests.ttcn
@@ -757,6 +757,79 @@
 }


+/* test the load-sharing between multiple NS-VC on the BSS side */
+private function f_TC_dl_ud_unidir(charstring id) runs on BSSGP_ConnHdlr {
+   var integer i;
+
+   for (i := 0; i < 10; i := i+1) {
+   var octetstring payload := f_rnd_octstring(i);
+   var template (value) PDU_BSSGP pdu_tx :=
+   ts_BSSGP_DL_UD(g_pars.tlli, payload, omit, 
ts_BSSGP_IMSI(g_pars.imsi));
+   SGSN[0].send(pdu_tx);
+   }
+   setverdict(pass);
+}
+testcase TC_load_sharing_dl() runs on test_CT_NS
+{
+   const integer num_ue := 10;
+   var BSSGP_ConnHdlr vc_conn[num_ue];
+   f_init();
+
+   /* all BVC are now fully brought up.  We disconnect BSSGP from NS on 
the BSS
+* side so we get the raw NsUnitdataIndication and hence observe 
different
+* NSVCI */
+   disconnect(g_pcu[0].vc_NS:NS_SP, g_pcu[0].vc_BSSGP:BSCP);
+   connect(g_pcu[0].vc_NS:NS_SP, self:NS);
+
+   /* there may still be some NS-VCs coming up? After all, the BVC-RESET 
succeeds after the first
+* of the NS-VC is ALIVE/UNBLOCKED */
+   f_sleep(3.0);
+
+   /* start parallel components generating DL-UNITDATA from the SGSN side 
*/
+   for (var integer i:= 0; i < num_ue; i := i+1) {
+   vc_conn[i] := f_start_handler(refers(f_TC_dl_ud_unidir), 
testcasename(), g_pcu, g_sgsn, 5+i);
+   }
+
+   /* now start counting all the messages that were queued before */
+   /* TODO: We have a hard-coded assumption of 4 NS-VC in one NSE/NS-VCG 
here! */
+   var ro_integer rx_count := { 0, 0, 0, 0 };
+   timer T := 2.0;
+   T.start;
+   alt {
+   [] as_NsUdiCount(0, rx_count);
+   [] as_NsUdiCount(1, rx_count);
+   [] as_NsUdiCount(2, rx_count);
+   [] as_NsUdiCount(3, rx_count);
+   [] NS.receive(NsUnitdataIndication:{0,?,?,*,*}) { repeat; } /* 
signaling BVC */
+   [] NS.receive(NsStatusIndication:?) { repeat; }
+   [] NS.receive {
+   setverdict(fail, "Rx unexpected NS");
+   mtc.stop;
+   }
+   [] T.timeout {
+   }
+   }
+   for (var integer i := 0; i < lengthof(rx_count); i := i+1) {
+   log("Rx on NSVCI ", mp_nsconfig_pcu[0].nsvc[i].nsvci, ": ", 
rx_count[i]);
+   if (rx_count[i] == 0) {
+   setverdict(fail, "Data not shared over all NSVC");
+   }
+   }
+   setverdict(pass);
+}
+private altstep as_NsUdiCount(integer nsvc_idx, inout ro_integer roi) runs on 
test_CT_NS {
+   var NsUnitdataIndication udi;
+   var BssgpBvcConfig bvcc := g_pcu[0].cfg.bvc[0];
+   [] NS.receive(NsUnitdataIndication:{bvcc.bvci, g_pcu[0].cfg.nsei, 
mp_nsconfig_pcu[0].nsvc[nsvc_idx].nsvci, *, *}) -> value udi {
+   roi[nsvc_idx] := roi[nsvc_idx] + 1;
+   repeat;
+   }
+}
+type component test_CT_NS extends test_CT {
+   port NS_PT NS;
+};
+
+


 control {
@@ -765,6 +838,10 @@
execute( TC_dl_unitdata() );
execute( TC_ra_capability() );
execute( TC_ra_capability_upd() );
+   if (false) {
+   /* don't enable this by default, as we don't yet have any 
automatic test setup for FR with 4 NS-VC */
+   execute( TC_load_sharing_dl() );
+   }
 }



--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21225
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ide733d7659ff7f341bedc61fc90947f74d7c4ac3
Gerrit-Change-Number: 21225
Gerrit-PatchSet: 1
Gerrit-Owner: laforge 
Gerrit-MessageType: newchange


Change in osmo-bsc[master]: abis_rsl: parse cm3 and indicate ACCH repetition cap to BTS

2020-11-18 Thread fixeria
fixeria has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/21084 )

Change subject: abis_rsl: parse cm3 and indicate ACCH repetition cap to BTS
..


Patch Set 7:

(1 comment)

https://gerrit.osmocom.org/c/osmo-bsc/+/21084/7/src/osmo-bsc/abis_rsl.c
File src/osmo-bsc/abis_rsl.c:

https://gerrit.osmocom.org/c/osmo-bsc/+/21084/7/src/osmo-bsc/abis_rsl.c@494
PS7, Line 494:  msgb_tlv_put(msg, RSL_IE_OSMO_REP_ACCH_CAP, sizeof(cap),
I think it should be possible to avoid allocating this structure on stack and 
then copying it over to the buffer on heap:

  struct abis_rsl_osmo_rep_acch_cap *cap;

  cap = (struct abis_rsl_osmo_rep_acch_cap *) msgb->tail;
  msgb_tlv_put(msg, RSL_IE_OSMO_REP_ACCH_CAP, sizeof(*cap),
   (uint8_t *) bts->repeated_acch_capability_bts);

  cap->foo = bar; // ...



--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/21084
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I39ae439d05562b35b2e47774dc92f8789fea1a57
Gerrit-Change-Number: 21084
Gerrit-PatchSet: 7
Gerrit-Owner: dexter 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: neels 
Gerrit-CC: fixeria 
Gerrit-CC: laforge 
Gerrit-CC: pespin 
Gerrit-Comment-Date: Wed, 18 Nov 2020 08:22:31 +
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment


Change in osmo-ttcn3-hacks[master]: pcu: Implement ACKing EGPRS Dl TBF blocks

2020-11-18 Thread fixeria
fixeria has posted comments on this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21127 )

Change subject: pcu: Implement ACKing EGPRS Dl TBF blocks
..


Patch Set 5: Code-Review+1


--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21127
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I9f1b621a8365e69d2e1a33d59cb8c7a59639ad94
Gerrit-Change-Number: 21127
Gerrit-PatchSet: 5
Gerrit-Owner: pespin 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria 
Gerrit-Reviewer: laforge 
Gerrit-Comment-Date: Wed, 18 Nov 2020 08:09:07 +
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment