mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
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: Ido Schimmel <idosch@nvidia.com> Reviewed-by: Guillaume Nault <gnault@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8f08854199
commit
1f23a1909d
@ -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_
|
|||||||
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
|
||||||
|
Loading…
Reference in New Issue
Block a user