[Cake] DSCP ramblings

Kevin Darbyshire-Bryant kevin at darbyshire-bryant.me.uk
Thu Apr 23 06:50:33 EDT 2020

> On 22 Apr 2020, at 17:44, Stephen Hemminger <stephen at networkplumber.org> wrote:
> In my experience, except for a small number of cases (RDMA etc) Diffserv is a
> complete waste of time. There is no global ordering, there is no guarantee against
> starvation and any sane ISP strips the bits off or ignores them.
> Diffserv is even an issue at scale in the cloud. What does DSCP mean exactly on
> outer headers, who gets to decide for which service. And what about inner headers
> and propogating inner to outer. Its a mess.

That’s…depressing :-/ And suggests there are at least 6 bits spare in the ’TOS’ byte, perhaps that should go forward at the next IETF meeting ;-)

In my own naive home network fiefdom I would like to have some level of control as to who/what gets the lion’s/fairshare of my ISP wan link.  I don’t actually care whether that DSCP decision makes it/returns on the wan link…I have my own combination of tc act_ctinfo (in upstream linux) and ‘iptables connmark —setdscp’ (not in upstream linux yet) to do my DSCP mark saving/restoration, so what I set sticks and affects CAKE’s tin allocation & shaping decisions.  I want my wife’s facetime call to her sister to work perfectly, I want my bittorrenting to sit there in the background unnoticed, I want my network backup job/s to run in good time but not at the expense of interactive web browsing, ssh’ing etc.  I want my BBC iplayer radio to sit there streaming away at the best quality, no interruptions.  It’s all possible.

As it currently stands I’ve a series of guestimate iptables rules mainly based on source or destination ip address (occasionally a bit of port number) but that’s pretty coarse.  Why can’t the application do it?

LE - Least Effort - 0/16 can be starved - bittorrent
GE - Good Effort - 1/16 not starved - background downloads, windows update
BE - Best Effort - 16/16 Normal activity, default
SP - Streaming Priority - 8/16 high bitrate streaming, Video/Audio streaming,  Video portion of video conferencing
IIP - Interactive/Important Priority - 4/16 low bitrate streaming, SIP/VOIP, interactive SSH, DNS, Audio portion of video conferencing

I’m still stunned/shocked by the lack of obvious DSCP support in libcurl.  If DSCP setting isn’t easy to do, no one will do it.  Perhaps if it is built, people will come?

I’m probably stupid.  And now depressed!

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Message signed with OpenPGP
URL: <https://lists.bufferbloat.net/pipermail/cake/attachments/20200423/c041a978/attachment.sig>

More information about the Cake mailing list