Message ID | 20240905165140.3105140-2-idosch@nvidia.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 1f23a1909d7f5f7c5fa6809816d61712de1a2d5b |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | Unmask upper DSCP bits - part 4 (last) | expand |
On Thu, Sep 05, 2024 at 07:51:29PM +0300, Ido Schimmel wrote: > 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. Reviewed-by: Guillaume Nault <gnault@redhat.com>
diff --git a/net/bridge/br_netfilter_hooks.c b/net/bridge/br_netfilter_hooks.c index 8f9c19d992ac..0e8bc0ea6175 100644 --- a/net/bridge/br_netfilter_hooks.c +++ b/net/bridge/br_netfilter_hooks.c @@ -36,6 +36,7 @@ #include <net/route.h> #include <net/netfilter/br_netfilter.h> #include <net/netns/generic.h> +#include <net/inet_dscp.h> #include <linux/uaccess.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; rt = ip_route_output(net, iph->daddr, 0, - RT_TOS(iph->tos), 0, + iph->tos & INET_DSCP_MASK, 0, RT_SCOPE_UNIVERSE); if (!IS_ERR(rt)) { /* - Bridged-and-DNAT'ed traffic doesn't
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> --- net/bridge/br_netfilter_hooks.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)