From 8d67f28725998b1ef09923f94e6174690cc01367 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?YOSHIFUJI=20Hideaki=20/=20=E5=90=89=E8=97=A4=E8=8B=B1?= =?UTF-8?q?=E6=98=8E?= Date: Mon, 21 Jan 2013 06:47:56 +0000 Subject: [PATCH] --- yaml --- r: 351508 b: refs/heads/master c: c558e9fca876d6d0463a7c337d2291774b9c6f96 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/include/net/ndisc.h | 8 +++++++- trunk/net/ipv6/ndisc.c | 7 +------ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 6701820f37d4..fb23d2758a33 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 315ff09dbaebc6061948102d7ed8781d4ee46f36 +refs/heads/master: c558e9fca876d6d0463a7c337d2291774b9c6f96 diff --git a/trunk/include/net/ndisc.h b/trunk/include/net/ndisc.h index ec48f42db5ed..745bf741e029 100644 --- a/trunk/include/net/ndisc.h +++ b/trunk/include/net/ndisc.h @@ -127,13 +127,19 @@ static int ndisc_addr_option_pad(unsigned short type) } } +static inline int ndisc_opt_addr_space(struct net_device *dev) +{ + return NDISC_OPT_SPACE(dev->addr_len + + ndisc_addr_option_pad(dev->type)); +} + static inline u8 *ndisc_opt_addr_data(struct nd_opt_hdr *p, struct net_device *dev) { u8 *lladdr = (u8 *)(p + 1); int lladdrlen = p->nd_opt_len << 3; int prepad = ndisc_addr_option_pad(dev->type); - if (lladdrlen != NDISC_OPT_SPACE(dev->addr_len + prepad)) + if (lladdrlen != ndisc_opt_addr_space(dev)) return NULL; return lladdr + prepad; } diff --git a/trunk/net/ipv6/ndisc.c b/trunk/net/ipv6/ndisc.c index 49dfc2a73ee0..82ccf0a43063 100644 --- a/trunk/net/ipv6/ndisc.c +++ b/trunk/net/ipv6/ndisc.c @@ -143,17 +143,12 @@ struct neigh_table nd_tbl = { .gc_thresh3 = 1024, }; -static inline int ndisc_opt_addr_space(struct net_device *dev) -{ - return NDISC_OPT_SPACE(dev->addr_len + ndisc_addr_option_pad(dev->type)); -} - static u8 *ndisc_fill_addr_option(u8 *opt, int type, void *data, struct net_device *dev) { int pad = ndisc_addr_option_pad(dev->type); int data_len = dev->addr_len; - int space = NDISC_OPT_SPACE(data_len + pad); + int space = ndisc_opt_addr_space(dev); opt[0] = type; opt[1] = space>>3;