Return-Path: Subject: Re: [RFC 04/12] ndisc: get rid off dev parameter in ndisc_opt_addr_space To: YOSHIFUJI Hideaki , Alexander Aring , linux-wpan@vger.kernel.org References: <1464031328-17524-1-git-send-email-aar@pengutronix.de> <1464031328-17524-5-git-send-email-aar@pengutronix.de> <574534F8.20308@miraclelinux.com> Cc: kernel@pengutronix.de, marcel@holtmann.org, jukka.rissanen@linux.intel.com, stefan@osg.samsung.com, mcr@sandelman.ca, werner@almesberger.net, linux-bluetooth@vger.kernel.org, netdev@vger.kernel.org, "David S . Miller" , Alexey Kuznetsov , James Morris , Hideaki YOSHIFUJI , Patrick McHardy From: Hannes Frederic Sowa Message-ID: <0f311957-d645-422a-bf58-9aa3412b0bb4@stressinduktion.org> Date: Fri, 27 May 2016 18:56:08 +0200 MIME-Version: 1.0 In-Reply-To: <574534F8.20308@miraclelinux.com> Content-Type: text/plain; charset=utf-8 List-ID: On 25.05.2016 07:15, YOSHIFUJI Hideaki wrote: > > > Alexander Aring wrote: >> This patch removes the net_device parameter from ndisc_opt_addr_space >> function. This can be useful for calling such functionality which >> doesn't depends on dev parameter. For current existing functionality >> which depends on dev parameter, we introduce ndisc_dev_opt_addr_space to have >> an easy replacement for the ndisc_opt_addr_space function. >> >> Cc: David S. Miller >> Cc: Alexey Kuznetsov >> Cc: James Morris >> Cc: Hideaki YOSHIFUJI >> Cc: Patrick McHardy >> Signed-off-by: Alexander Aring >> --- >> include/net/ndisc.h | 13 +++++++++---- >> net/ipv6/ndisc.c | 12 ++++++------ >> 2 files changed, 15 insertions(+), 10 deletions(-) >> >> diff --git a/include/net/ndisc.h b/include/net/ndisc.h >> index 2d8edaa..dbc8d01 100644 >> --- a/include/net/ndisc.h >> +++ b/include/net/ndisc.h >> @@ -127,10 +127,15 @@ static inline int ndisc_addr_option_pad(unsigned short type) >> } >> } >> >> -static inline int ndisc_opt_addr_space(struct net_device *dev) >> +static inline int ndisc_opt_addr_space(unsigned char addr_len, int pad) >> { >> - return NDISC_OPT_SPACE(dev->addr_len + >> - ndisc_addr_option_pad(dev->type)); >> + return NDISC_OPT_SPACE(addr_len + pad); >> +} >> + >> +static inline int ndisc_dev_opt_addr_space(const struct net_device *dev) >> +{ >> + return ndisc_opt_addr_space(dev->addr_len, >> + ndisc_addr_option_pad(dev->type)); >> } >> > > I prefer not to change existing functions such as ndisc_opt_addr_space(), > and name new function __ndisc_opt_addr_space() etc. > > Plus, my original thought (when I implement these functions) was to > have per-net_device ndisc_opt_addr_spece(), ndisc_opt_adr_data() etc. > > What do you think of that? As I understood it 6lowpan devices need to handle both, non-compressed and compressed options/addresses. Probably one can make them per-interface, but a change to the arguments has still to happen. Alex? Thanks, Hannes