Re: [PATCH v2 net-next 05/13] ipv6: Create init helper for fib6_nh

Alexei Starovoitov
2019-03-28T03:04:47Z

On Wed, Mar 27, 2019 at 08:50:19PM -0600, David Ahern wrote:
> On 3/27/19 8:29 PM, Alexei Starovoitov wrote:]\
> > that was a typo. I meant fib6_flags.
> > why mess with cfg and use it as weird side effect only to
> > get rt->fib6_flags = cfg->fc_flags; working after fib6_nh_init() returns?
> > Why not to move that fib6_flags = fc_flags assignment into fib6_nh_init ?
> > Then cfg can stay constant and no weird side effects from init function.
> >
>
> Because fib6_flags is not a nh_init argument and it should not be.
>
> I will duplicate that check to appease your request of not touching
> cfg->flags.

not sure what you meant by 'dupulicate that check'.
If you're think about copy-pasting the whole 'if ((cfg->fc_flags & RTF_REJECT)'
check that it's not nice either.
If I read the patch correctly it's essentially initializing fib6_nh
and fib6_flags. Both are part of rt. So either pass both pointers
or pointer to rt. Why not?