<div dir="ltr"><div>I implemented some prototype software that read and set ECN for UDP packets whilst working on RFC6679, but there's no published open-source code I'm aware of that fully implements RFC6679. I reported my experiences to the AVT list back in 2011, and I've updated them here:<br><br>
To set ECN on <span>Linux</span>, BSD and OSX one can use IP_TOS socket option, with the<br>
setsockopt() call, to set the relevant <span>ECN</span> bits of the TOS byte. On Windows one can use a similar technique though firstly one has to enable TOS byte setting by enabling a particular Registry
key ( DisableUserTOSSetting=0 (see <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/dd874008%28v=vs.85%29.aspx" target="_blank">https://msdn.microsoft.com/en-us/library/windows/desktop/dd874008%28v=vs.85%29.aspx</a>  One could also probably use the libpcap write functionality.<br>
<br>
To obtain the <span>ECN</span> bits from a packet one needs a mechanism to retrieve the ECN bits from each packet. On <span>Linux</span>, one needs to firstly set the IP_RECVTOS socket option on the receiving socket, and use the recvmsg() call to receive a packet, and then retrieve the TOS byte from the associated csmg structure returned by the recvmsg() call. This still works with linux-4.2.3. On OSX/BSD there are no suitable socket options to retrieve the ECN/TOS bits and one cannot use raw sockets as they do not function for UDP/TCP sockets (they do work with ICMP), so one has to use alternatives such the bpf interface, or a REDIRECT socket. Whilst on Windows it seems that the only way to retrieve the <span>ECN</span> bits is via a raw socket, or custom NDIS driver, though it's possible there's an API I'm missing.<br><br></div><div>
</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 22 October 2015 at 20:54, Justin Uberti <span dir="ltr"><<a href="mailto:juberti@google.com" target="_blank">juberti@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">At present I'm not aware of any widely-deployed OS where an app can read the received ECN markings. <div><br></div><div>iOS9 added support for this within the kernel, and it's used for TCP, but not exposed to userspace. There is an open Radar bug asking for this info to be exposed to userspace.</div><div><br></div><div>FWIW, Chrome supports setting the DSCP markings if you set a magic parameter. But it's not on by default, mainly because we've never done the auditing necessary to ensure this doesn't randomly break in various dimly-lit parts of the internet.</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 22, 2015 at 2:13 AM, Colin Perkins <span dir="ltr"><<a href="mailto:csp@csperkins.org" target="_blank">csp@csperkins.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div><div><blockquote type="cite"><div>On 22 Oct 2015, at 08:48, Pal Martinsen (palmarti) <<a href="mailto:palmarti@cisco.com" target="_blank">palmarti@cisco.com</a>> wrote:</div><br><div>



<div style="word-wrap:break-word">
<br>
<div>
<blockquote type="cite">
<div>On 21 Oct 2015, at 18:10, Harald Alvestrand <<a href="mailto:harald@alvestrand.no" target="_blank">harald@alvestrand.no</a>> wrote:</div>
<br>
<div><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">Den
 21. okt. 2015 17:51, skrev Dave Taht:</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
I unsubscribed from rmcat and rtcweb groups a while back after I got<br>
overloaded, and <a href="http://appear.in" target="_blank">appear.in</a> started working so well, (for both ipv6 and<br>
ipv4! I use it all day long now!), to focus on finishing up the new<br>
"cake" qdisc/shaper/aqm/QoS system, among other things.<br>
<br>
<a href="http://www.bufferbloat.net/projects/codel/wiki/CakeTechnical" target="_blank">http://www.bufferbloat.net/projects/codel/wiki/CakeTechnical</a><br>
<br>
Cake is now entering the testlab, and among other things, it has<br>
support for the diffserv markings discussed in the related, now<br>
concluded dart wg, but in ways somewhat different from that imagined<br>
there. We have not got any good code in our testbeds yet to test<br>
videoconferencing behavior, and we could use some, although it does<br>
look like we can drive firefox with some remote control stuff with a<br>
fixed video playback now....<br>
<br>
Five questions:<br>
<br>
1) Has anyone implemented or tested putting voice and video on two<br>
different 5-tuples in any running code out there?<br>
</blockquote>
<br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">All
 VC systems I know of except WebRTC-based ones do it, AFAIK.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">It’s
 putting them on the same that's unusual.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
</div>
</blockquote>
<div>That sounds like the world I am living in as well.</div>
<div><br>
</div>
<br>
<blockquote type="cite">
<div>
<blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
2) How about diffserv markings in general? Do any browsers or webrtc<br>
capable software support what was discussed way back when?<br>
</blockquote>
<br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">I
 know Hangouts did something like that internally, on the controlled</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">network.
 But not according to spec.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
