<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/23935">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">socket: IPv6 support for osmo_sock_set_dscp()<br><br>IPv6 has the analogous to DSCP: The "traffic class" field.<br><br>See https://tools.ietf.org/html/draft-itojun-ipv6-tclass-api-03<br><br>Change-Id: Ib31b977f67d60aa7f30ca4ab6eceba3d1d5eeee1<br>Related: SYS#5427<br>---<br>M src/socket.c<br>1 file changed, 8 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/35/23935/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/socket.c b/src/socket.c</span><br><span>index 6afe986..a8cc5c1 100644</span><br><span>--- a/src/socket.c</span><br><span>+++ b/src/socket.c</span><br><span>@@ -1810,8 +1810,14 @@</span><br><span> </span><br><span>         /* read the original value */</span><br><span>        rc = getsockopt(fd, IPPROTO_IP, IP_TOS, &tos, &tos_len);</span><br><span style="color: hsl(0, 100%, 40%);">-        if (rc < 0)</span><br><span style="color: hsl(0, 100%, 40%);">-          return rc;</span><br><span style="color: hsl(120, 100%, 40%);">+    if (rc < 0) {</span><br><span style="color: hsl(120, 100%, 40%);">+              if (errno == ENOPROTOOPT) {</span><br><span style="color: hsl(120, 100%, 40%);">+                   /* this may be an IPV6 socket, let's try that. IPv6 never had the TOS</span><br><span style="color: hsl(120, 100%, 40%);">+                      * legacy, so we can set the traffic class un-shifted  */</span><br><span style="color: hsl(120, 100%, 40%);">+                     return setsockopt(fd, IPPROTO_IPV6, IPV6_TCLASS, &dscp, sizeof(dscp));</span><br><span style="color: hsl(120, 100%, 40%);">+            } else</span><br><span style="color: hsl(120, 100%, 40%);">+                        return rc;</span><br><span style="color: hsl(120, 100%, 40%);">+    }</span><br><span> </span><br><span>        /* mask-in the DSCP into the upper 6 bits */</span><br><span>         tos &= 0x03;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/23935">change 23935</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/libosmocore/+/23935"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmocore </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ib31b977f67d60aa7f30ca4ab6eceba3d1d5eeee1 </div>
<div style="display:none"> Gerrit-Change-Number: 23935 </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>