From: Guillaume Nault Date: Wed, 15 Jan 2025 11:53:55 +0000 (+0100) Subject: gre: Prepare ipgre_open() to .flowi4_tos conversion. X-Git-Tag: v6.14-rc1~162^2~44 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2c77bcb344f589054b2039bddcd32c4f666258b9;p=thirdparty%2Flinux.git gre: Prepare ipgre_open() to .flowi4_tos conversion. Use ip4h_dscp() to get the tunnel DSCP option as dscp_t, instead of manually masking the raw tos field with INET_DSCP_MASK. This will ease the conversion of fl4->flowi4_tos to dscp_t, which just becomes a matter of dropping the inet_dscp_to_dsfield() call. Signed-off-by: Guillaume Nault Reviewed-by: Ido Schimmel Link: https://patch.msgid.link/6c05a11afdc61530f1a4505147e0909ad51feb15.1736941806.git.gnault@redhat.com Signed-off-by: Jakub Kicinski --- diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index a020342f618d6..ed1b6b44faf80 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c @@ -926,7 +926,7 @@ static int ipgre_open(struct net_device *dev) if (ipv4_is_multicast(t->parms.iph.daddr)) { struct flowi4 fl4 = { .flowi4_oif = t->parms.link, - .flowi4_tos = t->parms.iph.tos & INET_DSCP_MASK, + .flowi4_tos = inet_dscp_to_dsfield(ip4h_dscp(&t->parms.iph)), .flowi4_scope = RT_SCOPE_UNIVERSE, .flowi4_proto = IPPROTO_GRE, .saddr = t->parms.iph.saddr,