mirror of
https://github.com/torvalds/linux.git
synced 2024-11-27 22:51:35 +00:00
net/mlx5e: Fix inline header size calculation
mlx5e_get_inline_hdr_size didn't take into account the vlan insertion
into the inline WQE segment.
This could lead to max inline violation in cases where
skb_headlen(skb) + VLAN_HLEN >= sq->max_inline.
Fixes: 3ea4891db8
("net/mlx5e: Fix LSO vlan insertion")
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Achiad Shochat <achiad@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
340c78e590
commit
ba6c4c0944
@ -118,8 +118,15 @@ static inline u16 mlx5e_get_inline_hdr_size(struct mlx5e_sq *sq,
|
||||
*/
|
||||
#define MLX5E_MIN_INLINE ETH_HLEN
|
||||
|
||||
if (bf && (skb_headlen(skb) <= sq->max_inline))
|
||||
return skb_headlen(skb);
|
||||
if (bf) {
|
||||
u16 ihs = skb_headlen(skb);
|
||||
|
||||
if (skb_vlan_tag_present(skb))
|
||||
ihs += VLAN_HLEN;
|
||||
|
||||
if (ihs <= sq->max_inline)
|
||||
return skb_headlen(skb);
|
||||
}
|
||||
|
||||
return MLX5E_MIN_INLINE;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user