#include <net/dsfield.h>
 #include <net/net_namespace.h>
 #include <net/netns/generic.h>
+#include <net/inet_dscp.h>
 
 /*
    This version of net/ipv6/sit.c is cloned of net/ipv4/ip_gre.c
        }
 
        flowi4_init_output(&fl4, tunnel->parms.link, tunnel->fwmark,
-                          RT_TOS(tos), RT_SCOPE_UNIVERSE, IPPROTO_IPV6,
-                          0, dst, tiph->saddr, 0, 0,
+                          tos & INET_DSCP_MASK, RT_SCOPE_UNIVERSE,
+                          IPPROTO_IPV6, 0, dst, tiph->saddr, 0, 0,
                           sock_net_uid(tunnel->net, NULL));
 
        rt = dst_cache_get_ip4(&tunnel->dst_cache, &fl4.saddr);