--- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -2495,7 +2495,8 @@ int udp_v4_early_demux(struct sk_buff *s */ if (!inet_sk(sk)->inet_daddr && in_dev) return ip_mc_validate_source(skb, iph->daddr, - iph->saddr, iph->tos, + iph->saddr, + iph->tos & IPTOS_RT_MASK, skb->dev, in_dev, &itag); } return 0;