Re: [PATCH v2 net-next 05/13] ipv6: Create init helper for fib6_nh
From: Alexei Starovoitov <hidden>
Date: 2019-03-28 03:04:47
From: Alexei Starovoitov <hidden>
Date: 2019-03-28 03:04:47
On Wed, Mar 27, 2019 at 08:50:19PM -0600, David Ahern wrote:
On 3/27/19 8:29 PM, Alexei Starovoitov wrote:]\quoted
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?