<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/libosmo-abis/+/23957">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">ipa: Introduce support for user-specific DSCP and priority<br><br>This adds new members to struct ipa_server_link and ipa_client_conn,<br>which can be set by the user before ipa_client_conn_open() or<br>ipa_server_link_open() to ensure DSCP / priority values are applied<br>from the first outgoing packet onwards.<br><br>Change-Id: I5ab22d35d9b11eca47d9ea12208e5589a1a5713c<br>---<br>M TODO-RELEASE<br>M include/osmocom/abis/ipa.h<br>M src/input/ipa.c<br>3 files changed, 14 insertions(+), 2 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/57/23957/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/TODO-RELEASE b/TODO-RELEASE</span><br><span>index d0852fc..7e2cdb0 100644</span><br><span>--- a/TODO-RELEASE</span><br><span>+++ b/TODO-RELEASE</span><br><span>@@ -7,3 +7,5 @@</span><br><span> # If any interfaces have been added since the last public release: c:r:a + 1.</span><br><span> # If any interfaces have been removed or changed since the last public release: c:r:0.</span><br><span> #library       what            description / commit summary line</span><br><span style="color: hsl(120, 100%, 40%);">+libosmo-abis ABI break       ipa_client_conn new struct members dscp, priority</span><br><span style="color: hsl(120, 100%, 40%);">+libosmo-abis ABI break       ipa_server_link new struct members dscp, priority</span><br><span>diff --git a/include/osmocom/abis/ipa.h b/include/osmocom/abis/ipa.h</span><br><span>index 4764a95..7e13a6d 100644</span><br><span>--- a/include/osmocom/abis/ipa.h</span><br><span>+++ b/include/osmocom/abis/ipa.h</span><br><span>@@ -19,6 +19,8 @@</span><br><span>   uint16_t                        port;</span><br><span>        int (*accept_cb)(struct ipa_server_link *link, int fd);</span><br><span>      void                            *data;</span><br><span style="color: hsl(120, 100%, 40%);">+        uint8_t                         dscp;</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t                         priority;</span><br><span> };</span><br><span> </span><br><span> struct ipa_server_link *</span><br><span>@@ -80,6 +82,8 @@</span><br><span>  struct msgb                     *pending_msg;</span><br><span>        const char                      *local_addr;</span><br><span>         uint16_t                        local_port;</span><br><span style="color: hsl(120, 100%, 40%);">+   uint8_t                         dscp;</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t                         priority;</span><br><span> };</span><br><span> </span><br><span> struct ipa_client_conn *</span><br><span>diff --git a/src/input/ipa.c b/src/input/ipa.c</span><br><span>index f01ecd9..c121987 100644</span><br><span>--- a/src/input/ipa.c</span><br><span>+++ b/src/input/ipa.c</span><br><span>@@ -224,7 +224,8 @@</span><br><span>       ret = osmo_sock_init2(AF_INET, SOCK_STREAM, IPPROTO_TCP,</span><br><span>                          link->local_addr, link->local_port,</span><br><span>                            link->addr, link->port,</span><br><span style="color: hsl(0, 100%, 40%);">-                           OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_NONBLOCK);</span><br><span style="color: hsl(120, 100%, 40%);">+                           OSMO_SOCK_F_BIND|OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_NONBLOCK|</span><br><span style="color: hsl(120, 100%, 40%);">+                            OSMO_SOCK_F_DSCP(link->dscp) | OSMO_SOCK_F_PRIO(link->priority));</span><br><span>         if (ret < 0)</span><br><span>              return ret;</span><br><span>  link->ofd->fd = ret;</span><br><span>@@ -282,6 +283,10 @@</span><br><span>    LOGIPA(link, LOGL_NOTICE, "accept()ed new link from %s:%u\n",</span><br><span>              inet_ntoa(sa.sin_addr), ntohs(sa.sin_port));</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+      /* make new fd inherit DSCP + priority of listen-socket */</span><br><span style="color: hsl(120, 100%, 40%);">+    osmo_sock_set_dscp(fd, link->dscp);</span><br><span style="color: hsl(120, 100%, 40%);">+        osmo_sock_set_priority(fd, link->priority);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>     ret = link->accept_cb(link, fd);</span><br><span>  if (ret < 0) {</span><br><span>            LOGP(DLINP, LOGL_ERROR,</span><br><span>@@ -330,7 +335,8 @@</span><br><span>        int ret;</span><br><span> </span><br><span>         ret = osmo_sock_init(AF_INET, SOCK_STREAM, IPPROTO_TCP,</span><br><span style="color: hsl(0, 100%, 40%);">-                      link->addr, link->port, OSMO_SOCK_F_BIND);</span><br><span style="color: hsl(120, 100%, 40%);">+                      link->addr, link->port, OSMO_SOCK_F_BIND|</span><br><span style="color: hsl(120, 100%, 40%);">+                       OSMO_SOCK_F_DSCP(link->dscp) | OSMO_SOCK_F_PRIO(link->priority));</span><br><span>         if (ret < 0)</span><br><span>              return ret;</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmo-abis/+/23957">change 23957</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/+/23957"/><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: I5ab22d35d9b11eca47d9ea12208e5589a1a5713c </div>
<div style="display:none"> Gerrit-Change-Number: 23957 </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>