09/07/2025 09:26, Dariusz Sosnowski: > Thank you for addressing the comments. > > On Tue, Jul 08, 2025 at 08:11:56AM -0700, Andre Muezerie wrote: > > When compiling with MSVC the error below is hit: > > > > drivers\net\mlx5\mlx5_tx.h(1148): error C2065: 'rte_v128u32_t': > > undeclared identifier > > > > The reference to rte_v128u32_t (in code and in names) can be removed, > > because the code which relies on MLX5_ESEG_MIN_INLINE_SIZE does not > > really use rte_v128u32_t type. The relevant code e.g., > > in mlx5_tx_eseg_dmin(), always copies first 2 bytes of the packet > > (through uint16_t pointer, these would be first 2 bytes of destination > > MAC address) and then does one of the two: > > > > 1. Copies following 16 bytes using rte_mov16(). > > (Corresponds to first static_assert for MLX5_ESEG_MIN_INLINE_SIZE). > > 2. If there is a VLAN defined in mbuf, then: > > - the rest of destination MAC address is copied, > > - source MAC address is copied, > > - VLAN is inserted, > > - 2 bytes appearing after VLAN header are copied. > > (Corresponds to 2nd static_assert for MLX5_ESEG_MIN_INLINE_SIZE). > > > > The amount of data copied is inferred from HW arch and packet descriptor > > layout, not rte_v128u32_t. > > > > Since rte_mov16() is used in real code and rte_v128u32_t is only used to > > carry over the length of the copy, this patch replaces instances of > > sizeof(rte_v128u32_t) with a macro named MLX5_SIZE_MOV16 to better > > reflect the real usage in mlx5 PMD. > > > > Signed-off-by: Andre Muezerie <andre...@linux.microsoft.com> > > Acked-by: Dariusz Sosnowski <dsosnow...@nvidia.com>
Applied, thanks. Looks like the generic vector types rte_v*_t are useless, and not compatible with MSVC. We may think whether we really want to keep them.