|
@@ -33,6 +33,7 @@
|
|
|
#include <linux/netfilter.h>
|
|
|
#include <linux/route.h>
|
|
|
#include <linux/mroute.h>
|
|
|
+#include <net/inet_ecn.h>
|
|
|
#include <net/route.h>
|
|
|
#include <net/xfrm.h>
|
|
|
#include <net/compat.h>
|
|
@@ -578,8 +579,8 @@ static int do_ip_setsockopt(struct sock *sk, int level,
|
|
|
break;
|
|
|
case IP_TOS: /* This sets both TOS and Precedence */
|
|
|
if (sk->sk_type == SOCK_STREAM) {
|
|
|
- val &= ~3;
|
|
|
- val |= inet->tos & 3;
|
|
|
+ val &= ~INET_ECN_MASK;
|
|
|
+ val |= inet->tos & INET_ECN_MASK;
|
|
|
}
|
|
|
if (inet->tos != val) {
|
|
|
inet->tos = val;
|