]> www.infradead.org Git - users/dwmw2/linux.git/commit
geneve: fix TOS inheriting for ipv4
authorMatthias May <matthias.may@westermo.com>
Fri, 5 Aug 2022 19:00:06 +0000 (21:00 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Aug 2022 09:38:02 +0000 (11:38 +0200)
commit2c746ec91de76e095e4f18367dbb5103a6ed09e1
treebe3297af55f507682d5c29568df988d89650a8da
parenta0ae122e9aeccbff75014c4d36d11a9d32e7fb5e
geneve: fix TOS inheriting for ipv4

commit b4ab94d6adaa5cf842b68bd28f4b50bc774496bd upstream.

The current code retrieves the TOS field after the lookup
on the ipv4 routing table. The routing process currently
only allows routing based on the original 3 TOS bits, and
not on the full 6 DSCP bits.
As a result the retrieved TOS is cut to the 3 bits.
However for inheriting purposes the full 6 bits should be used.

Extract the full 6 bits before the route lookup and use
that instead of the cut off 3 TOS bits.

Fixes: e305ac6cf5a1 ("geneve: Add support to collect tunnel metadata.")
Signed-off-by: Matthias May <matthias.may@westermo.com>
Acked-by: Guillaume Nault <gnault@redhat.com>
Link: https://lore.kernel.org/r/20220805190006.8078-1-matthias.may@westermo.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/geneve.c