ix(intel) vs mlxen(mellanox) 10Gb performance

Hans Petter Selasky hps at selasky.org
Tue Aug 18 13:30:44 UTC 2015


On 08/18/15 14:53, Rick Macklem wrote:
> 2572 	  	         ifp->if_hw_tsomax = 65518;
>> >2573 	  	         ifp->if_hw_tsomaxsegcount = IXGBE_82599_SCATTER;
>> >2574 	  	         ifp->if_hw_tsomaxsegsize = 2048;

Hi,

If IXGBE_82599_SCATTER is the maximum scatter/gather entries the 
hardware can do, remember to subtract one fragment for the TCP/IP-header 
mbuf!

I think there is an off-by-one here:

ifp->if_hw_tsomax = 65518;
ifp->if_hw_tsomaxsegcount = IXGBE_82599_SCATTER - 1;
ifp->if_hw_tsomaxsegsize = 2048;

Refer to:

>          *
>          * NOTE: The TSO limits only apply to the data payload part of
>          * a TCP/IP packet. That means there is no need to subtract
>          * space for ethernet-, vlan-, IP- or TCP- headers from the
>          * TSO limits unless the hardware driver in question requires
>          * so.

In sys/net/if_var.h

Thank you!

--HPS



More information about the freebsd-net mailing list