Thread (26 messages) 26 messages, 4 authors, 2016-05-27

Re: [RFC 04/12] ndisc: get rid off dev parameter in ndisc_opt_addr_space

flat view

From: Hannes Frederic Sowa <hidden>
Date: 2016-05-27 16:56:08
Also in: linux-bluetooth

On 25.05.2016 07:15, YOSHIFUJI Hideaki wrote:

Alexander Aring wrote:
quoted
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 <davem@davemloft.net>
Cc: Alexey Kuznetsov <redacted>
Cc: James Morris <jmorris@namei.org>
Cc: Hideaki YOSHIFUJI <redacted>
Cc: Patrick McHardy <redacted>
Signed-off-by: Alexander Aring <redacted>
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help