Commit 1f23a190 authored by Ido Schimmel's avatar Ido Schimmel Committed by David S. Miller

netfilter: br_netfilter: Unmask upper DSCP bits in br_nf_pre_routing_finish()

Unmask upper DSCP bits when calling ip_route_output() so that in the
future it could perform the FIB lookup according to the full DSCP value.
Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
Reviewed-by: default avatarGuillaume Nault <gnault@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8f088541
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include <net/route.h> #include <net/route.h>
#include <net/netfilter/br_netfilter.h> #include <net/netfilter/br_netfilter.h>
#include <net/netns/generic.h> #include <net/netns/generic.h>
#include <net/inet_dscp.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include "br_private.h" #include "br_private.h"
...@@ -402,7 +403,7 @@ static int br_nf_pre_routing_finish(struct net *net, struct sock *sk, struct sk_ ...@@ -402,7 +403,7 @@ static int br_nf_pre_routing_finish(struct net *net, struct sock *sk, struct sk_
goto free_skb; goto free_skb;
rt = ip_route_output(net, iph->daddr, 0, rt = ip_route_output(net, iph->daddr, 0,
RT_TOS(iph->tos), 0, iph->tos & INET_DSCP_MASK, 0,
RT_SCOPE_UNIVERSE); RT_SCOPE_UNIVERSE);
if (!IS_ERR(rt)) { if (!IS_ERR(rt)) {
/* - Bridged-and-DNAT'ed traffic doesn't /* - Bridged-and-DNAT'ed traffic doesn't
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment