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

mgcp_rtp_end: Group statistics members into 'stats' sub-struct

Change-Id: I4e0ecdcd9a75fe08abc55b730780c01617f3d4af
---
M include/osmocom/mgcp/mgcp_internal.h
M src/libosmo-mgcp/mgcp_conn.c
M src/libosmo-mgcp/mgcp_network.c
M src/libosmo-mgcp/mgcp_osmux.c
M src/libosmo-mgcp/mgcp_stat.c
M src/libosmo-mgcp/mgcp_vty.c
M tests/mgcp/mgcp_test.c
7 files changed, 26 insertions(+), 28 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/83/5583/1

diff --git a/include/osmocom/mgcp/mgcp_internal.h 
b/include/osmocom/mgcp/mgcp_internal.h
index 9e7246e..11bafe7 100644
--- a/include/osmocom/mgcp/mgcp_internal.h
+++ b/include/osmocom/mgcp/mgcp_internal.h
@@ -97,11 +97,14 @@
 
 struct mgcp_rtp_end {
        /* statistics */
-       unsigned int packets_rx;
-       unsigned int octets_rx;
-       unsigned int packets_tx;
-       unsigned int octets_tx;
-       unsigned int dropped_packets;
+       struct {
+               unsigned int packets_rx;
+               unsigned int octets_rx;
+               unsigned int packets_tx;
+               unsigned int octets_tx;
+               unsigned int dropped_packets;
+       } stats;
+
        struct in_addr addr;
 
        /* in network byte order */
diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c
index 4090a9f..9063bec 100644
--- a/src/libosmo-mgcp/mgcp_conn.c
+++ b/src/libosmo-mgcp/mgcp_conn.c
@@ -93,12 +93,7 @@
 
        end->rtp.fd = -1;
        end->rtcp.fd = -1;
-       end->local_port = 0;
-       end->packets_rx = 0;
-       end->octets_rx = 0;
-       end->packets_tx = 0;
-       end->octets_tx = 0;
-       end->dropped_packets = 0;
+       memset(&end->stats, 0, sizeof(end->stats));
        end->rtp_port = end->rtcp_port = 0;
        talloc_free(end->fmtp_extra);
        end->fmtp_extra = NULL;
diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c
index 4f88341..9bf6f85 100644
--- a/src/libosmo-mgcp/mgcp_network.c
+++ b/src/libosmo-mgcp/mgcp_network.c
@@ -692,7 +692,7 @@
        dest_name = conn_dst->conn->name;
 
        if (!rtp_end->output_enabled) {
-               rtp_end->dropped_packets += 1;
+               rtp_end->stats.dropped_packets += 1;
                LOGP(DRTP, LOGL_DEBUG,
                     "endpoint:0x%x output disabled, drop to %s %s "
                     "rtp_port:%u rtcp_port:%u\n",
@@ -747,8 +747,8 @@
                        if (len <= 0)
                                return len;
 
-                       conn_dst->end.packets_tx += 1;
-                       conn_dst->end.octets_tx += len;
+                       conn_dst->end.stats.packets_tx += 1;
+                       conn_dst->end.stats.octets_tx += len;
 
                        nbytes += len;
                        buflen = cont;
@@ -767,8 +767,8 @@
                                    &rtp_end->addr,
                                    rtp_end->rtcp_port, buf, len);
 
-               conn_dst->end.packets_tx += 1;
-               conn_dst->end.octets_tx += len;
+               conn_dst->end.stats.packets_tx += 1;
+               conn_dst->end.stats.octets_tx += len;
 
                return len;
        }
@@ -928,8 +928,8 @@
        }
 
        /* Increment RX statistics */
-       conn->end.packets_rx += 1;
-       conn->end.octets_rx += rc;
+       conn->end.stats.packets_rx += 1;
+       conn->end.stats.octets_rx += rc;
 
        /* Forward a copy of the RTP data to a debug ip/port */
        forward_data(fd->fd, &conn->tap_in, buf, rc);
