Messages in this thread | | | Date | Mon, 25 Jul 2022 19:05:19 +0200 | From | Guillaume Nault <> | Subject | Re: [PATCH 2/2 net-next] geneve: fix TOS inheriting for ipv6 |
| |
On Sun, Jul 24, 2022 at 02:37:41AM +0200, Matthias May wrote: > The current code uses the RT_TOS macro to cut off the 6 DSCP > bits, down to the original 3 TOS bits. > > Do not use this macro to get the prio for inheriting purposes.
Honestly, this patch is a bug fix and is suitable for the net tree (with appropriate 'Fixes' tag).
Ideally, we'd also fix ip6_dst_lookup_tunnel() (used by bareudp tunnels) and vxlan6_get_route().
Also, mlx5e_tc_tun_update_header_ipv6() and mlx5e_tc_tun_create_header_ipv6() both call RT_TOS() inside ip6_make_flowinfo() and certainly need to be fixed too.
> Signed-off-by: Matthias May <matthias.may@westermo.com> > --- > drivers/net/geneve.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c > index 4c380c06f178..e1a4480e6f17 100644 > --- a/drivers/net/geneve.c > +++ b/drivers/net/geneve.c > @@ -877,8 +877,7 @@ static struct dst_entry *geneve_get_v6_dst(struct sk_buff *skb, > use_cache = false; > } > > - fl6->flowlabel = ip6_make_flowinfo(RT_TOS(prio), > - info->key.label); > + fl6->flowlabel = ip6_make_flowinfo(prio, info->key.label); > dst_cache = (struct dst_cache *)&info->dst_cache; > if (use_cache) { > dst = dst_cache_get_ip6(dst_cache, &fl6->saddr); > -- > 2.35.1 >
| |