[dpdk-dev] [PATCH] ethdev: fix ABI breakage in lro code

Neil Horman nhorman at tuxdriver.com
Mon Jul 13 12:42:18 CEST 2015


On Mon, Jul 13, 2015 at 11:26:25AM +0100, John McNamara wrote:
> Fix for ABI breakage introduced in LRO addition. Moves
> lro bitfield to the end of the struct/member.
> 
> Fixes: 8eecb3295aed (ixgbe: add LRO support)
> 
> Signed-off-by: John McNamara <john.mcnamara at intel.com>
> ---
>  lib/librte_ether/rte_ethdev.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
> index 79bde89..1c3ace1 100644
> --- a/lib/librte_ether/rte_ethdev.h
> +++ b/lib/librte_ether/rte_ethdev.h
> @@ -1578,9 +1578,9 @@ struct rte_eth_dev_data {
>  	uint8_t port_id;           /**< Device [external] port identifier. */
>  	uint8_t promiscuous   : 1, /**< RX promiscuous mode ON(1) / OFF(0). */
>  		scattered_rx : 1,  /**< RX of scattered packets is ON(1) / OFF(0) */
> -		lro          : 1,  /**< RX LRO is ON(1) / OFF(0) */
>  		all_multicast : 1, /**< RX all multicast mode ON(1) / OFF(0). */
> -		dev_started : 1;   /**< Device state: STARTED(1) / STOPPED(0). */
> +		dev_started : 1,   /**< Device state: STARTED(1) / STOPPED(0). */
> +		lro         : 1;   /**< RX LRO is ON(1) / OFF(0) */
>  };
>  
>  /**
> -- 
> 1.8.1.4
> 
> 
I presume the ABI checker stopped complaining about this with the patch, yes?

Also, it would be great if someone could check this on ppc or a ppc cross
compile, as I recall bitfields follow endianess order.

Neil



More information about the dev mailing list