]> granicus.if.org Git - transmission/commit
Unify/Modernize TOS to DSCP standards (#737)
authorMingye Wang <arthur200126@gmail.com>
Sun, 21 Jul 2019 11:09:04 +0000 (19:09 +0800)
committerMike Gelfand <mikedld@users.noreply.github.com>
Sun, 21 Jul 2019 11:09:04 +0000 (14:09 +0300)
commitbcf8128400a1055d920757c0e5924a34a371824a
treef7e0f791eced1b9532acc7199c16e840d0fb6366
parenteef47993887a486890fe3116c828a1e939bf1b69
Unify/Modernize TOS to DSCP standards (#737)

* Unify/Modernize TOS to DSCP standards

The set of pre-named TOS values are now renamed to the latest DSCP
standards, with traffic classes and everything exciting. To keep
everything in the same place, a segment has been added to net.h to keep
the currently named values.

A result of these changes is that "lowcost" is probably no longer
harmless, as it now encourages the router to preferentially drop the
packages when bandwidth requires so. "lowdelay" is assigned to a pretty
high AF class for SIP and stuff. I am not sure at all about the
"throughput" assignment. I mean, the whole point of DSCP-fication is
translating from the old ToS bits to a more precedence-based notation,
and precedence is supposed to lie beside the old 4 ToS bits...

A funny interaction between the AFxy and the old ToS fields lies in
the old "reliability" (0x08) field. All odd numbers of y (1, 3 : low,
high) switches it on. If you spend 5 more minutes on it you can probably
come up with "pun" values that hold similar meanings in DSCP and
Prec/ToS.

By removing the IPv6 override, I should have kind of satisfied the #692
request.

Fixes: #692
libtransmission/net.c
libtransmission/net.h
libtransmission/session.c