[dpdk-dev] [PATCH] pmd: Add generic support for TCP TSO (Transmit Segmentation Offload)

Thomas Monjalon thomas.monjalon at 6wind.com
Mon Oct 20 13:30:07 CEST 2014


Hi Miroslaw,

I'll try to comment your patch, but I don't know if you'll receive it.
Indeed, you didn't reply to the previous comments.
Please configure your email client to receive these emails.
This is not a write-only list.

2014-10-20 05:42, miroslaw.walukiewicz at intel.com:
> Add new  PKT_TX_TCP_SEG flag
> Add new fields in the tx offload fields indicating MSS and L4 len

You should explain why these additions are needed.

>  	/* fields to support TX offloads */
> -	union {
> -		uint16_t l2_l3_len; /**< combined l2/l3 lengths as single var */
> -		struct {
> -			uint16_t l3_len:9;      /**< L3 (IP) Header Length. */
> -			uint16_t l2_len:7;      /**< L2 (MAC) Header Length. */
> +	/* two bytes - l2/l3 len for compatibility (endian issues)
> +	 * two bytes - reseved for alignment
> +	 * two bytes - l4 len (TCP/UDP) header len
> +	 * two bytes - TCP tso segment size 
> + 	 */
> +	struct {
> +		union {
> +			uint16_t l2_l3_len; /**< combined l2/l3 len */
> +			struct {
> +				uint16_t l3_len:9; /**< L3 (IP) Header */
> +				uint16_t l2_len:7; /**< L2 (MAC) Header */
> +			};
>  		};

Why nesting these fields in an anonymous structure?

> +		uint16_t reserved_tx_offload;
> +		uint16_t l4_len;            /**< TCP/UDP header len */
> +		uint16_t tso_segsz;         /**< TCP TSO segment size */
>  	};

What means reserved_tx_offload?

Is there an impact on performance of actual drivers ?

How this patch is related with previous work in progress about TSO?

-- 
Thomas


More information about the dev mailing list