All of lore.kernel.org
 help / color / mirror / Atom feed
From: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
To: hannes@stressinduktion.org
Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>,
	netdev@vger.kernel.org, brian.haley@hp.com
Subject: Re: [PATCH net-next v2 1/4] ipv6: introduce new type ipv6_addr_props to hold ipv6 address type and scope
Date: Sun, 17 Feb 2013 08:31:52 +0900	[thread overview]
Message-ID: <512016E8.30305@linux-ipv6.org> (raw)
In-Reply-To: <512013B8.3000608@linux-ipv6.org>

YOSHIFUJI Hideaki wrote:
> Hannes Frederic Sowa wrote:
>> This simplifies ipv6 address type handling. The old implementation had
>> the problem that scope and type where both squeezed into one int. Because
>> of this it was dangerous to do comparisons on it or check for scope while
>> it is actually being stripped out. This patch mainly improves type safety.
>>
>> v2:
>> a) Incorportated feedback from Brian Haley
>> b) fix style in addrconf_core.c:__ipv6_addr_props
>>
>> Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
>> Cc: Brian Haley <brian.haley@hp.com>
>> Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
>> ---
>>  include/net/ipv6.h       | 20 ++++++----
>>  net/ipv6/addrconf.c      | 28 +++++++-------
>>  net/ipv6/addrconf_core.c | 99 +++++++++++++++++++++++++++++++-----------------
>>  net/ipv6/datagram.c      | 12 +++---
>>  4 files changed, 99 insertions(+), 60 deletions(-)
>>
>> diff --git a/include/net/ipv6.h b/include/net/ipv6.h
>> index 851d541..a14700c 100644
>> --- a/include/net/ipv6.h
>> +++ b/include/net/ipv6.h
>> @@ -298,25 +298,31 @@ static inline int ip6_frag_mem(struct net *net)
>>  #define IPV6_FRAG_LOW_THRESH	(3 * 1024*1024)	/* 3145728 */
>>  #define IPV6_FRAG_TIMEOUT	(60 * HZ)	/* 60 seconds */
>>  
>> -extern int __ipv6_addr_type(const struct in6_addr *addr);
>> -static inline int ipv6_addr_type(const struct in6_addr *addr)
>> +struct ipv6_addr_props {
>> +	u16 type;
>> +	s16 scope;
>> +};
>> +
>> +extern struct ipv6_addr_props __ipv6_addr_props(const struct in6_addr *addr);
>> +static inline unsigned int ipv6_addr_type(const struct in6_addr *addr)
>>  {
>> -	return __ipv6_addr_type(addr) & 0xffff;
>> +	return __ipv6_addr_props(addr).type;
>>  }
>>  
>>  static inline int ipv6_addr_scope(const struct in6_addr *addr)
>>  {
>> -	return __ipv6_addr_type(addr) & IPV6_ADDR_SCOPE_MASK;
>> +	return __ipv6_addr_props(addr).scope;
>>  }
>>  
> 
> NAK.  This does not return correct value as before.
> If you are going to covert this, please do not try to
> change usage of inlines.  

I meant

struct ipv6_addrtype {
	__u16 type;
	__s16 scope;
};

struct ipv6_addrtype __ipv6_addr_type(const struct in6_addr *addr);
int ipv6_addr_type(const struct in6_addr *addr)
{
	return __ipv6_addr_type(addr).type;
}

And most users should not be touched except for it type name
(int => struct addrtype).

--yohsfuji

  reply	other threads:[~2013-02-16 23:31 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-16 19:10 [PATCH net-next v2 1/4] ipv6: introduce new type ipv6_addr_props to hold ipv6 address type and scope Hannes Frederic Sowa
2013-02-16 23:18 ` YOSHIFUJI Hideaki
2013-02-16 23:31   ` YOSHIFUJI Hideaki [this message]
2013-02-17  1:47     ` Hannes Frederic Sowa
2013-02-17  2:52       ` YOSHIFUJI Hideaki
2013-02-17  3:01         ` Hannes Frederic Sowa
2013-02-17  0:05 ` YOSHIFUJI Hideaki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=512016E8.30305@linux-ipv6.org \
    --to=yoshfuji@linux-ipv6.org \
    --cc=brian.haley@hp.com \
    --cc=hannes@stressinduktion.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.