<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-mgw/+/23964">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">switch from osmo_sock_set_dscp() to OSMO_SOCK_F_DSCP()<br><br>libosmocore If22988735fe05e51226c6b091a5348dcf1208cdf introduces<br>an even more convenient mechanism for specifying the DSCP of<br>an IP socket via OSMO_SOCK_F_DSCP()<br><br>Change-Id: If0b11dea08716ed3952a25b546b2a9bd013857bf<br>---<br>M include/osmocom/mgcp/mgcp.h<br>M src/libosmo-mgcp/mgcp_network.c<br>M src/libosmo-mgcp/mgcp_osmux.c<br>3 files changed, 6 insertions(+), 13 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/64/23964/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/mgcp/mgcp.h b/include/osmocom/mgcp/mgcp.h</span><br><span>index f3f225e..e0aeb83 100644</span><br><span>--- a/include/osmocom/mgcp/mgcp.h</span><br><span>+++ b/include/osmocom/mgcp/mgcp.h</span><br><span>@@ -208,5 +208,5 @@</span><br><span> int mgcp_send_reset_all(struct mgcp_config *cfg);</span><br><span> </span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-int mgcp_create_bind(const char *source_addr, struct osmo_fd *fd, int port);</span><br><span style="color: hsl(120, 100%, 40%);">+int mgcp_create_bind(const char *source_addr, struct osmo_fd *fd, int port, uint8_t dscp);</span><br><span> int mgcp_udp_send(int fd, struct osmo_sockaddr *addr, int port, char *buf, int len);</span><br><span>diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c</span><br><span>index 675a0fc..76fe730 100644</span><br><span>--- a/src/libosmo-mgcp/mgcp_network.c</span><br><span>+++ b/src/libosmo-mgcp/mgcp_network.c</span><br><span>@@ -1519,12 +1519,12 @@</span><br><span>  *  \param[in] fd associated file descriptor.</span><br><span>  *  \param[in] port to bind on.</span><br><span>  *  \returns 0 on success, -1 on ERROR. */</span><br><span style="color: hsl(0, 100%, 40%);">-int mgcp_create_bind(const char *source_addr, struct osmo_fd *fd, int port)</span><br><span style="color: hsl(120, 100%, 40%);">+int mgcp_create_bind(const char *source_addr, struct osmo_fd *fd, int port, uint8_t dscp)</span><br><span> {</span><br><span>      int rc;</span><br><span> </span><br><span>  rc = osmo_sock_init2(AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, source_addr, port,</span><br><span style="color: hsl(0, 100%, 40%);">-                          NULL, 0, OSMO_SOCK_F_BIND);</span><br><span style="color: hsl(120, 100%, 40%);">+                           NULL, 0, OSMO_SOCK_F_BIND | OSMO_SOCK_F_DSCP(dscp));</span><br><span>    if (rc < 0) {</span><br><span>             LOGP(DRTP, LOGL_ERROR, "failed to bind UDP port (%s:%i).\n",</span><br><span>                    source_addr, port);</span><br><span>@@ -1543,26 +1543,20 @@</span><br><span>   /* NOTE: The port that is used for RTCP is the RTP port incremented by one</span><br><span>    * (e.g. RTP-Port = 16000 ==> RTCP-Port = 16001) */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      if (mgcp_create_bind(source_addr, &rtp_end->rtp,</span><br><span style="color: hsl(0, 100%, 40%);">-                      rtp_end->local_port) != 0) {</span><br><span style="color: hsl(120, 100%, 40%);">+  if (mgcp_create_bind(source_addr, &rtp_end->rtp, rtp_end->local_port, cfg->endp_dscp) != 0) {</span><br><span>           LOGPENDP(endp, DRTP, LOGL_ERROR,</span><br><span>                      "failed to create RTP port: %s:%d\n",</span><br><span>                      source_addr, rtp_end->local_port);</span><br><span>               goto cleanup0;</span><br><span>       }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   if (mgcp_create_bind(source_addr, &rtp_end->rtcp,</span><br><span style="color: hsl(0, 100%, 40%);">-                             rtp_end->local_port + 1) != 0) {</span><br><span style="color: hsl(120, 100%, 40%);">+      if (mgcp_create_bind(source_addr, &rtp_end->rtcp, rtp_end->local_port + 1, cfg->endp_dscp) != 0) {</span><br><span>              LOGPENDP(endp, DRTP, LOGL_ERROR,</span><br><span>                      "failed to create RTCP port: %s:%d\n",</span><br><span>                     source_addr, rtp_end->local_port + 1);</span><br><span>           goto cleanup1;</span><br><span>       }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   /* Set Type of Service (DSCP-Value) as configured via VTY */</span><br><span style="color: hsl(0, 100%, 40%);">-    osmo_sock_set_dscp(rtp_end->rtp.fd, cfg->endp_dscp);</span><br><span style="color: hsl(0, 100%, 40%);">-      osmo_sock_set_dscp(rtp_end->rtcp.fd, cfg->endp_dscp);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>  if (osmo_fd_register(&rtp_end->rtp) != 0) {</span><br><span>           LOGPENDP(endp, DRTP, LOGL_ERROR,</span><br><span>                      "failed to register RTP port %d\n",</span><br><span>diff --git a/src/libosmo-mgcp/mgcp_osmux.c b/src/libosmo-mgcp/mgcp_osmux.c</span><br><span>index 6c40307..62a6720 100644</span><br><span>--- a/src/libosmo-mgcp/mgcp_osmux.c</span><br><span>+++ b/src/libosmo-mgcp/mgcp_osmux.c</span><br><span>@@ -418,13 +418,12 @@</span><br><span> </span><br><span>  osmo_fd_setup(&osmux_fd, -1, OSMO_FD_READ, osmux_read_fd_cb, cfg, 0);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   ret = mgcp_create_bind(cfg->osmux_addr, &osmux_fd, cfg->osmux_port);</span><br><span style="color: hsl(120, 100%, 40%);">+        ret = mgcp_create_bind(cfg->osmux_addr, &osmux_fd, cfg->osmux_port, cfg->endp_dscp);</span><br><span>    if (ret < 0) {</span><br><span>            LOGP(DLMGCP, LOGL_ERROR, "cannot bind OSMUX socket to %s:%u\n",</span><br><span>                 cfg->osmux_addr, cfg->osmux_port);</span><br><span>                return ret;</span><br><span>  }</span><br><span style="color: hsl(0, 100%, 40%);">-       osmo_sock_set_dscp(osmux_fd.fd, cfg->endp_dscp);</span><br><span> </span><br><span>      ret = osmo_fd_register(&osmux_fd);</span><br><span>       if (ret < 0) {</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-mgw/+/23964">change 23964</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/osmo-mgw/+/23964"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-mgw </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: If0b11dea08716ed3952a25b546b2a9bd013857bf </div>
<div style="display:none"> Gerrit-Change-Number: 23964 </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>