Messages in this thread | | | From | Matthias May <> | Subject | [PATCH 0/2 net-next] geneve: fix TOS inheriting | Date | Sun, 24 Jul 2022 02:37:39 +0200 |
| |
Currently when the TOS of an encapsulated frame is inherited, the 6 DSCP bits are cut down to 3 original TOS bits. Compare to other L2 tunneling protocols (gretap, vxlan) this is unexpected. IPv4 and IPv6 have both this behaviour but for different reasons.
For IPv4 the bits are lost in the routing table lookup. The patch copies the full tos out before the lookup and uses the copy.
For IPv6 the RT_TOS macro cuts off the 3 bits. I'm not really familiar with the IPv6 code, but to me it seems as if this part of the code only uses the TOS for the flowlabel. Is there any reason why the flowlabel should be restricted to these 3 bits? The patch simply removes the usage of this macro, but i don't know if there was a specific intention behind that. I can't find any immediate breakage, but then again my IPv6 testing is fairly limited.
Matthias May (2): geneve: fix TOS inheriting for ipv4 geneve: fix TOS inheriting for ipv6
drivers/net/geneve.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-)
-- 2.35.1
| |