ipv4: ip_gre: Unmask upper DSCP bits in ipgre_open()
authorIdo Schimmel <idosch@nvidia.com>
Thu, 5 Sep 2024 16:51:30 +0000 (19:51 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 9 Sep 2024 13:14:52 +0000 (14:14 +0100)
Unmask the upper DSCP bits when calling ip_route_output_gre() 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>
net/ipv4/ip_gre.c

index b54c41f3ae3cd146075ee775fb6c770b3fe69a2e..5f6fd382af38a32d9e22633cdb2e9fd01f1795e4 100644 (file)
@@ -44,6 +44,7 @@
 #include <net/gre.h>
 #include <net/dst_metadata.h>
 #include <net/erspan.h>
+#include <net/inet_dscp.h>
 
 /*
    Problems & solutions
@@ -930,7 +931,7 @@ static int ipgre_open(struct net_device *dev)
                                         t->parms.iph.daddr,
                                         t->parms.iph.saddr,
                                         t->parms.o_key,
-                                        RT_TOS(t->parms.iph.tos),
+                                        t->parms.iph.tos & INET_DSCP_MASK,
                                         t->parms.link);
                if (IS_ERR(rt))
                        return -EADDRNOTAVAIL;