diff --git a/src/libosmo-mgcp/mgcp_osmux.c b/src/libosmo-mgcp/mgcp_osmux.c
index 5030812..6e19611 100644
--- a/src/libosmo-mgcp/mgcp_osmux.c
+++ b/src/libosmo-mgcp/mgcp_osmux.c
@@ -255,8 +255,8 @@
                .sin_port = conn_net->end.rtp_port,
        };
 
-       conn_bts->end.octets_tx += msg->len;
-       conn_bts->end.packets_tx++;
+       conn_bts->end.stats.octets_tx += msg->len;
+       conn_bts->end.stats.packets_tx++;
 
        /* Send RTP data to NET */
        /* FIXME: Get rid of conn_bts and conn_net! */
@@ -282,8 +282,8 @@
                .sin_port = conn_bts->end.rtp_port,
        };
 
-       conn_net->end.octets_tx += msg->len;
-       conn_net->end.packets_tx++;
+       conn_net->end.stats.octets_tx += msg->len;
+       conn_net->end.stats.packets_tx++;
 
        /* Send RTP data to BTS */
        /* FIXME: Get rid of conn_bts and conn_net! */
diff --git a/src/libosmo-mgcp/mgcp_stat.c b/src/libosmo-mgcp/mgcp_stat.c
index 54c4b66..88a2d69 100644
--- a/src/libosmo-mgcp/mgcp_stat.c
+++ b/src/libosmo-mgcp/mgcp_stat.c
@@ -43,8 +43,8 @@
         * Make sure the sign is correct and use the biggest
         * positive/negative number that fits.
         */
-       *loss = *expected - end->packets_rx;
-       if (*expected < end->packets_rx) {
+       *loss = *expected - end->stats.packets_rx;
+       if (*expected < end->stats.packets_rx) {
                if (*loss > 0)
                        *loss = INT_MIN;
        } else {
@@ -74,8 +74,8 @@
 
        nchars = snprintf(str, str_len,
                          "\r\nP: PS=%u, OS=%u, PR=%u, OR=%u, PL=%d, JI=%u",
-                         conn->end.packets_tx, conn->end.octets_tx,
-                         conn->end.packets_rx, conn->end.octets_rx,
+                         conn->end.stats.packets_tx, conn->end.stats.octets_tx,
+                         conn->end.stats.packets_rx, conn->end.stats.octets_rx,
                          ploss, jitter);
        if (nchars < 0 || nchars >= str_len)
                goto truncate;
diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c
index e938391..7fa3949 100644
--- a/src/libosmo-mgcp/mgcp_vty.c
+++ b/src/libosmo-mgcp/mgcp_vty.c
@@ -167,7 +167,7 @@
                "   Output-Enabled: %d Force-PTIME: %d%s",
                state->in_stream.err_ts_counter,
                state->out_stream.err_ts_counter, VTY_NEWLINE,
-               end->dropped_packets, VTY_NEWLINE,
+               end->stats.dropped_packets, VTY_NEWLINE,
                codec->payload_type, codec->rate, codec->channels, VTY_NEWLINE,
                codec->frame_duration_num, codec->frame_duration_den,
                VTY_NEWLINE, end->frames_per_packet, end->packet_duration_ms,
diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c
index 6f8e4ca..46fc1c1 100644
--- a/tests/mgcp/mgcp_test.c
+++ b/tests/mgcp/mgcp_test.c
@@ -921,7 +921,7 @@
                state.stats.max_seq = pl_test_dat[i].max_seq;
                state.stats.cycles = pl_test_dat[i].cycles;
 
-               rtp.packets_rx = pl_test_dat[i].packets;
+               rtp.stats.packets_rx = pl_test_dat[i].packets;
                calc_loss(&state, &rtp, &expected, &loss);
 
                if (loss != pl_test_dat[i].loss

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4e0ecdcd9a75fe08abc55b730780c01617f3d4af
Gerrit-PatchSet: 1
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <lafo...@gnumonks.org>

Reply via email to