Change in osmocom-bb[master]: layer23/common: move signal loss criteria to L23SAP

2018-10-31 Thread Vadim Yanitskiy
Vadim Yanitskiy has abandoned this change. ( https://gerrit.osmocom.org/11251 )

Change subject: layer23/common: move signal loss criteria to L23SAP
..


Abandoned
--
To view, visit https://gerrit.osmocom.org/11251
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-MessageType: abandon
Gerrit-Change-Id: Ib70bf9104cf3b5489413dd90819fd4955ec16f95
Gerrit-Change-Number: 11251
Gerrit-PatchSet: 2
Gerrit-Owner: Vadim Yanitskiy 
Gerrit-Reviewer: Jenkins Builder (102)


Change in osmocom-bb[master]: layer23/common: move signal loss criteria to L23SAP

2018-10-26 Thread Vadim Yanitskiy
Hello Jenkins Builder,

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

https://gerrit.osmocom.org/11251

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

Change subject: layer23/common: move signal loss criteria to L23SAP
..

layer23/common: move signal loss criteria to L23SAP

Change-Id: Ib70bf9104cf3b5489413dd90819fd4955ec16f95
---
M src/host/layer23/src/common/l1ctl.c
M src/host/layer23/src/common/l23sap.c
2 files changed, 83 insertions(+), 67 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/51/11251/2
--
To view, visit https://gerrit.osmocom.org/11251
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ib70bf9104cf3b5489413dd90819fd4955ec16f95
Gerrit-Change-Number: 11251
Gerrit-PatchSet: 2
Gerrit-Owner: Vadim Yanitskiy 
Gerrit-Reviewer: Jenkins Builder (102)


Change in osmocom-bb[master]: layer23/common: move signal loss criteria to L23SAP

2018-10-06 Thread Vadim Yanitskiy
Vadim Yanitskiy has uploaded this change for review. ( 
https://gerrit.osmocom.org/11251


Change subject: layer23/common: move signal loss criteria to L23SAP
..

layer23/common: move signal loss criteria to L23SAP

Change-Id: Ib70bf9104cf3b5489413dd90819fd4955ec16f95
---
M src/host/layer23/src/common/l1ctl.c
M src/host/layer23/src/common/l23sap.c
2 files changed, 83 insertions(+), 67 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/51/11251/1

diff --git a/src/host/layer23/src/common/l1ctl.c 
b/src/host/layer23/src/common/l1ctl.c
index 4346da9..a08fac2 100644
--- a/src/host/layer23/src/common/l1ctl.c
+++ b/src/host/layer23/src/common/l1ctl.c
@@ -122,8 +122,6 @@
 {
struct l1ctl_info_dl *dl;
struct l1ctl_data_ind *ccch;
-   struct rx_meas_stat *meas = >meas;
-   uint8_t chan_type, chan_ts, chan_ss;
struct gsm_time tm;

if (msgb_l1len(msg) < sizeof(*dl)) {
@@ -138,76 +136,11 @@
ccch = (struct l1ctl_data_ind *) msg->l2h;

gsm_fn2gsmtime(, ntohl(dl->frame_nr));
-   rsl_dec_chan_nr(dl->chan_nr, _type, _ss, _ts);
DEBUGP(DL1C, "%s (%.4u/%.2u/%.2u) %d dBm: %s\n",
rsl_chan_nr_str(dl->chan_nr), tm.t1, tm.t2, tm.t3,
(int)dl->rx_level-110,
osmo_hexdump(ccch->data, sizeof(ccch->data)));

-   meas->last_fn = ntohl(dl->frame_nr);
-   meas->frames++;
-   meas->snr += dl->snr;
-   meas->berr += dl->num_biterr;
-   meas->rxlev += dl->rx_level;
-
-   /* counting loss criteria */
-   if (!(dl->link_id & 0x40)) {
-   switch (chan_type) {
-   case RSL_CHAN_PCH_AGCH:
-   /* only look at one CCCH frame in each 51 multiframe.
-* FIXME: implement DRX
-* - select correct paging block that is for us.
-* - initialize ds_fail according to BS_PA_MFRMS.
-*/
-   if ((dl->frame_nr % 51) != 6)
-   break;
-   if (!meas->ds_fail)
-   break;
-   if (dl->fire_crc >= 2)
-   meas->dsc -= 4;
-   else
-   meas->dsc += 1;
-   if (meas->dsc > meas->ds_fail)
-   meas->dsc = meas->ds_fail;
-   if (meas->dsc < meas->ds_fail)
-   LOGP(DL1C, LOGL_INFO, "LOSS counter for CCCH 
%d\n", meas->dsc);
-   if (meas->dsc > 0)
-   break;
-   meas->ds_fail = 0;
-   osmo_signal_dispatch(SS_L1CTL, S_L1CTL_LOSS_IND, ms);
-   break;
-   }
-   } else {
-   switch (chan_type) {
-   case RSL_CHAN_Bm_ACCHs:
-   case RSL_CHAN_Lm_ACCHs:
-   case RSL_CHAN_SDCCH4_ACCH:
-   case RSL_CHAN_SDCCH8_ACCH:
-   if (!meas->rl_fail)
-   break;
-   if (dl->fire_crc >= 2)
-   meas->s -= 1;
-   else
-   meas->s += 2;
-   if (meas->s > meas->rl_fail)
-   meas->s = meas->rl_fail;
-   if (meas->s < meas->rl_fail)
-   LOGP(DL1C, LOGL_NOTICE, "LOSS counter for ACCH 
%d\n", meas->s);
-   if (meas->s > 0)
-   break;
-   meas->rl_fail = 0;
-   osmo_signal_dispatch(SS_L1CTL, S_L1CTL_LOSS_IND, ms);
-   break;
-   }
-   }
-
-   if (dl->fire_crc >= 2) {
-   LOGP(DL1C, LOGL_NOTICE, "Dropping frame with %u bit errors\n",
-   dl->num_biterr);
-   msgb_free(msg);
-   return 0;
-   }
-
/* Send it up towards LAPDm via L23SAP */
return l23sap_data_ind(ms, msg);
 }
diff --git a/src/host/layer23/src/common/l23sap.c 
b/src/host/layer23/src/common/l23sap.c
index a34f515..fbdc75c 100644
--- a/src/host/layer23/src/common/l23sap.c
+++ b/src/host/layer23/src/common/l23sap.c
@@ -2,6 +2,7 @@
  * L23SAP (L2&3 Service Access Point), an interface between
  * L1 implementation and the upper layers (i.e. L2&3).
  *
+ * (C) 2010 by Andreas Eversberg 
  * (C) 2011 by Harald Welte 
  * (C) 2018 by Vadim Yanitskiy 
  *
@@ -34,6 +35,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 

@@ -47,6 +49,81 @@

 extern struct gsmtap_inst *gsmtap_inst;

+static int l23sap_check_dl_loss(struct osmocom_ms *ms,
+   struct l1ctl_info_dl *dl)
+{
+   struct rx_meas_stat *meas = >meas;
+   uint8_t chan_type, chan_ts, chan_ss;
+
+