[ofa-general] [PATCH 3/10] IB/core: Add LSO support

Or Gerlitz ogerlitz at voltaire.com
Sat Mar 22 23:36:29 PDT 2008


Eli Cohen wrote:
> LSO allows the networikng stack to pass pass to the network driver SKBs
> with data size larger then MTU and let the HW fragment the data to mss
> sized packets.
>   
Hi Eli, please see some comments below
> --- a/include/rdma/ib_verbs.h
> +++ b/include/rdma/ib_verbs.h
> @@ -411,6 +412,7 @@ enum ib_wc_opcode {
>  	IB_WC_COMP_SWAP,
>  	IB_WC_FETCH_ADD,
>  	IB_WC_BIND_MW,
> +	IB_WC_LSO,
>   
with IB_WC_LSO never being used over this patchset, can we just remove it?
> @@ -622,7 +624,8 @@ enum ib_wr_opcode {
>  	IB_WR_SEND_WITH_IMM,
>  	IB_WR_RDMA_READ,
>  	IB_WR_ATOMIC_CMP_AND_SWP,
> -	IB_WR_ATOMIC_FETCH_AND_ADD
> +	IB_WR_ATOMIC_FETCH_AND_ADD,
> +	IB_WR_LSO
>  };
>  
>  enum ib_send_flags {
> @@ -630,7 +633,8 @@ enum ib_send_flags {
>  	IB_SEND_SIGNALED	= (1<<1),
>  	IB_SEND_SOLICITED	= (1<<2),
>  	IB_SEND_INLINE		= (1<<3),
> -	IB_SEND_IP_CSUM		= (1<<4)
> +	IB_SEND_IP_CSUM		= (1<<4),
> +	IB_SEND_UDP_LSO         = (1<<5)
>  };
>   
IB_SEND_UDP_LSO is never used in this patchset, I guess you wanted to 
call it IB_SEND_TCP_LSO. Also how about using it in ipoib at the same 
manner as the IB_SEND_IP_CSUM bit is? (ie OR it into the send flags of 
the UD WR). With this in mind, I suggest that you remove the IB_WR_LSO.
>  
>  struct ib_sge {
> @@ -660,6 +664,9 @@ struct ib_send_wr {
>  		} atomic;
>  		struct {
>  			struct ib_ah *ah;
> +			void   *header;
> +			int     hlen;
> +			int     mss;
>   
Can you add shorting documentation for the new fields?

Or.




More information about the general mailing list