FreeBSD/src ea66341 (r341972)sys/dev/mlx5 vport.h, sys/dev/mlx5/mlx5_core mlx5_vport.c

MFC r341579:
mlx5en: Fix for inlining issues in transmit path

1) Don't exceed the drivers own hardcoded TX inline limit.

The blueflame register size can be much greater than the hardcoded limit
for inlining. Make sure we don't exceed the drivers own limit, because this
also means that the maximum number of TX fragments becomes invalid and
then memory size assumptions in the TX path no longer hold up.

2) Make sure the mlx5_query_min_inline() function returns an error code.

3) Header inlining is required when using TSO.

4) Catch failure to compute inline header size for TSO.

5) Add support for UDP when computing inline header size.

6) Fix for inlining issues with regards to DSCP.

Make sure we inline 4 bytes beyond the ethernet and/or
VLAN header to workaround a hardware bug extracting
the DSCP field from the IPv4/v6 header.

Sponsored by:   Mellanox Technologies
DeltaFile
+137-82sys/dev/mlx5/mlx5_en/mlx5_en_tx.c
+71-24sys/dev/mlx5/mlx5_en/mlx5_en_main.c
+11-3sys/dev/mlx5/mlx5_core/mlx5_vport.c
+5-2sys/dev/mlx5/mlx5_en/en.h
+6-0sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c
+1-1sys/dev/mlx5/vport.h
+231-1126 files

UnifiedSplitRaw