Subject: Re: [RFCv2 bluetooth-next 2/3] ipv6: add ipv6_addr_prefix_cpy

From: Stefan Schmidt <[email-masked]>
Date: Wed, 25 Nov 2015 17:42:43 +0100

Hello.

On 18/11/15 14:55, Sergei Shtylyov wrote:
> Hello.
>
> On 11/18/2015 1:33 AM, Alexander Aring wrote:
>
>> This patch adds a static inline function ipv6_addr_prefix_cpy which
>
>    I suggest not to reduce "copy".

Agreed. Not worth saving one character here.

>
>> copies a ipv6 address prefix(argument pfx) into the ipv6 address prefix.
>> The prefix len is given by plen as bits. This function mainly based on
>> ipv6_addr_prefix which copies one address prefix from address into a new
>> ipv6 address destination and zero all other address bits.
>>
>> The difference is that ipv6_addr_prefix_cpy don't get a prefix from an
>> ipv6 address, it sets a prefix to an ipv6 address with keeping other
>> address bits. The use case is for context based address compression
>> inside 6LoWPAN IPHC header which keeping ipv6 prefixes inside a context
>> table to lookup address-bits without sending them.
>>
>> Cc: David S. Miller <[email-masked]>
>> Cc: Alexey Kuznetsov <[email-masked]>
>> Cc: James Morris <[email-masked]>
>> Cc: Hideaki YOSHIFUJI <[email-masked]>
>> Cc: Patrick McHardy <[email-masked]>
>> Signed-off-by: Alexander Aring <[email-masked]>
>> ---
>>   include/net/ipv6.h | 15 +++++++++++++++
>>   1 file changed, 15 insertions(+)
>>
>> diff --git a/include/net/ipv6.h b/include/net/ipv6.h
>> index e1a10b0..9d38fc2 100644
>> --- a/include/net/ipv6.h
>> +++ b/include/net/ipv6.h
>> @@ -382,6 +382,21 @@ static inline void ipv6_addr_prefix(struct 
>> in6_addr *pfx,
>>           pfx->s6_addr[o] = addr->s6_addr[o] & (0xff00 >> b);
>>   }
>>
>> +static inline void ipv6_addr_prefix_cpy(struct in6_addr *addr,
>> +                    const struct in6_addr *pfx,
>> +                    int plen)
>> +{
>> +    /* caller must guarantee 0 <= plen <= 128 */
>> +    int o = plen >> 3,
>> +        b = plen & 0x7;
>
>    Unusual declaration style, why not just have *int* on both lines?
>

He took that from ipv6_addr_prefix() defined above it. I would also 
prefer a second line with int for the second declaration. But as he 
followed the coding style already around I think both way are fine.

regards
Stefan Schmidt