mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
inet6: Set default traffic class
This patch addresses:
* assigning -1 to np->tclass as it is currently done is not very meaningful,
since it turns into 0xff;
* RFC 3542, 6.5 allows -1 for clearing the sticky IPV6_TCLASS option
and specifies -1 to mean "use kernel default":
- RFC 2460, 7. requires that the default traffic class must be zero for
all 8 bits,
- this is consistent with RFC 2474, 4.1 which recommends a default PHB of 0,
in combination with a value of the ECN field of "non-ECT" (RFC 3168, 5.).
This patch changes the meaning of -1 from assigning 255 to mean the RFC 2460
default, which at the same time allows to satisfy clearing the sticky TCLASS
option as per RFC 3542, 6.5.
(When passing -1 as ancillary data, the fallback remains np->tclass, which
has either been set via socket options, or contains the default value.)
Signed-off-by: Gerrit Renker <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
e651f03afe
commit
26ced1e4aa
1 changed files with 3 additions and 0 deletions
|
|
@ -315,6 +315,9 @@ static int do_ipv6_setsockopt(struct sock *sk, int level, int optname,
|
|||
goto e_inval;
|
||||
if (val < -1 || val > 0xff)
|
||||
goto e_inval;
|
||||
/* RFC 3542, 6.5: default traffic class of 0x0 */
|
||||
if (val == -1)
|
||||
val = 0;
|
||||
np->tclass = val;
|
||||
retv = 0;
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in a new issue