On Fri, Oct 25, 2019 at 03:45:49PM +0200, Lorenzo Bianconi wrote:
> +/* RDNSS option RFC 6106 */
> +#define ND_RDNSS_OPT_LEN 8
> +#define ND_OPT_RDNSS 25
> +struct nd_rdnss_opt {
> + uint8_t type; /* ND_OPT_RDNSS. */
> + uint8_t len; /* >= 3. */
> + ovs_be16 reserved; /* Always 0. */
> + ovs_16aligned_be32 lifetime;
> + const ovs_be128 dns[0];
> +};
> +BUILD_ASSERT_DECL(ND_RDNSS_OPT_LEN == sizeof(struct nd_rdnss_opt));
This structure is a little odd. The use of ovs_16aligned_be32 implies
that it can be 16-bit aligned, but ovs_be128 implies that it must be
64-bit aligned.
We might need a new ovs_16aligned_be128 type. It seems to be missing
from our menagerie so far.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev