net/mlx5: fix setting offsets for SW parser
authorYongseok Koh <yskoh@mellanox.com>
Tue, 22 May 2018 08:59:42 +0000 (01:59 -0700)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 22 May 2018 22:35:01 +0000 (00:35 +0200)
commit8589e944d0751bc5959d3c53c2ffcfd0d10cca0c
treeb6ca0e4ee0d783848d0bb61c19b2835c214b3890
parente435197a5fc28e725c71c12893b64626c8d32c09
net/mlx5: fix setting offsets for SW parser

Since ConnectX-5, SW parser just complements HW parser. SW parser starts to
engage only if HW parser can't reach a header. For the older devices, HW
parser will not kick in if any of SWP offsets is set. Therefore, all of the
L3 offsets should be set regardless of HW offload. As IPv6 doesn't have
header checksum, the mbuf can't have PKT_TX_[OUTER_]IP_CKSUM if outer or
inner L3 is IPv6.

And if inner packet isn't IP, the inner offsets shouldn't be set.

Fixes: 5f8ba81c4228 ("net/mlx5: support generic tunnel offloading")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Xueming Li <xuemingl@mellanox.com>
drivers/net/mlx5/mlx5_rxtx.h