Skip to content

Commit 68e59ed

Browse files
author
Guillaume Nault
committed
mlx5: do not use RT_TOS for IPv6 flowlabel
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2161351 Upstream Status: linux.git commit bcb0da7 Author: Matthias May <matthias.may@westermo.com> Date: Fri Aug 5 21:19:05 2022 +0200 mlx5: do not use RT_TOS for IPv6 flowlabel According to Guillaume Nault RT_TOS should never be used for IPv6. Quote: RT_TOS() is an old macro used to interprete IPv4 TOS as described in the obsolete RFC 1349. It's conceptually wrong to use it even in IPv4 code, although, given the current state of the code, most of the existing calls have no consequence. But using RT_TOS() in IPv6 code is always a bug: IPv6 never had a "TOS" field to be interpreted the RFC 1349 way. There's no historical compatibility to worry about. Fixes: ce99f6b ("net/mlx5e: Support SRIOV TC encapsulation offloads for IPv6 tunnels") Acked-by: Guillaume Nault <gnault@redhat.com> Signed-off-by: Matthias May <matthias.may@westermo.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Guillaume Nault <gnault@redhat.com>
1 parent 0fa08bf commit 68e59ed

File tree

1 file changed

+2
-2
lines changed
  • drivers/net/ethernet/mellanox/mlx5/core/en

1 file changed

+2
-2
lines changed

drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -506,7 +506,7 @@ int mlx5e_tc_tun_create_header_ipv6(struct mlx5e_priv *priv,
506506
int err;
507507

508508
attr.ttl = tun_key->ttl;
509-
attr.fl.fl6.flowlabel = ip6_make_flowinfo(RT_TOS(tun_key->tos), tun_key->label);
509+
attr.fl.fl6.flowlabel = ip6_make_flowinfo(tun_key->tos, tun_key->label);
510510
attr.fl.fl6.daddr = tun_key->u.ipv6.dst;
511511
attr.fl.fl6.saddr = tun_key->u.ipv6.src;
512512

@@ -620,7 +620,7 @@ int mlx5e_tc_tun_update_header_ipv6(struct mlx5e_priv *priv,
620620

621621
attr.ttl = tun_key->ttl;
622622

623-
attr.fl.fl6.flowlabel = ip6_make_flowinfo(RT_TOS(tun_key->tos), tun_key->label);
623+
attr.fl.fl6.flowlabel = ip6_make_flowinfo(tun_key->tos, tun_key->label);
624624
attr.fl.fl6.daddr = tun_key->u.ipv6.dst;
625625
attr.fl.fl6.saddr = tun_key->u.ipv6.src;
626626

0 commit comments

Comments
 (0)