[PATCH v3 1/8] ethdev: add IPv6 routing extension header definition

Stephen Hemminger stephen at networkplumber.org
Mon Jan 30 17:47:46 CET 2023


On Mon, 30 Jan 2023 05:59:33 +0200
Rongwei Liu <rongweil at nvidia.com> wrote:

>  
> +/**
> + * IPv6 Routing Extension Header
> + */
> +struct rte_ipv6_routing_ext {
> +	uint8_t next_hdr;			/**< Protocol, next header. */
> +	uint8_t hdr_len;			/**< Header length. */
> +	uint8_t type;				/**< Extension header type. */
> +	uint8_t segments_left;			/**< Valid segments number. */
> +	__extension__
> +	union {
> +		rte_be32_t flags;
> +		struct {
> +			uint8_t last_entry;	/**< The last_entry field of SRH */
> +			uint8_t flag;		/**< Packet flag. */
> +			rte_be16_t tag;		/**< Packet tag. */
> +		};
> +	};
> +	__extension__
> +	rte_be32_t segments[0];			/**< Each hop IPv6 address. */

Use flex array rather than zero size.
Zero size arrays cause warnings with later compilers.


More information about the dev mailing list