3) Were diffserv marking changes eventually allowed on the same 5-tuple?<br>
</blockquote>
<br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">Yes,
 with caveats. draft-ietf-tsvwg-rtcweb-qos has the table.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
4) Did the ECN support that was originally in one draft or another<br>
ever make it into any running code?<br>
</blockquote>
<br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">I
 don't know. I think we lost it from the docs.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<br>
</div>
</blockquote>
<blockquote type="cite">
<div>
<blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
(yea, apple plans to turn on ecn universally in their next OS!)<br>
<br>
</blockquote>
</div>
</blockquote>
<div>So how would ECN work on UDP? I do not think the necessary bits from the IP header are available for the application to do anything. I do think Linux supports this, have not tested.</div>
<div><br>
</div>
<div>And what about the network, would it support UDP when setting the ECN bits? Probably a configuration related problem if not supported.</div></div></div></div></blockquote><div><br></div></div></div><div>RFC 6679 describes how to use ECN with RTP on UDP, although as you say there are implementation difficulties on some platforms. I’m not sure whether there are implementations. </div><div><div><div><br></div><br><blockquote type="cite"><div><div style="word-wrap:break-word"><div>
<blockquote type="cite">
<div>
<blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
5)  What else did I miss in the past year I should know about?<br>
</blockquote>
<br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">For
 TCP and SCTP congestion controllers, we're back to one DSCP marking</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">per
 flow, and resetting the congestion control state if DSCP marking</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">changes.</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
</div>
</blockquote>
<div><br>
</div>
There is a new ICE wg. It was created so “network people” could participate without the overhead of listening to the SDP related discussions. (<a href="https://datatracker.ietf.org/wg/ice/charter/" target="_blank">https://datatracker.ietf.org/wg/ice/charter/</a>)</div>
<div><br>
</div>
<div>.-.</div>
<div>Pål-Erik</div>
<div><br>
<blockquote type="cite">
<div>
<blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<br>
Feel free to contact me off list if these have already been discussed.<br>
I have totally lost track of the relevant drafts.<br>
</blockquote>
<br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">They're
 not finished still :-)</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<blockquote type="cite" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<br>
Sincerely,<br>
<br>
Dave Täht<br>
I just lost five years of my life to making the edge<br>
of the internet, and, wifi better.<br>
And, now... the FCC wants to make my work illegal<br>
for ordinary people to install.<br>
<a href="https://www.gofundme.com/savewifi" target="_blank">https://www.gofundme.com/savewifi</a><br>
<br>
_______________________________________________<br>
rtcweb mailing list<br>
<a href="mailto:rtcweb@ietf.org" target="_blank">rtcweb@ietf.org</a><br>
<a href="https://www.ietf.org/mailman/listinfo/rtcweb" target="_blank">https://www.ietf.org/mailman/listinfo/rtcweb</a><br>
<br>
</blockquote>
<br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">_______________________________________________</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">rtcweb
 mailing list</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<a href="mailto:rtcweb@ietf.org" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">rtcweb@ietf.org</a><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<a href="https://www.ietf.org/mailman/listinfo/rtcweb" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">https://www.ietf.org/mailman/listinfo/rtcweb</a></div>
</blockquote>
</div>
<br>
</div>

_______________________________________________<br>rtcweb mailing list<br><a href="mailto:rtcweb@ietf.org" target="_blank">rtcweb@ietf.org</a><br><a href="https://www.ietf.org/mailman/listinfo/rtcweb" target="_blank">https://www.ietf.org/mailman/listinfo/rtcweb</a><br></div></blockquote></div></div></div><span><font color="#888888"><br><div>
<span style="border-collapse:separate;color:rgb(0,0,0);font-family:'Lucida Sans Typewriter';font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;border-spacing:0px"><div><br><br></div><div>-- </div><div></div><div>Colin Perkins</div><div><a href="https://csperkins.org/" target="_blank">https://csperkins.org/</a></div><div><br></div></span><br><br>
</div>
<br></font></span></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>