<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/libosmo-abis/+/16818">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">introduce and use logging macros with context on E1 line / timeslot<br><br>Change-Id: I447a2360757fed97ed50f9db1e2efbf2f90e46a0<br>---<br>M include/osmocom/abis/e1_input.h<br>M src/e1_input.c<br>M src/input/dahdi.c<br>M src/input/misdn.c<br>M src/input/rs232.c<br>M src/input/unixsocket.c<br>6 files changed, 123 insertions(+), 155 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/18/16818/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/abis/e1_input.h b/include/osmocom/abis/e1_input.h</span><br><span>index e6d5154..de1c504 100644</span><br><span>--- a/include/osmocom/abis/e1_input.h</span><br><span>+++ b/include/osmocom/abis/e1_input.h</span><br><span>@@ -14,6 +14,12 @@</span><br><span> #define NUM_E1_TS   32</span><br><span> #define E1INP_USE_DEFAULT (-1)</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#define LOGPITS(e1ts, ss, level, fmt, args ...) \</span><br><span style="color: hsl(120, 100%, 40%);">+       LOGP(ss, level, "E1TS(%u:%u) " fmt, (e1ts)->line->num, (e1ts)->num, ## args)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#define LOGPIL(e1l, ss, level, fmt, args ...) \</span><br><span style="color: hsl(120, 100%, 40%);">+       LOGP(ss, level, "E1L(%u) " fmt, (e1l)->num, ## args)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> enum e1inp_sign_type {</span><br><span>    E1INP_SIGN_NONE,</span><br><span>     E1INP_SIGN_OML,</span><br><span>diff --git a/src/e1_input.c b/src/e1_input.c</span><br><span>index 9e2f7b0..a707438 100644</span><br><span>--- a/src/e1_input.c</span><br><span>+++ b/src/e1_input.c</span><br><span>@@ -354,8 +354,7 @@</span><br><span> </span><br><span>       line = e1inp_line_find(e1_nr);</span><br><span>       if (line) {</span><br><span style="color: hsl(0, 100%, 40%);">-             LOGP(DLINP, LOGL_ERROR, "E1 Line %u already exists\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                     e1_nr);</span><br><span style="color: hsl(120, 100%, 40%);">+          LOGPIL(line, DLINP, LOGL_ERROR, "E1 Line %u already exists\n", e1_nr);</span><br><span>             return NULL;</span><br><span>         }</span><br><span> </span><br><span>@@ -375,7 +374,7 @@</span><br><span> </span><br><span>      line->rate_ctr = rate_ctr_group_alloc(line, &e1inp_ctr_g_d, line->num);</span><br><span>    if (!line->rate_ctr) {</span><br><span style="color: hsl(0, 100%, 40%);">-               LOGP(DLINP, LOGL_ERROR, "Cannot allocate counter group\n");</span><br><span style="color: hsl(120, 100%, 40%);">+         LOGPIL(line, DLINP, LOGL_ERROR, "Cannot allocate counter group\n");</span><br><span>                talloc_free(line);</span><br><span>           return NULL;</span><br><span>         }</span><br><span>@@ -429,7 +428,7 @@</span><br><span> {</span><br><span>         int old_refcnt = line->refcnt++;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DLINP, LOGL_DEBUG, "Line '%s' (%p) reference count get: %d -> %d\n",</span><br><span style="color: hsl(120, 100%, 40%);">+        LOGPIL(line, DLINP, LOGL_DEBUG, "Line '%s' (%p) reference count get: %d -> %d\n",</span><br><span>            line->name, line, old_refcnt, line->refcnt);</span><br><span> }</span><br><span> </span><br><span>@@ -437,7 +436,7 @@</span><br><span> {</span><br><span>  int old_refcnt = line->refcnt--;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DLINP, LOGL_DEBUG, "Line '%s' (%p) reference count put: %d -> %d\n",</span><br><span style="color: hsl(120, 100%, 40%);">+        LOGPIL(line, DLINP, LOGL_DEBUG, "Line '%s' (%p) reference count put: %d -> %d\n",</span><br><span>            line->name, line, old_refcnt, line->refcnt);</span><br><span> </span><br><span>  if (line->refcnt == 0) {</span><br><span>@@ -598,13 +597,13 @@</span><br><span>          /* consult the list of signalling links */</span><br><span>           link = e1inp_lookup_sign_link(ts, tei, sapi);</span><br><span>                if (!link) {</span><br><span style="color: hsl(0, 100%, 40%);">-                    LOGP(DLMI, LOGL_ERROR, "didn't find signalling link for "</span><br><span style="color: hsl(120, 100%, 40%);">+                       LOGPITS(ts, DLMI, LOGL_ERROR, "didn't find signalling link for "</span><br><span>                               "tei %d, sapi %d\n", tei, sapi);</span><br><span>                   msgb_free(msg);</span><br><span>                      return -EINVAL;</span><br><span>              }</span><br><span>            if (!ts->line->ops->sign_link) {</span><br><span style="color: hsl(0, 100%, 40%);">-                       LOGP(DLINP, LOGL_ERROR, "Fix your application, "</span><br><span style="color: hsl(120, 100%, 40%);">+                    LOGPITS(ts, DLINP, LOGL_ERROR, "Fix your application, "</span><br><span>                            "no action set for signalling messages.\n");</span><br><span>                       msgb_free(msg);</span><br><span>                      return -ENOENT;</span><br><span>@@ -624,7 +623,7 @@</span><br><span>                break;</span><br><span>       default:</span><br><span>             ret = -EINVAL;</span><br><span style="color: hsl(0, 100%, 40%);">-          LOGP(DLMI, LOGL_ERROR, "unknown TS type %u\n", ts->type);</span><br><span style="color: hsl(120, 100%, 40%);">+                LOGPITS(ts, DLMI, LOGL_ERROR, "unknown TS type %u\n", ts->type);</span><br><span>                msgb_free(msg);</span><br><span>              break;</span><br><span>       }</span><br><span>@@ -652,7 +651,7 @@</span><br><span>      else</span><br><span>                 tei = msg->data[1] >> 1;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   DEBUGP(DLMI, "<= len = %d, sapi(%d) tei(%d)\n", msg->len, sapi, tei);</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "<= len = %d, sapi(%d) tei(%d)\n", msg->len, sapi, tei);</span><br><span> </span><br><span>       ret = lapd_receive(e1i_ts->lapd, msg, &error);</span><br><span>        if (ret < 0) {</span><br><span>@@ -679,18 +678,18 @@</span><br><span> </span><br><span>        switch (dp->oph.primitive) {</span><br><span>      case PRIM_DL_EST:</span><br><span style="color: hsl(0, 100%, 40%);">-               DEBUGP(DLMI, "DL_EST: sapi(%d) tei(%d)\n", sapi, tei);</span><br><span style="color: hsl(120, 100%, 40%);">+              LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "DL_EST: sapi(%d) tei(%d)\n", sapi, tei);</span><br><span>                e1inp_event(e1i_ts, S_L_INP_TEI_UP, tei, sapi);</span><br><span>              break;</span><br><span>       case PRIM_DL_REL:</span><br><span style="color: hsl(0, 100%, 40%);">-               DEBUGP(DLMI, "DL_REL: sapi(%d) tei(%d)\n", sapi, tei);</span><br><span style="color: hsl(120, 100%, 40%);">+              LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "DL_REL: sapi(%d) tei(%d)\n", sapi, tei);</span><br><span>                e1inp_event(e1i_ts, S_L_INP_TEI_DN, tei, sapi);</span><br><span>              break;</span><br><span>       case PRIM_DL_DATA:</span><br><span>   case PRIM_DL_UNIT_DATA:</span><br><span>              if (dp->oph.operation == PRIM_OP_INDICATION) {</span><br><span>                    msg->l2h = msg->l3h;</span><br><span style="color: hsl(0, 100%, 40%);">-                      DEBUGP(DLMI, "RX: %s sapi=%d tei=%d\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                     LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "RX: %s sapi=%d tei=%d\n",</span><br><span>                               osmo_hexdump(msgb_l2(msg), msgb_l2len(msg)),</span><br><span>                                 sapi, tei);</span><br><span>                  e1inp_rx_ts(e1i_ts, msg, tei, sapi);</span><br><span>@@ -698,7 +697,7 @@</span><br><span>           }</span><br><span>            break;</span><br><span>       case PRIM_MDL_ERROR:</span><br><span style="color: hsl(0, 100%, 40%);">-            DEBUGP(DLMI, "MDL_EERROR: cause(%d)\n", dp->u.error_ind.cause);</span><br><span style="color: hsl(120, 100%, 40%);">+          LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "MDL_EERROR: cause(%d)\n", dp->u.error_ind.cause);</span><br><span>            break;</span><br><span>       default:</span><br><span>             printf("ERROR: unknown prim\n");</span><br><span>@@ -738,8 +737,7 @@</span><br><span>                     return NULL;</span><br><span>                 len = subchan_mux_out(&e1i_ts->trau.mux, msg->data, 40);</span><br><span>           if (len != 40) {</span><br><span style="color: hsl(0, 100%, 40%);">-                        LOGP(DLMI, LOGL_ERROR,</span><br><span style="color: hsl(0, 100%, 40%);">-                       "cannot transmit, failed to mux\n");</span><br><span style="color: hsl(120, 100%, 40%);">+                   LOGPITS(e1i_ts, DLMI, LOGL_ERROR, "cannot transmit, failed to mux\n");</span><br><span>                     msgb_free(msg);</span><br><span>                      return NULL;</span><br><span>                 }</span><br><span>@@ -754,7 +752,7 @@</span><br><span>              msg = msgb_dequeue(&e1i_ts->hdlc.tx_queue);</span><br><span>           break;</span><br><span>       default:</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DLMI, LOGL_ERROR, "unsupported E1 TS type %u\n", e1i_ts->type);</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGPITS(e1i_ts, DLMI, LOGL_ERROR, "unsupported E1 TS type %u\n", e1i_ts->type);</span><br><span>                 return NULL;</span><br><span>         }</span><br><span>    return msg;</span><br><span>diff --git a/src/input/dahdi.c b/src/input/dahdi.c</span><br><span>index 4d01fe0..6da1a02 100644</span><br><span>--- a/src/input/dahdi.c</span><br><span>+++ b/src/input/dahdi.c</span><br><span>@@ -134,7 +134,7 @@</span><br><span>   if (rc < 0)</span><br><span>               return;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     LOGP(DLMI, LOGL_NOTICE, "Line %u(%s) / TS %u DAHDI EVENT %s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+     LOGPITS(ts, DLMI, LOGL_NOTICE, "Line %u(%s) / TS %u DAHDI EVENT %s\n",</span><br><span>             ts->line->num, ts->line->name, ts->num,</span><br><span>               get_value_string(dahdi_evt_names, evt));</span><br><span> </span><br><span>@@ -181,12 +181,12 @@</span><br><span>         if (ret == -1)</span><br><span>               handle_dahdi_exception(e1i_ts);</span><br><span>      else if (ret < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-          LOGP(DLMI, LOGL_ERROR, "%s read failed %d (%s)\n", __func__, ret, strerror(errno));</span><br><span style="color: hsl(120, 100%, 40%);">+         LOGPITS(e1i_ts, DLMI, LOGL_ERROR, "%s read failed %d (%s)\n", __func__, ret, strerror(errno));</span><br><span>             return ret;</span><br><span>  }</span><br><span>    msgb_put(msg, ret - 2);</span><br><span>      if (ret <= 3) {</span><br><span style="color: hsl(0, 100%, 40%);">-              LOGP(DLMI, LOGL_ERROR, "%s read failed %d (%s)\n", __func__, ret, strerror(errno));</span><br><span style="color: hsl(120, 100%, 40%);">+         LOGPITS(e1i_ts, DLMI, LOGL_ERROR, "%s read failed %d (%s)\n", __func__, ret, strerror(errno));</span><br><span>             return ret;</span><br><span>  }</span><br><span> </span><br><span>@@ -199,7 +199,7 @@</span><br><span>   * writeset, since it doesn't support poll() based</span><br><span>        * write flow control */</span><br><span>     if (e1i_ts->type == E1INP_TS_TYPE_TRAU) {</span><br><span style="color: hsl(0, 100%, 40%);">-            LOGP(DLINP, LOGL_DEBUG, "Trying to write TRAU ts\n");</span><br><span style="color: hsl(120, 100%, 40%);">+               LOGPITS(e1i_ts, DLINP, LOGL_DEBUG, "Trying to write TRAU ts\n");</span><br><span>           return 0;</span><br><span>    }</span><br><span> </span><br><span>@@ -229,7 +229,7 @@</span><br><span>  if (ret == -1)</span><br><span>               handle_dahdi_exception(e1i_ts);</span><br><span>      else if (ret < 0)</span><br><span style="color: hsl(0, 100%, 40%);">-            LOGP(DLMI, LOGL_NOTICE, "%s write failed %d\n", __func__, ret);</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGPITS(e1i_ts, DLMI, LOGL_NOTICE, "%s write failed %d\n", __func__, ret);</span><br><span> }</span><br><span> </span><br><span> static int handle_ts1_write(struct osmo_fd *bfd)</span><br><span>@@ -249,7 +249,7 @@</span><br><span>              return 0;</span><br><span>    }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   DEBUGP(DLMI, "TX: %s\n", osmo_hexdump(msg->data, msg->len));</span><br><span style="color: hsl(120, 100%, 40%);">+  LOGPITS(e1i_ts, DLMI, LOGL_ERROR, "TX: %s\n", osmo_hexdump(msg->data, msg->len));</span><br><span>    lapd_transmit(e1i_ts->lapd, sign_link->tei,</span><br><span>                    sign_link->sapi, msg);</span><br><span> </span><br><span>@@ -278,7 +278,7 @@</span><br><span>  if (ret == -1)</span><br><span>               handle_dahdi_exception(e1i_ts);</span><br><span>      else if (ret < 0)</span><br><span style="color: hsl(0, 100%, 40%);">-            LOGP(DLMI, LOGL_NOTICE, "%s write failed %d\n", __func__, ret);</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGPITS(e1i_ts, DLMI, LOGL_NOTICE, "%s write failed %d\n", __func__, ret);</span><br><span> }</span><br><span> </span><br><span> static int handle_hdlc_read(struct osmo_fd *bfd)</span><br><span>@@ -296,12 +296,12 @@</span><br><span>    if (ret == -1)</span><br><span>               handle_dahdi_exception(e1i_ts);</span><br><span>      else if (ret < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-          LOGP(DLMI, LOGL_ERROR, "%s read failed %d (%s)\n", __func__, ret, strerror(errno));</span><br><span style="color: hsl(120, 100%, 40%);">+         LOGPITS(e1i_ts, DLMI, LOGL_ERROR, "%s read failed %d (%s)\n", __func__, ret, strerror(errno));</span><br><span>             return ret;</span><br><span>  }</span><br><span>    msgb_put(msg, ret - 2);</span><br><span>      if (ret <= 3) {</span><br><span style="color: hsl(0, 100%, 40%);">-              LOGP(DLMI, LOGL_ERROR, "%s read failed %d (%s)\n", __func__, ret, strerror(errno));</span><br><span style="color: hsl(120, 100%, 40%);">+         LOGPITS(e1i_ts, DLMI, LOGL_ERROR, "%s read failed %d (%s)\n", __func__, ret, strerror(errno));</span><br><span>             return ret;</span><br><span>  }</span><br><span> </span><br><span>@@ -351,13 +351,12 @@</span><br><span>        ret = subchan_mux_out(mx, tx_buf, D_BCHAN_TX_GRAN);</span><br><span> </span><br><span>      if (ret != D_BCHAN_TX_GRAN) {</span><br><span style="color: hsl(0, 100%, 40%);">-           LOGP(DLINP, LOGL_DEBUG, "Huh, got ret of %d\n", ret);</span><br><span style="color: hsl(120, 100%, 40%);">+               LOGPITS(e1i_ts, DLINP, LOGL_DEBUG, "Huh, got ret of %d\n", ret);</span><br><span>           if (ret < 0)</span><br><span>                      return ret;</span><br><span>  }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   DEBUGP(DLMIB, "BCHAN TX: %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-               osmo_hexdump(tx_buf, D_BCHAN_TX_GRAN));</span><br><span style="color: hsl(120, 100%, 40%);">+       LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "BCHAN TX: %s\n", osmo_hexdump(tx_buf, D_BCHAN_TX_GRAN));</span><br><span> </span><br><span>   if (invertbits) {</span><br><span>            flip_buf_bits(tx_buf, ret);</span><br><span>@@ -365,7 +364,7 @@</span><br><span> </span><br><span>        ret = write(bfd->fd, tx_buf, ret);</span><br><span>        if (ret < D_BCHAN_TX_GRAN)</span><br><span style="color: hsl(0, 100%, 40%);">-           LOGP(DLINP, LOGL_DEBUG, "send returns %d instead of %d\n",</span><br><span style="color: hsl(120, 100%, 40%);">+          LOGPITS(e1i_ts, DLINP, LOGL_DEBUG, "send returns %d instead of %d\n",</span><br><span>                      ret, D_BCHAN_TX_GRAN);</span><br><span> </span><br><span>   return ret;</span><br><span>@@ -386,8 +385,7 @@</span><br><span> </span><br><span>        ret = read(bfd->fd, msg->data, D_TSX_ALLOC_SIZE);</span><br><span>      if (ret < 0 || ret != D_TSX_ALLOC_SIZE) {</span><br><span style="color: hsl(0, 100%, 40%);">-            LOGP(DLINP, LOGL_DEBUG, "read error  %d %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                        ret, strerror(errno));</span><br><span style="color: hsl(120, 100%, 40%);">+                LOGPITS(e1i_ts, DLINP, LOGL_DEBUG, "read error  %d %s\n", ret, strerror(errno));</span><br><span>           return ret;</span><br><span>  }</span><br><span> </span><br><span>@@ -398,8 +396,7 @@</span><br><span>  msgb_put(msg, ret);</span><br><span> </span><br><span>      msg->l2h = msg->data;</span><br><span style="color: hsl(0, 100%, 40%);">-     DEBUGP(DLMIB, "BCHAN RX: %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-               osmo_hexdump(msgb_l2(msg), ret));</span><br><span style="color: hsl(120, 100%, 40%);">+     LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "BCHAN RX: %s\n", osmo_hexdump(msgb_l2(msg), ret));</span><br><span>     ret = e1inp_rx_ts(e1i_ts, msg, 0, 0);</span><br><span>        /* physical layer indicates that data has been sent,</span><br><span>          * we thus can send some more data */</span><br><span>@@ -426,12 +423,11 @@</span><br><span>                /* This might lead to a transmit underrun, as we call tx</span><br><span>              * from the rx path, as there's no select/poll on dahdi</span><br><span>           * */</span><br><span style="color: hsl(0, 100%, 40%);">-           LOGP(DLINP, LOGL_NOTICE, "unexpected msg->len = %u, "</span><br><span style="color: hsl(120, 100%, 40%);">+            LOGPITS(e1i_ts, DLINP, LOGL_NOTICE, "unexpected msg->len = %u, "</span><br><span>                     "expected %u\n", msg->len, D_BCHAN_TX_GRAN);</span><br><span>       }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   DEBUGP(DLMIB, "RAW CHAN TX: %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-            osmo_hexdump(msg->data, msg->len));</span><br><span style="color: hsl(120, 100%, 40%);">+     LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "RAW CHAN TX: %s\n", osmo_hexdump(msg->data, msg->len));</span><br><span> </span><br><span>      if (0/*invertbits*/) {</span><br><span>               flip_buf_bits(msg->data, msg->len);</span><br><span>@@ -439,8 +435,7 @@</span><br><span> </span><br><span>  ret = write(bfd->fd, msg->data, msg->len);</span><br><span>  if (ret < msg->len)</span><br><span style="color: hsl(0, 100%, 40%);">-               LOGP(DLINP, LOGL_DEBUG, "send returns %d instead of %d\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                    ret, msg->len);</span><br><span style="color: hsl(120, 100%, 40%);">+            LOGPITS(e1i_ts, DLINP, LOGL_DEBUG, "send returns %d instead of %d\n", ret, msg->len);</span><br><span>   msgb_free(msg);</span><br><span> </span><br><span>  return ret;</span><br><span>@@ -459,8 +454,7 @@</span><br><span> </span><br><span>        ret = read(bfd->fd, msg->data, D_TSX_ALLOC_SIZE);</span><br><span>      if (ret < 0 || ret != D_TSX_ALLOC_SIZE) {</span><br><span style="color: hsl(0, 100%, 40%);">-            LOGP(DLINP, LOGL_DEBUG, "read error  %d %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                        ret, strerror(errno));</span><br><span style="color: hsl(120, 100%, 40%);">+                LOGPITS(e1i_ts, DLINP, LOGL_DEBUG, "read error  %d %s\n", ret, strerror(errno));</span><br><span>           return ret;</span><br><span>  }</span><br><span> </span><br><span>@@ -471,8 +465,7 @@</span><br><span>  msgb_put(msg, ret);</span><br><span> </span><br><span>      msg->l2h = msg->data;</span><br><span style="color: hsl(0, 100%, 40%);">-     DEBUGP(DLMIB, "RAW CHAN RX: %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-            osmo_hexdump(msgb_l2(msg), ret));</span><br><span style="color: hsl(120, 100%, 40%);">+     LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "RAW CHAN RX: %s\n", osmo_hexdump(msgb_l2(msg), ret));</span><br><span>  ret = e1inp_rx_ts(e1i_ts, msg, 0, 0);</span><br><span>        /* physical layer indicates that data has been sent,</span><br><span>          * we thus can send some more data */</span><br><span>@@ -530,8 +523,7 @@</span><br><span>           * write flow control */</span><br><span>             break;</span><br><span>       default:</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DLINP, LOGL_NOTICE,</span><br><span style="color: hsl(0, 100%, 40%);">-                        "unknown E1 TS type %u\n", e1i_ts->type);</span><br><span style="color: hsl(120, 100%, 40%);">+                LOGPITS(e1i_ts, DLINP, LOGL_NOTICE, "unknown E1 TS type %u\n", e1i_ts->type);</span><br><span>           break;</span><br><span>       }</span><br><span> </span><br><span>@@ -641,9 +633,8 @@</span><br><span> </span><br><span>      scfg = span_cfgs[line->port_nr];</span><br><span>  if (!scfg) {</span><br><span style="color: hsl(0, 100%, 40%);">-            LOGP(DLMI, LOGL_ERROR, "Line %u(%s): DAHDI Port %u (Span %u) "</span><br><span style="color: hsl(0, 100%, 40%);">-                        "doesn't exist\n", line->num, line->name, line->port_nr,</span><br><span style="color: hsl(0, 100%, 40%);">-                 line->port_nr+1);</span><br><span style="color: hsl(120, 100%, 40%);">+          LOGPIL(line, DLMI, LOGL_ERROR, "Line %u(%s): DAHDI Port %u (Span %u) doesn't exist\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                  line->num, line->name, line->port_nr, line->port_nr+1);</span><br><span>          return -EIO;</span><br><span>         }</span><br><span> </span><br><span>@@ -733,9 +724,7 @@</span><br><span> </span><br><span>              ret = osmo_fd_register(bfd);</span><br><span>                 if (ret < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                       LOGP(DLINP, LOGL_ERROR,</span><br><span style="color: hsl(0, 100%, 40%);">-                         "could not register FD: %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                                strerror(ret));</span><br><span style="color: hsl(120, 100%, 40%);">+                       LOGPITS(e1i_ts, DLINP, LOGL_ERROR, "could not register FD: %s\n", strerror(ret));</span><br><span>                  return ret;</span><br><span>          }</span><br><span>    }</span><br><span>diff --git a/src/input/misdn.c b/src/input/misdn.c</span><br><span>index bdca9d5..fef1c0f 100644</span><br><span>--- a/src/input/misdn.c</span><br><span>+++ b/src/input/misdn.c</span><br><span>@@ -124,21 +124,21 @@</span><br><span> </span><br><span>       msgb_put(msg, ret);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- DEBUGP(DLMI, "alen =%d, dev(%d) channel(%d) sapi(%d) tei(%d)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+    LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "alen =%d, dev(%d) channel(%d) sapi(%d) tei(%d)\n",</span><br><span>              alen, l2addr.dev, l2addr.channel, l2addr.sapi, l2addr.tei);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- DEBUGP(DLMI, "<= len = %d, prim(0x%x) id(0x%x): %s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+   LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "<= len = %d, prim(0x%x) id(0x%x): %s\n",</span><br><span>             ret, hh->prim, hh->id, get_value_string(prim_names, hh->prim));</span><br><span> </span><br><span>         switch (hh->prim) {</span><br><span>       case DL_INFORMATION_IND:</span><br><span>             /* mISDN tells us which channel number is allocated for this</span><br><span>                  * tuple of (SAPI, TEI). */</span><br><span style="color: hsl(0, 100%, 40%);">-             DEBUGP(DLMI, "DL_INFORMATION_IND: use channel(%d) sapi(%d) tei(%d) for now\n",</span><br><span style="color: hsl(120, 100%, 40%);">+              LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "DL_INFORMATION_IND: use channel(%d) sapi(%d) tei(%d) for now\n",</span><br><span>                        l2addr.channel, l2addr.sapi, l2addr.tei);</span><br><span>            link = e1inp_lookup_sign_link(e1i_ts, l2addr.tei, l2addr.sapi);</span><br><span>              if (!link) {</span><br><span style="color: hsl(0, 100%, 40%);">-                    DEBUGPC(DLMI, "mISDN message for unknown sign_link\n");</span><br><span style="color: hsl(120, 100%, 40%);">+                     LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "mISDN message for unknown sign_link\n");</span><br><span>                        msgb_free(msg);</span><br><span>                      return -EINVAL;</span><br><span>              }</span><br><span>@@ -147,14 +147,14 @@</span><br><span>            msgb_free(msg);</span><br><span>              break;</span><br><span>       case DL_ESTABLISH_IND:</span><br><span style="color: hsl(0, 100%, 40%);">-          DEBUGP(DLMI, "DL_ESTABLISH_IND: channel(%d) sapi(%d) tei(%d)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+            LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "DL_ESTABLISH_IND: channel(%d) sapi(%d) tei(%d)\n",</span><br><span>                      l2addr.channel, l2addr.sapi, l2addr.tei);</span><br><span>            /* For some strange reason, sometimes the DL_INFORMATION_IND tells</span><br><span>            * us the wrong channel, and we only get the real channel number</span><br><span>              * during the DL_ESTABLISH_IND */</span><br><span>            link = e1inp_lookup_sign_link(e1i_ts, l2addr.tei, l2addr.sapi);</span><br><span>              if (!link) {</span><br><span style="color: hsl(0, 100%, 40%);">-                    DEBUGPC(DLMI, "mISDN message for unknown sign_link\n");</span><br><span style="color: hsl(120, 100%, 40%);">+                     LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "mISDN message for unknown sign_link\n");</span><br><span>                        msgb_free(msg);</span><br><span>                      return -EINVAL;</span><br><span>              }</span><br><span>@@ -164,7 +164,7 @@</span><br><span>              msgb_free(msg);</span><br><span>              break;</span><br><span>       case DL_RELEASE_IND:</span><br><span style="color: hsl(0, 100%, 40%);">-            DEBUGP(DLMI, "DL_RELEASE_IND: channel(%d) sapi(%d) tei(%d)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+              LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "DL_RELEASE_IND: channel(%d) sapi(%d) tei(%d)\n",</span><br><span>                l2addr.channel, l2addr.sapi, l2addr.tei);</span><br><span>            ret = e1inp_event(e1i_ts, S_L_INP_TEI_DN, l2addr.tei, l2addr.sapi);</span><br><span>          msgb_free(msg);</span><br><span>@@ -172,33 +172,33 @@</span><br><span>      case DL_DATA_IND:</span><br><span>    case DL_UNITDATA_IND:</span><br><span>                msg->l2h = msg->data + MISDN_HEADER_LEN;</span><br><span style="color: hsl(0, 100%, 40%);">-          DEBUGP(DLMI, "RX: %s\n", osmo_hexdump(msgb_l2(msg), ret - MISDN_HEADER_LEN));</span><br><span style="color: hsl(120, 100%, 40%);">+               LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "RX: %s\n", osmo_hexdump(msgb_l2(msg), ret - MISDN_HEADER_LEN));</span><br><span>                 if (mline->use_userspace_lapd) {</span><br><span style="color: hsl(0, 100%, 40%);">-                     LOGP(DLMI, LOGL_ERROR, "DL_DATA_IND but userspace LAPD ?!?\n");</span><br><span style="color: hsl(120, 100%, 40%);">+                     LOGPITS(e1i_ts, DLMI, LOGL_ERROR, "DL_DATA_IND but userspace LAPD ?!?\n");</span><br><span>                         msgb_free(msg);</span><br><span>                      return -EIO;</span><br><span>                 }</span><br><span>            ret = e1inp_rx_ts(e1i_ts, msg, l2addr.tei, l2addr.sapi);</span><br><span>             break;</span><br><span>       case PH_ACTIVATE_IND:</span><br><span style="color: hsl(0, 100%, 40%);">-           DEBUGP(DLMI, "PH_ACTIVATE_IND: channel(%d) sapi(%d) tei(%d)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "PH_ACTIVATE_IND: channel(%d) sapi(%d) tei(%d)\n",</span><br><span>               l2addr.channel, l2addr.sapi, l2addr.tei);</span><br><span>            msgb_free(msg);</span><br><span>              break;</span><br><span>       case PH_DEACTIVATE_IND:</span><br><span style="color: hsl(0, 100%, 40%);">-         DEBUGP(DLMI, "PH_DEACTIVATE_IND: channel(%d) sapi(%d) tei(%d)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+           LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "PH_DEACTIVATE_IND: channel(%d) sapi(%d) tei(%d)\n",</span><br><span>             l2addr.channel, l2addr.sapi, l2addr.tei);</span><br><span>            msgb_free(msg);</span><br><span>              break;</span><br><span>       case PH_DATA_IND:</span><br><span>            if (!mline->use_userspace_lapd) {</span><br><span style="color: hsl(0, 100%, 40%);">-                    LOGP(DLMI, LOGL_ERROR, "PH_DATA_IND but kernel LAPD ?!?\n");</span><br><span style="color: hsl(120, 100%, 40%);">+                        LOGPITS(e1i_ts, DLMI, LOGL_ERROR, "PH_DATA_IND but kernel LAPD ?!?\n");</span><br><span>                    return -EIO;</span><br><span>                 }</span><br><span>            /* remove the Misdn Header */</span><br><span>                msgb_pull(msg, MISDN_HEADER_LEN);</span><br><span>            /* hand into the LAPD code */</span><br><span style="color: hsl(0, 100%, 40%);">-           DEBUGP(DLMI, "RX: %s\n", osmo_hexdump(msg->data, msg->len));</span><br><span style="color: hsl(120, 100%, 40%);">+          LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "RX: %s\n", osmo_hexdump(msg->data, msg->len));</span><br><span>            ret = e1inp_rx_ts_lapd(e1i_ts, msg);</span><br><span>                 break;</span><br><span>       default:</span><br><span>@@ -252,9 +252,8 @@</span><br><span>       }</span><br><span> </span><br><span>        if (mline->use_userspace_lapd) {</span><br><span style="color: hsl(0, 100%, 40%);">-             DEBUGP(DLMI, "TX %u/%u/%u: %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                     line->num, sign_link->tei, sign_link->sapi,</span><br><span style="color: hsl(0, 100%, 40%);">-                    osmo_hexdump(msg->data, msg->len));</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "TX %u/%u/%u: %s\n", line->num, sign_link->tei,</span><br><span style="color: hsl(120, 100%, 40%);">+                     sign_link->sapi, osmo_hexdump(msg->data, msg->len));</span><br><span>                lapd_transmit(e1i_ts->lapd, sign_link->tei,</span><br><span>                            sign_link->sapi, msg);</span><br><span>            ret = 0;</span><br><span>@@ -265,7 +264,7 @@</span><br><span>               hh = (struct mISDNhead *) msgb_push(msg, sizeof(*hh));</span><br><span>               hh->prim = DL_DATA_REQ;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-          DEBUGP(DLMI, "TX channel(%d) TEI(%d) SAPI(%d): %s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+               LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "TX channel(%d) TEI(%d) SAPI(%d): %s\n",</span><br><span>                         sign_link->driver.misdn.channel, sign_link->tei,</span><br><span>                       sign_link->sapi, osmo_hexdump(l2_data, msg->len - MISDN_HEADER_LEN));</span><br><span> </span><br><span>@@ -295,13 +294,13 @@</span><br><span> static void misdn_write_msg(struct msgb *msg, void *cbdata)</span><br><span> {</span><br><span>  struct osmo_fd *bfd = cbdata;</span><br><span style="color: hsl(0, 100%, 40%);">-// struct e1inp_line *line = bfd->data;</span><br><span style="color: hsl(0, 100%, 40%);">-//       unsigned int ts_nr = bfd->priv_nr;</span><br><span style="color: hsl(0, 100%, 40%);">-// struct e1inp_ts *e1i_ts = &line->ts[ts_nr-1];</span><br><span style="color: hsl(120, 100%, 40%);">+  struct e1inp_line *line = bfd->data;</span><br><span style="color: hsl(120, 100%, 40%);">+       unsigned int ts_nr = bfd->priv_nr;</span><br><span style="color: hsl(120, 100%, 40%);">+ struct e1inp_ts *e1i_ts = &line->ts[ts_nr-1];</span><br><span>         struct mISDNhead *hh;</span><br><span>        int ret;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    DEBUGP(DLMI, "PH_DATA_REQ: len=%d %s\n", msg->len,</span><br><span style="color: hsl(120, 100%, 40%);">+       LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "PH_DATA_REQ: len=%d %s\n", msg->len,</span><br><span>                 osmo_hexdump(msg->data, msg->len));</span><br><span> </span><br><span>        hh = (struct mISDNhead *) msgb_push(msg, MISDN_HEADER_LEN);</span><br><span>@@ -310,7 +309,7 @@</span><br><span> </span><br><span>        ret = write(bfd->fd, msg->data, msg->len);</span><br><span>  if (ret < 0)</span><br><span style="color: hsl(0, 100%, 40%);">-         LOGP(DLMI, LOGL_NOTICE, "write failed %d\n", ret);</span><br><span style="color: hsl(120, 100%, 40%);">+          LOGPITS(e1i_ts, DLMI, LOGL_NOTICE, "write failed %d\n", ret);</span><br><span> </span><br><span>  msgb_free(msg);</span><br><span> }</span><br><span>@@ -332,13 +331,11 @@</span><br><span> </span><br><span>     subchan_mux_out(mx, tx_buf+sizeof(*hh), len);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       DEBUGP(DLMIB, "BCHAN TX: %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-               osmo_hexdump(tx_buf+sizeof(*hh), len));</span><br><span style="color: hsl(120, 100%, 40%);">+       LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "BCHAN TX: %s\n", osmo_hexdump(tx_buf+sizeof(*hh), len));</span><br><span> </span><br><span>   ret = send(bfd->fd, tx_buf, sizeof(*hh) + len, 0);</span><br><span>        if (ret < sizeof(*hh) + len)</span><br><span style="color: hsl(0, 100%, 40%);">-         DEBUGP(DLMIB, "send returns %d instead of %zu\n", ret,</span><br><span style="color: hsl(0, 100%, 40%);">-                        sizeof(*hh) + len);</span><br><span style="color: hsl(120, 100%, 40%);">+           LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "send returns %d instead of %zu\n", ret, sizeof(*hh) + len);</span><br><span> </span><br><span>        return ret;</span><br><span> }</span><br><span>@@ -368,14 +365,13 @@</span><br><span>     msgb_put(msg, ret);</span><br><span> </span><br><span>      if (hh->prim != PH_CONTROL_IND)</span><br><span style="color: hsl(0, 100%, 40%);">-              DEBUGP(DLMIB, "<= BCHAN len = %d, prim(0x%x) id(0x%x): %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                      ret, hh->prim, hh->id,</span><br><span style="color: hsl(0, 100%, 40%);">-                    get_value_string(prim_names, hh->prim));</span><br><span style="color: hsl(120, 100%, 40%);">+           LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "<= BCHAN len = %d, prim(0x%x) id(0x%x): %s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                       ret, hh->prim, hh->id, get_value_string(prim_names, hh->prim));</span><br><span> </span><br><span>         switch (hh->prim) {</span><br><span>       case PH_DATA_IND:</span><br><span>            msg->l2h = msg->data + MISDN_HEADER_LEN;</span><br><span style="color: hsl(0, 100%, 40%);">-          DEBUGP(DLMIB, "BCHAN RX: %s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "BCHAN RX: %s\n",</span><br><span>                       osmo_hexdump(msgb_l2(msg), ret - MISDN_HEADER_LEN));</span><br><span>                 /* the number of bytes received indicates that data to send */</span><br><span>               handle_tsX_write(bfd, msgb_l2len(msg));</span><br><span>@@ -411,12 +407,10 @@</span><br><span>              /* This might lead to a transmit underrun, as we call tx</span><br><span>              * from the rx path, as there's no select/poll on dahdi</span><br><span>           * */</span><br><span style="color: hsl(0, 100%, 40%);">-           LOGP(DLINP, LOGL_NOTICE, "unexpected msg->len = %u, "</span><br><span style="color: hsl(0, 100%, 40%);">-                   "expected %u\n", msg->len, len);</span><br><span style="color: hsl(120, 100%, 40%);">+            LOGPITS(e1i_ts, DLINP, LOGL_NOTICE, "unexpected msg->len = %u, expected %u\n", msg->len, len);</span><br><span>       }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   DEBUGP(DLMIB, "RAW CHAN TX: %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-            osmo_hexdump(msg->data, msg->len));</span><br><span style="color: hsl(120, 100%, 40%);">+     LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "RAW CHAN TX: %s\n", osmo_hexdump(msg->data, msg->len));</span><br><span> </span><br><span>      hh = (struct mISDNhead *) msgb_push(msg, sizeof(*hh));</span><br><span>       hh->prim = PH_DATA_REQ;</span><br><span>@@ -424,8 +418,7 @@</span><br><span> </span><br><span>         ret = write(bfd->fd, msg->data, msg->len);</span><br><span>  if (ret < msg->len)</span><br><span style="color: hsl(0, 100%, 40%);">-               LOGP(DLINP, LOGL_DEBUG, "send returns %d instead of %d\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                    ret, msg->len);</span><br><span style="color: hsl(120, 100%, 40%);">+            LOGPITS(e1i_ts, DLINP, LOGL_DEBUG, "send returns %d instead of %d\n", ret, msg->len);</span><br><span>   msgb_free(msg);</span><br><span> </span><br><span>  return ret;</span><br><span>@@ -454,14 +447,13 @@</span><br><span>  msgb_put(msg, ret);</span><br><span> </span><br><span>      if (hh->prim != PH_CONTROL_IND)</span><br><span style="color: hsl(0, 100%, 40%);">-              DEBUGP(DLMIB, "<= RAW CHAN len = %d, prim(0x%x) id(0x%x): %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                   ret, hh->prim, hh->id,</span><br><span style="color: hsl(0, 100%, 40%);">-                    get_value_string(prim_names, hh->prim));</span><br><span style="color: hsl(120, 100%, 40%);">+           LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "<= RAW CHAN len = %d, prim(0x%x) id(0x%x): %s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                    ret, hh->prim, hh->id, get_value_string(prim_names, hh->prim));</span><br><span> </span><br><span>         switch (hh->prim) {</span><br><span>       case PH_DATA_IND:</span><br><span>            msg->l2h = msg->data + MISDN_HEADER_LEN;</span><br><span style="color: hsl(0, 100%, 40%);">-          DEBUGP(DLMIB, "RAW CHAN RX: %s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+          LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "RAW CHAN RX: %s\n",</span><br><span>                    osmo_hexdump(msgb_l2(msg), ret - MISDN_HEADER_LEN));</span><br><span>                 /* the number of bytes received indicates that data to send */</span><br><span>               handle_ts_raw_write(bfd, msgb_l2len(msg));</span><br><span>@@ -661,8 +653,7 @@</span><br><span>                     addr.channel = ts;</span><br><span>                   break;</span><br><span>               default:</span><br><span style="color: hsl(0, 100%, 40%);">-                        DEBUGP(DLMI, "unsupported E1 TS type: %u\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                          e1i_ts->type);</span><br><span style="color: hsl(120, 100%, 40%);">+                     LOGPITS(e1i_ts, DLMI, LOGL_ERROR, "unsupported E1 TS type: %u\n", e1i_ts->type);</span><br><span>                        break;</span><br><span>               }</span><br><span> </span><br><span>@@ -724,7 +715,7 @@</span><br><span>          close(sk);</span><br><span>           return -ENODEV;</span><br><span>      }</span><br><span style="color: hsl(0, 100%, 40%);">-       //DEBUGP(DLMI,"%d device%s found\n", cnt, (cnt==1)?"":"s");</span><br><span style="color: hsl(120, 100%, 40%);">+     //LOGPIL(line, DLMI, LOGL_DEBUG, "%d device%s found\n", cnt, (cnt==1)?"":"s");</span><br><span>         printf("%d device%s found\n", cnt, (cnt==1)?"":"s");</span><br><span> #if 1</span><br><span>  devinfo.id = line->port_nr;</span><br><span>diff --git a/src/input/rs232.c b/src/input/rs232.c</span><br><span>index c801ab2..dfbf97c 100644</span><br><span>--- a/src/input/rs232.c</span><br><span>+++ b/src/input/rs232.c</span><br><span>@@ -94,14 +94,14 @@</span><br><span>                /* no message after tx delay timer */</span><br><span>                return 0;</span><br><span>    }</span><br><span style="color: hsl(0, 100%, 40%);">-       DEBUGP(DLMI, "rs232 TX: %s\n", osmo_hexdump(msg->data, msg->len));</span><br><span style="color: hsl(120, 100%, 40%);">+    LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "rs232 TX: %s\n", osmo_hexdump(msg->data, msg->len));</span><br><span> </span><br><span>  rs232_build_msg(msg);</span><br><span> </span><br><span>    /* send over serial line */</span><br><span>  written = write(bfd->fd, msg->data, msg->len);</span><br><span>      if (written < msg->len) {</span><br><span style="color: hsl(0, 100%, 40%);">-         LOGP(DLMI, LOGL_ERROR, "rs232: short write\n");</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGPITS(e1i_ts, DLMI, LOGL_ERROR, "rs232: short write\n");</span><br><span>                 msgb_free(msg);</span><br><span>              return -1;</span><br><span>   }</span><br><span>@@ -118,6 +118,7 @@</span><br><span> static int handle_ser_read(struct osmo_fd *bfd)</span><br><span> {</span><br><span>      struct serial_handle *sh = bfd->data;</span><br><span style="color: hsl(120, 100%, 40%);">+      struct e1inp_ts *e1i_ts = &sh->line->ts[0];</span><br><span>        struct msgb *msg;</span><br><span>    int rc = 0;</span><br><span> </span><br><span>@@ -131,7 +132,7 @@</span><br><span>        if (msg->len < 2) {</span><br><span>            rc = read(bfd->fd, msg->tail, 2 - msg->len);</span><br><span>                if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                        LOGP(DLMI, LOGL_ERROR, "rs232: error reading from "</span><br><span style="color: hsl(120, 100%, 40%);">+                 LOGPITS(e1i_ts, DLMI, LOGL_ERROR, "rs232: error reading from "</span><br><span>                             "serial port: %s\n", strerror(errno));</span><br><span>                     msgb_free(msg);</span><br><span>                      return rc;</span><br><span>@@ -141,16 +142,14 @@</span><br><span>           if (msg->len >= 2) {</span><br><span>                   /* parse CRAPD payload length */</span><br><span>                     if (msg->data[0] != 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                             LOGP(DLMI, LOGL_ERROR,</span><br><span style="color: hsl(0, 100%, 40%);">-                                  "Suspicious header byte 0: 0x%02x\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                               LOGPITS(e1i_ts, DLMI, LOGL_ERROR, "Suspicious header byte 0: 0x%02x\n",</span><br><span>                                    msg->data[0]);</span><br><span>                    }</span><br><span>                    sh->rxmsg_bytes_missing = msg->data[0] << 8;</span><br><span>                     sh->rxmsg_bytes_missing += msg->data[1];</span><br><span> </span><br><span>                   if (sh->rxmsg_bytes_missing < CRAPD_HDR_LEN -2) {</span><br><span style="color: hsl(0, 100%, 40%);">-                         LOGP(DLMI, LOGL_ERROR,</span><br><span style="color: hsl(0, 100%, 40%);">-                                  "Invalid length in hdr: %u\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                              LOGPITS(e1i_ts, DLMI, LOGL_ERROR, "Invalid length in hdr: %u\n",</span><br><span>                                   sh->rxmsg_bytes_missing);</span><br><span>                         }</span><br><span>            }</span><br><span>@@ -158,8 +157,8 @@</span><br><span>              /* try to read as many of the missing bytes as are available */</span><br><span>              rc = read(bfd->fd, msg->tail, sh->rxmsg_bytes_missing);</span><br><span>             if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                        LOGP(DLMI, LOGL_ERROR, "rs232: error reading from "</span><br><span style="color: hsl(0, 100%, 40%);">-                           "serial port: %s", strerror(errno));</span><br><span style="color: hsl(120, 100%, 40%);">+                        LOGPITS(e1i_ts, DLMI, LOGL_ERROR, "rs232: error reading from serial port: %s",</span><br><span style="color: hsl(120, 100%, 40%);">+                              strerror(errno));</span><br><span>                    msgb_free(msg);</span><br><span>                      return rc;</span><br><span>           }</span><br><span>@@ -167,7 +166,6 @@</span><br><span>              sh->rxmsg_bytes_missing -= rc;</span><br><span> </span><br><span>                if (sh->rxmsg_bytes_missing == 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                  struct e1inp_ts *e1i_ts = &sh->line->ts[0];</span><br><span> </span><br><span>                    /* we have one complete message now */</span><br><span>                       sh->rx_msg = NULL;</span><br><span>@@ -175,15 +173,13 @@</span><br><span>                        if (msg->len > CRAPD_HDR_LEN)</span><br><span>                          msg->l2h = msg->data + CRAPD_HDR_LEN;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-                 DEBUGP(DLMI, "rs232 RX: %s",</span><br><span style="color: hsl(0, 100%, 40%);">-                          osmo_hexdump(msg->data, msg->len));</span><br><span style="color: hsl(120, 100%, 40%);">+                     LOGPITS(e1i_ts, DLMI, LOGL_DEBUG, "rs232 RX: %s", osmo_hexdump(msg->data, msg->len));</span><br><span> </span><br><span>                    /* don't use e1inp_tx_ts() here, this header does not</span><br><span>                     * contain any SAPI and TEI values. */</span><br><span>                       if (!e1i_ts->line->ops->sign_link) {</span><br><span style="color: hsl(0, 100%, 40%);">-                           LOGP(DLMI, LOGL_ERROR, "rs232: no callback set, "</span><br><span style="color: hsl(0, 100%, 40%);">-                                     "skipping message.\n");</span><br><span style="color: hsl(0, 100%, 40%);">-                                       return -EINVAL;</span><br><span style="color: hsl(120, 100%, 40%);">+                               LOGPITS(e1i_ts, DLMI, LOGL_ERROR, "rs232: no callback set, skipping message.\n");</span><br><span style="color: hsl(120, 100%, 40%);">+                           return -EINVAL;</span><br><span>                      }</span><br><span>                    e1i_ts->line->ops->sign_link(msg);</span><br><span>          }</span><br><span>@@ -226,8 +222,7 @@</span><br><span> </span><br><span>  rc = open(serial_port, O_RDWR);</span><br><span>      if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DLMI, LOGL_ERROR, "rs232: cannot open serial port: %s",</span><br><span style="color: hsl(0, 100%, 40%);">-                  strerror(errno));</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGPIL(line, DLMI, LOGL_ERROR, "rs232: cannot open serial port: %s", strerror(errno));</span><br><span>             return rc;</span><br><span>   }</span><br><span>    bfd->fd = rc;</span><br><span>@@ -235,8 +230,7 @@</span><br><span>       /* set baudrate */</span><br><span>   rc = tcgetattr(bfd->fd, &tio);</span><br><span>        if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DLMI, LOGL_ERROR, "rs232: tcgetattr says: %s",</span><br><span style="color: hsl(0, 100%, 40%);">-                   strerror(errno));</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGPIL(line, DLMI, LOGL_ERROR, "rs232: tcgetattr says: %s", strerror(errno));</span><br><span>              return rc;</span><br><span>   }</span><br><span>    cfsetispeed(&tio, B19200);</span><br><span>@@ -249,16 +243,14 @@</span><br><span>       tio.c_oflag &= ~(OPOST);</span><br><span>         rc = tcsetattr(bfd->fd, TCSADRAIN, &tio);</span><br><span>     if (rc < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DLMI, LOGL_ERROR, "rs232: tcsetattr says: %s",</span><br><span style="color: hsl(0, 100%, 40%);">-                   strerror(errno));</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGPIL(line, DLMI, LOGL_ERROR, "rs232: tcsetattr says: %s", strerror(errno));</span><br><span>              return rc;</span><br><span>   }</span><br><span> </span><br><span>        ser_handle = talloc_zero(tall_rs232_ctx, struct serial_handle);</span><br><span>      if (ser_handle == NULL) {</span><br><span>            close(bfd->fd);</span><br><span style="color: hsl(0, 100%, 40%);">-              LOGP(DLMI, LOGL_ERROR, "rs232: cannot allocate memory for "</span><br><span style="color: hsl(0, 100%, 40%);">-                   "serial handler\n");</span><br><span style="color: hsl(120, 100%, 40%);">+                LOGPIL(line, DLMI, LOGL_ERROR, "rs232: cannot allocate memory for serial handler\n");</span><br><span>              return -ENOMEM;</span><br><span>      }</span><br><span>    ser_handle->line = line;</span><br><span>@@ -271,8 +263,7 @@</span><br><span>    rc = osmo_fd_register(bfd);</span><br><span>  if (rc < 0) {</span><br><span>             close(bfd->fd);</span><br><span style="color: hsl(0, 100%, 40%);">-              LOGP(DLMI, LOGL_ERROR, "rs232: could not register FD: %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                  strerror(-rc));</span><br><span style="color: hsl(120, 100%, 40%);">+               LOGPIL(line, DLMI, LOGL_ERROR, "rs232: could not register FD: %s\n", strerror(-rc));</span><br><span>               return rc;</span><br><span>   }</span><br><span> </span><br><span>diff --git a/src/input/unixsocket.c b/src/input/unixsocket.c</span><br><span>index bc4b357..1d25ddf 100644</span><br><span>--- a/src/input/unixsocket.c</span><br><span>+++ b/src/input/unixsocket.c</span><br><span>@@ -58,15 +58,13 @@</span><br><span> {</span><br><span>        struct e1inp_line *line = bfd->data;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     LOGP(DLINP, LOGL_ERROR,</span><br><span style="color: hsl(0, 100%, 40%);">-      "Socket connection failure, reconnecting... (line=%p, fd=%d)\n",</span><br><span style="color: hsl(0, 100%, 40%);">-      line, bfd->fd);</span><br><span style="color: hsl(120, 100%, 40%);">+       LOGPIL(line, DLINP, LOGL_ERROR, "Socket connection failure, reconnecting... (line=%p, fd=%d)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+            line, bfd->fd);</span><br><span> </span><br><span>       /* Unregister faulty file descriptor from select loop */</span><br><span>     if(osmo_fd_is_registered(bfd)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DLINP, LOGL_DEBUG,</span><br><span style="color: hsl(0, 100%, 40%);">-              "removing inactive socket from select loop... (line=%p, fd=%d)\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                    line, bfd->fd);</span><br><span style="color: hsl(120, 100%, 40%);">+               LOGPIL(line, DLINP, LOGL_DEBUG, "removing inactive socket from select loop... (line=%p, fd=%d)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                  line, bfd->fd);</span><br><span>           osmo_fd_unregister(bfd);</span><br><span>     }</span><br><span> </span><br><span>@@ -98,22 +96,21 @@</span><br><span>          goto fail;</span><br><span>   } else if (ret < 2) {</span><br><span>             /* packet must be at least 2 byte long to hold version + control/data header */</span><br><span style="color: hsl(0, 100%, 40%);">-         LOGP(DLMI, LOGL_ERROR, "received to small packet: %d < 2", ret);</span><br><span style="color: hsl(120, 100%, 40%);">+         LOGPIL(line, DLMI, LOGL_ERROR, "received to small packet: %d < 2", ret);</span><br><span>                ret = -1;</span><br><span>            goto fail;</span><br><span>   }</span><br><span>    msgb_put(msg, ret);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- LOGP(DLMI, LOGL_DEBUG, "rx msg: %s (fd=%d)\n",</span><br><span style="color: hsl(0, 100%, 40%);">-             osmo_hexdump_nospc(msg->data, msg->len), bfd->fd);</span><br><span style="color: hsl(120, 100%, 40%);">+      LOGPIL(line, DLMI, LOGL_DEBUG, "rx msg: %s (fd=%d)\n", osmo_hexdump_nospc(msg->data, msg->len), bfd->fd);</span><br><span> </span><br><span>     /* check version header */</span><br><span>   version = msgb_pull_u8(msg);</span><br><span>         controldata = msgb_pull_u8(msg);</span><br><span> </span><br><span>         if (version != UNIXSOCKET_PROTO_VERSION) {</span><br><span style="color: hsl(0, 100%, 40%);">-              LOGP(DLMI, LOGL_ERROR, "received message with invalid version %d. valid: %d",</span><br><span style="color: hsl(0, 100%, 40%);">-              ret, UNIXSOCKET_PROTO_VERSION);</span><br><span style="color: hsl(120, 100%, 40%);">+          LOGPIL(line, DLMI, LOGL_ERROR, "received message with invalid version %d. valid: %d",</span><br><span style="color: hsl(120, 100%, 40%);">+                       ret, UNIXSOCKET_PROTO_VERSION);</span><br><span>              ret = -1;</span><br><span>            goto fail;</span><br><span>   }</span><br><span>@@ -122,11 +119,11 @@</span><br><span>    case UNIXSOCKET_PROTO_DATA:</span><br><span>          return e1inp_rx_ts_lapd(&line->ts[0], msg);</span><br><span>   case UNIXSOCKET_PROTO_CONTROL:</span><br><span style="color: hsl(0, 100%, 40%);">-          LOGP(DLMI, LOGL_ERROR, "received (invalid) control message.");</span><br><span style="color: hsl(120, 100%, 40%);">+              LOGPIL(line, DLMI, LOGL_ERROR, "received (invalid) control message.");</span><br><span>             ret = -1;</span><br><span>            break;</span><br><span>       default:</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DLMI, LOGL_ERROR, "received invalid message.");</span><br><span style="color: hsl(120, 100%, 40%);">+                LOGPIL(line, DLMI, LOGL_ERROR, "received invalid message.");</span><br><span>               ret = -1;</span><br><span>            break;</span><br><span>       }</span><br><span>@@ -156,8 +153,7 @@</span><br><span>      msg = e1inp_tx_ts(e1i_ts, &sign_link);</span><br><span>   if (!msg) {</span><br><span>          /* no message after tx delay timer */</span><br><span style="color: hsl(0, 100%, 40%);">-           LOGP(DLINP, LOGL_INFO,</span><br><span style="color: hsl(0, 100%, 40%);">-               "no message available (line=%p)\n", line);</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGPITS(e1i_ts, DLINP, LOGL_INFO, "no message available (line=%p)\n", line);</span><br><span>               return 0;</span><br><span>    }</span><br><span> </span><br><span>@@ -166,8 +162,7 @@</span><br><span> </span><br><span>      osmo_timer_schedule(&e1i_ts->sign.tx_timer, 0, e1i_ts->sign.delay);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       LOGP(DLINP, LOGL_DEBUG, "sending: %s (line=%p)\n",</span><br><span style="color: hsl(0, 100%, 40%);">-         msgb_hexdump(msg), line);</span><br><span style="color: hsl(120, 100%, 40%);">+        LOGPITS(e1i_ts, DLINP, LOGL_DEBUG, "sending: %s (line=%p)\n", msgb_hexdump(msg), line);</span><br><span>    lapd_transmit(e1i_ts->lapd, sign_link->tei,</span><br><span>                    sign_link->sapi, msg);</span><br><span> </span><br><span>@@ -195,18 +190,20 @@</span><br><span>        return 0;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static void unixsocket_write_msg(struct msgb *msg, struct osmo_fd *bfd) {</span><br><span style="color: hsl(120, 100%, 40%);">+static void unixsocket_write_msg(struct msgb *msg, struct osmo_fd *bfd)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+       struct e1inp_line *line = bfd->data;</span><br><span>      int ret;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    LOGP(DLMI, LOGL_DEBUG, "tx msg: %s (fd=%d)\n",</span><br><span style="color: hsl(0, 100%, 40%);">-             osmo_hexdump_nospc(msg->data, msg->len), bfd->fd);</span><br><span style="color: hsl(120, 100%, 40%);">+      LOGPIL(line, DLMI, LOGL_DEBUG, "tx msg: %s (fd=%d)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+              osmo_hexdump_nospc(msg->data, msg->len), bfd->fd);</span><br><span> </span><br><span>      ret = write(bfd->fd, msg->data, msg->len);</span><br><span>  msgb_free(msg);</span><br><span>      if (ret == -1)</span><br><span>               unixsocket_exception_cb(bfd);</span><br><span>        else if (ret < 0)</span><br><span style="color: hsl(0, 100%, 40%);">-            LOGP(DLMI, LOGL_NOTICE, "%s write failed %d\n", __func__, ret);</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGPIL(line, DLMI, LOGL_NOTICE, "%s write failed %d\n", __func__, ret);</span><br><span> }</span><br><span> </span><br><span> /*!</span><br><span>@@ -234,14 +231,13 @@</span><br><span>    int ret = 0;</span><br><span>         int i;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      LOGP(DLINP, LOGL_NOTICE, "line update (line=%p)\n", line);</span><br><span style="color: hsl(120, 100%, 40%);">+  LOGPIL(line, DLINP, LOGL_NOTICE, "line update (line=%p)\n", line);</span><br><span> </span><br><span>     if (!line->driver_data)</span><br><span>           line->driver_data = talloc_zero(line, struct unixsocket_line);</span><br><span> </span><br><span>        if (!line->driver_data) {</span><br><span style="color: hsl(0, 100%, 40%);">-            LOGP(DLINP, LOGL_ERROR,</span><br><span style="color: hsl(0, 100%, 40%);">-              "OOM in line update (line=%p)\n", line);</span><br><span style="color: hsl(120, 100%, 40%);">+               LOGPIL(line, DLINP, LOGL_ERROR, "OOM in line update (line=%p)\n", line);</span><br><span>           return -ENOMEM;</span><br><span>      }</span><br><span> </span><br><span>@@ -255,10 +251,10 @@</span><br><span>                ret = snprintf(un.sun_path, sizeof(un.sun_path), "%s%d",</span><br><span>               UNIXSOCKET_SOCK_PATH_DEFAULT, line->num);</span><br><span>             if (ret == -1) {</span><br><span style="color: hsl(0, 100%, 40%);">-                        LOGP(DLINP, LOGL_ERROR, "Cannot create default socket path: %s\n", strerror(errno));</span><br><span style="color: hsl(120, 100%, 40%);">+                        LOGPIL(line, DLINP, LOGL_ERROR, "Cannot create default socket path: %s\n", strerror(errno));</span><br><span>                       return -errno;</span><br><span>               } else if (ret >= sizeof(un.sun_path)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                     LOGP(DLINP, LOGL_ERROR, "Default socket path exceeds %zd bytes: %s%d\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                    LOGPIL(line, DLINP, LOGL_ERROR, "Default socket path exceeds %zd bytes: %s%d\n",</span><br><span>                        sizeof(un.sun_path), UNIXSOCKET_SOCK_PATH_DEFAULT, line->num);</span><br><span>                       return -ENOSPC;</span><br><span>              }</span><br><span>@@ -272,21 +268,18 @@</span><br><span>             * opening the socket fails. The caller may want to call this</span><br><span>                 * function multiple times using config->fd.data as line</span><br><span>           * parameter. Freeing now would destroy that reference. */</span><br><span style="color: hsl(0, 100%, 40%);">-              LOGP(DLINP, LOGL_ERROR,</span><br><span style="color: hsl(0, 100%, 40%);">-              "unable to open socket: %s (line=%p, fd=%d)\n", sock_path,</span><br><span style="color: hsl(0, 100%, 40%);">-                    line, config->fd.fd);</span><br><span style="color: hsl(120, 100%, 40%);">+         LOGPIL(line, DLINP, LOGL_ERROR, "unable to open socket: %s (line=%p, fd=%d)\n", sock_path,</span><br><span style="color: hsl(120, 100%, 40%);">+                  line, config->fd.fd);</span><br><span>             return ret;</span><br><span>  }</span><br><span style="color: hsl(0, 100%, 40%);">-       LOGP(DLINP, LOGL_DEBUG,</span><br><span style="color: hsl(0, 100%, 40%);">-      "successfully opend (new) socket: %s (line=%p, fd=%d, ret=%d)\n",</span><br><span style="color: hsl(0, 100%, 40%);">-             sock_path, line, config->fd.fd, ret);</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGPIL(line, DLINP, LOGL_DEBUG, "successfully opend (new) socket: %s (line=%p, fd=%d, ret=%d)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+           sock_path, line, config->fd.fd, ret);</span><br><span>     config->fd.fd = ret;</span><br><span> </span><br><span>  /* Register socket in select loop */</span><br><span>         if (osmo_fd_register(&config->fd) < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-              LOGP(DLINP, LOGL_ERROR,</span><br><span style="color: hsl(0, 100%, 40%);">-              "error registering new socket (line=%p, fd=%d)\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                    line, config->fd.fd);</span><br><span style="color: hsl(120, 100%, 40%);">+         LOGPIL(line, DLINP, LOGL_ERROR, "error registering new socket (line=%p, fd=%d)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                  line, config->fd.fd);</span><br><span>             close(config->fd.fd);</span><br><span>             return -EIO;</span><br><span>         }</span><br><span>@@ -330,13 +323,13 @@</span><br><span>            return;</span><br><span> </span><br><span>  if (unixline->driver != &unixsocket_driver) {</span><br><span style="color: hsl(0, 100%, 40%);">-            LOGP(DLMI, LOGL_NOTICE, "altc is only supported by unixsocket\n");</span><br><span style="color: hsl(120, 100%, 40%);">+          LOGPIL(unixline, DLMI, LOGL_NOTICE, "altc is only supported by unixsocket\n");</span><br><span>             return;</span><br><span>      }</span><br><span> </span><br><span>        config = unixline->driver_data;</span><br><span>   if (!config) {</span><br><span style="color: hsl(0, 100%, 40%);">-          LOGP(DLMI, LOGL_NOTICE, "e1inp driver not yet initialized.\n");</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGPIL(unixline, DLMI, LOGL_NOTICE, "e1inp driver not yet initialized.\n");</span><br><span>                return;</span><br><span>      }</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmo-abis/+/16818">change 16818</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/libosmo-abis/+/16818"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmo-abis </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I447a2360757fed97ed50f9db1e2efbf2f90e46a0 </div>
<div style="display:none"> Gerrit-Change-Number: 16818 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>