Re: [rtcweb] [rmcat] Catching up on diffserv markings

Harald Alvestrand <harald@alvestrand.no> Fri, 23 October 2015 08:34 UTC

Return-Path: <harald@alvestrand.no>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7CAF51B3329 for <rtcweb@ietfa.amsl.com>; Fri, 23 Oct 2015 01:34:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.222
X-Spam-Level:
X-Spam-Status: No, score=-0.222 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FRT_STOCK2=3.988, RCVD_IN_DNSWL_MED=-2.3, T_RP_MATCHES_RCVD=-0.01] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UnZ4oAfSKBe4 for <rtcweb@ietfa.amsl.com>; Fri, 23 Oct 2015 01:34:24 -0700 (PDT)
Received: from mork.alvestrand.no (mork.alvestrand.no [158.38.152.117]) by ietfa.amsl.com (Postfix) with ESMTP id 9EC421B3322 for <rtcweb@ietf.org>; Fri, 23 Oct 2015 01:34:23 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mork.alvestrand.no (Postfix) with ESMTP id 833DF7C0B32 for <rtcweb@ietf.org>; Fri, 23 Oct 2015 10:34:22 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at alvestrand.no
Received: from mork.alvestrand.no ([127.0.0.1]) by localhost (mork.alvestrand.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id f324vASDtYMS for <rtcweb@ietf.org>; Fri, 23 Oct 2015 10:34:20 +0200 (CEST)
Received: from [IPv6:2001:470:de0a:1:78f8:6c3f:c382:dab8] (unknown [IPv6:2001:470:de0a:1:78f8:6c3f:c382:dab8]) by mork.alvestrand.no (Postfix) with ESMTPSA id A97667C0B2A for <rtcweb@ietf.org>; Fri, 23 Oct 2015 10:34:20 +0200 (CEST)
To: rtcweb@ietf.org
References: <CAA93jw64CVt6wvexRfpmaF1gFk-iegKSJxQscjccRSZ0yshvsQ@mail.gmail.com> <5627B90D.8070106@alvestrand.no> <43B59C2F-4B64-4318-8339-04903AF2A6AC@cisco.com> <34EEB0FF-1922-42B5-A778-9BB66B7C4FDC@csperkins.org> <CAOJ7v-1RJbhe3i+_newDBObtJfJM6pWZUyRb4GZ8BHRDdDyKDg@mail.gmail.com>
From: Harald Alvestrand <harald@alvestrand.no>
X-Enigmail-Draft-Status: N1110
Message-ID: <5629F10B.6050503@alvestrand.no>
Date: Fri, 23 Oct 2015 10:34:19 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0
MIME-Version: 1.0
In-Reply-To: <CAOJ7v-1RJbhe3i+_newDBObtJfJM6pWZUyRb4GZ8BHRDdDyKDg@mail.gmail.com>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: 8bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtcweb/eZbTrwiLaUlBMtQPp6YTEnS0v8w>
Subject: Re: [rtcweb] [rmcat] Catching up on diffserv markings
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Oct 2015 08:34:26 -0000

ECN markings are just a byte in the IP header.

The brutal way to do this is to get your packets as raw packets, and
doing UDP processing yourself.

The less brutal way on Linux is to use setsockopt(IP_RECVTOS) ("since
Linux 2.2" according to "man 7 ip"). There's a 2012 FreeBSD code example
from Michael Tuexen here:

http://lists.freebsd.org/pipermail/freebsd-net/2012-June/032519.html

(Linux and FreeBSD may not count as "widely deployed" on the desktop,
but Linux wrapped up as Android is a fairly frequent player in the
mobile space.)

Den 22. okt. 2015 21:54, skrev Justin Uberti:
> At present I'm not aware of any widely-deployed OS where an app can read
> the received ECN markings. 
> 
> 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.
> 
> 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.
> 
> On Thu, Oct 22, 2015 at 2:13 AM, Colin Perkins <csp@csperkins.org
> <mailto:csp@csperkins.org>> wrote:
> 
>>     On 22 Oct 2015, at 08:48, Pal Martinsen (palmarti)
>>     <palmarti@cisco.com <mailto:palmarti@cisco.com>> wrote:
>>
>>
>>>     On 21 Oct 2015, at 18:10, Harald Alvestrand <harald@alvestrand.no
>>>     <mailto:harald@alvestrand.no>> wrote:
>>>
>>>     Den 21. okt. 2015 17:51, skrev Dave Taht:
>>>>     I unsubscribed from rmcat and rtcweb groups a while back after I got
>>>>     overloaded, and appear.in <http://appear.in> started working so
>>>>     well, (for both ipv6 and
>>>>     ipv4! I use it all day long now!), to focus on finishing up the new
>>>>     "cake" qdisc/shaper/aqm/QoS system, among other things.
>>>>
>>>>     http://www.bufferbloat.net/projects/codel/wiki/CakeTechnical
>>>>
>>>>     Cake is now entering the testlab, and among other things, it has
>>>>     support for the diffserv markings discussed in the related, now
>>>>     concluded dart wg, but in ways somewhat different from that imagined
>>>>     there. We have not got any good code in our testbeds yet to test
>>>>     videoconferencing behavior, and we could use some, although it does
>>>>     look like we can drive firefox with some remote control stuff with a
>>>>     fixed video playback now....
>>>>
>>>>     Five questions:
>>>>
>>>>     1) Has anyone implemented or tested putting voice and video on two
>>>>     different 5-tuples in any running code out there?
>>>
>>>     All VC systems I know of except WebRTC-based ones do it, AFAIK.
>>>     It’s putting them on the same that's unusual.
>>>
>>     That sounds like the world I am living in as well.
>>
>>
>>>>     2) How about diffserv markings in general? Do any browsers or webrtc
>>>>     capable software support what was discussed way back when?
>>>
>>>     I know Hangouts did something like that internally, on the controlled
>>>     network. But not according to spec.
>>>
>>>>     3) Were diffserv marking changes eventually allowed on the same
>>>>     5-tuple?
>>>
>>>     Yes, with caveats. draft-ietf-tsvwg-rtcweb-qos has the table.
>>>
>>>>     4) Did the ECN support that was originally in one draft or another
>>>>     ever make it into any running code?
>>>
>>>     I don't know. I think we lost it from the docs.
>>>
>>>>     (yea, apple plans to turn on ecn universally in their next OS!)
>>>>
>>     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.
>>
>>     And what about the network, would it support UDP when setting the
>>     ECN bits? Probably a configuration related problem if not supported.
> 
>     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. 
> 
> 
>>>>     5)  What else did I miss in the past year I should know about?
>>>
>>>     For TCP and SCTP congestion controllers, we're back to one DSCP
>>>     marking
>>>     per flow, and resetting the congestion control state if DSCP marking
>>>     changes.
>>>
>>
>>     There is a new ICE wg. It was created so “network people” could
>>     participate without the overhead of listening to the SDP related
>>     discussions. (https://datatracker.ietf.org/wg/ice/charter/)
>>
>>     .-.
>>     Pål-Erik
>>
>>>>
>>>>     Feel free to contact me off list if these have already been
>>>>     discussed.
>>>>     I have totally lost track of the relevant drafts.
>>>
>>>     They're not finished still :-)
>>>
>>>>
>>>>     Sincerely,
>>>>
>>>>     Dave Täht
>>>>     I just lost five years of my life to making the edge
>>>>     of the internet, and, wifi better.
>>>>     And, now... the FCC wants to make my work illegal
>>>>     for ordinary people to install.
>>>>     https://www.gofundme.com/savewifi
>>>>
>>>>     _______________________________________________
>>>>     rtcweb mailing list
>>>>     rtcweb@ietf.org <mailto:rtcweb@ietf.org>
>>>>     https://www.ietf.org/mailman/listinfo/rtcweb
>>>>
>>>
>>>     _______________________________________________
>>>     rtcweb mailing list
>>>     rtcweb@ietf.org <mailto:rtcweb@ietf.org>
>>>     https://www.ietf.org/mailman/listinfo/rtcweb
>>
>>     _______________________________________________
>>     rtcweb mailing list
>>     rtcweb@ietf.org <mailto:rtcweb@ietf.org>
>>     https://www.ietf.org/mailman/listinfo/rtcweb
> 
> 
> 
>     -- 
>     Colin Perkins
>     https://csperkins.org/
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
>