Subject: Re: [PATCH iproute2-next 1/9] libnetlink: Set NLA_F_NESTED in rta_nest

From: Stephen Hemminger <[email-masked]>
Date: Thu, 30 May 2019 10:43:45 -0700

On Wed, 29 May 2019 20:17:38 -0700
David Ahern <[email-masked]> wrote:

> From: David Ahern <[email-masked]>
> 
> Kernel now requires NLA_F_NESTED to be set on new nested
> attributes. Set NLA_F_NESTED in rta_nest.
> 
> Signed-off-by: David Ahern <[email-masked]>
> ---
>  lib/libnetlink.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/lib/libnetlink.c b/lib/libnetlink.c
> index 0d48a3d43cf0..6ae51a9dba14 100644
> --- a/lib/libnetlink.c
> +++ b/lib/libnetlink.c
> @@ -1336,6 +1336,7 @@ struct rtattr *rta_nest(struct rtattr *rta, int maxlen, int type)
>  	struct rtattr *nest = RTA_TAIL(rta);
>  
>  	rta_addattr_l(rta, maxlen, type, NULL, 0);
> +	nest->rta_type |= NLA_F_NESTED;
>  
>  	return nest;
>  }

I assume older kernels ignore the attribute?

Also, how is this opt-in for running iproute2-next on old kernels?