Re: [PATCH net] ipv6: Add lwtunnel encap size of all siblings in nexthop calculation

From: Alexander Lobakin
Date: Wed Feb 15 2023 - 10:59:37 EST


From: David Ahern <dsahern@xxxxxxxxxx>
Date: Tue, 14 Feb 2023 11:11:04 -0700

> On 2/14/23 10:39 AM, Alexander Lobakin wrote:
>>> diff --git a/net/ipv6/route.c b/net/ipv6/route.c
>>> index e74e0361fd92..a6983a13dd20 100644
>>> --- a/net/ipv6/route.c
>>> +++ b/net/ipv6/route.c
>>> @@ -5540,16 +5540,17 @@ static size_t rt6_nlmsg_size(struct fib6_info *f6i)
>>> nexthop_for_each_fib6_nh(f6i->nh, rt6_nh_nlmsg_size,
>>> &nexthop_len);
>>> } else {
>>> + struct fib6_info *sibling, *next_sibling;
>>> struct fib6_nh *nh = f6i->fib6_nh;
>>>
>>> nexthop_len = 0;
>>> if (f6i->fib6_nsiblings) {
>>> - nexthop_len = nla_total_size(0) /* RTA_MULTIPATH */
>>> - + NLA_ALIGN(sizeof(struct rtnexthop))
>>> - + nla_total_size(16) /* RTA_GATEWAY */
>>> - + lwtunnel_get_encap_size(nh->fib_nh_lws);
>>> + rt6_nh_nlmsg_size(nh, &nexthop_len);
>>>
>>> - nexthop_len *= f6i->fib6_nsiblings;
>>> + list_for_each_entry_safe(sibling, next_sibling,
>>> + &f6i->fib6_siblings, fib6_siblings) {
>>> + rt6_nh_nlmsg_size(sibling->fib6_nh, &nexthop_len);
>>> + }
>>
>> Just a random nitpick that you shouldn't put braces {} around oneliners :D
>>
>
> I believe there can be exceptions and braces make multiple lines like
> that more readable.

Hmm, you know, agree for this one, that for-loop line break changes
things a bit.

Thanks,
Olek