All of lore.kernel.org
 help / color / mirror / Atom feed
From: YOSHIFUJI Hideaki <hideaki.yoshifuji-GmhWrQMWH5w7YuNMryXyOw@public.gmane.org>
To: Alexander Aring <aar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
	linux-wpan-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: hideaki.yoshifuji-GmhWrQMWH5w7YuNMryXyOw@public.gmane.org,
	kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	marcel-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org,
	jukka.rissanen-VuQAYsv1563Yd54FQh9/CA@public.gmane.org,
	hannes-tFNcAqjVMyqKXQKiL6tip0B+6BGkLq7r@public.gmane.org,
	stefan-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org,
	mcr-SWp7JaYWvAQV+D8aMU/kSg@public.gmane.org,
	werner-SEdMjqphH88wryQfseakQg@public.gmane.org,
	linux-bluetooth-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	"David S . Miller"
	<davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
Subject: Re: [PATCHv3 net-next 01/12] 6lowpan: add private neighbour data
Date: Wed, 15 Jun 2016 20:05:11 +0900	[thread overview]
Message-ID: <57613667.7040308@miraclelinux.com> (raw)
In-Reply-To: <20160614115239.17788-2-aar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>



Alexander Aring wrote:
> This patch will introduce a 6lowpan neighbour private data. Like the
> interface private data we handle private data for generic 6lowpan and
> for link-layer specific 6lowpan.
> 
> The current first use case if to save the short address for a 802.15.4
> 6lowpan neighbour.
> 
> Cc: David S. Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
> Reviewed-by: Stefan Schmidt <stefan-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>
> Signed-off-by: Alexander Aring <aar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>

Acked-by: YOSHIFUJI Hideaki <yoshfuji-VfPWfsRibaP+Ru+s062T9g@public.gmane.org>

> ---
>  include/linux/netdevice.h     |  3 +--
>  include/net/6lowpan.h         | 10 ++++++++++
>  net/ieee802154/6lowpan/core.c | 12 ++++++++++++
>  3 files changed, 23 insertions(+), 2 deletions(-)
> 
> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
> index d101e4d..36e43bd 100644
> --- a/include/linux/netdevice.h
> +++ b/include/linux/netdevice.h
> @@ -1483,8 +1483,7 @@ enum netdev_priv_flags {
>   * 	@perm_addr:		Permanent hw address
>   * 	@addr_assign_type:	Hw address assignment type
>   * 	@addr_len:		Hardware address length
> - * 	@neigh_priv_len;	Used in neigh_alloc(),
> - * 				initialized only in atm/clip.c
> + *	@neigh_priv_len:	Used in neigh_alloc()
>   * 	@dev_id:		Used to differentiate devices that share
>   * 				the same link layer address
>   * 	@dev_port:		Used to differentiate devices that share
> diff --git a/include/net/6lowpan.h b/include/net/6lowpan.h
> index da84cf9..2d9b9d3 100644
> --- a/include/net/6lowpan.h
> +++ b/include/net/6lowpan.h
> @@ -141,6 +141,16 @@ struct lowpan_dev {
>  	u8 priv[0] __aligned(sizeof(void *));
>  };
>  
> +struct lowpan_802154_neigh {
> +	__le16 short_addr;
> +};
> +
> +static inline
> +struct lowpan_802154_neigh *lowpan_802154_neigh(void *neigh_priv)
> +{
> +	return neigh_priv;
> +}
> +
>  static inline
>  struct lowpan_dev *lowpan_dev(const struct net_device *dev)
>  {
> diff --git a/net/ieee802154/6lowpan/core.c b/net/ieee802154/6lowpan/core.c
> index 4e2b308..8c004a0 100644
> --- a/net/ieee802154/6lowpan/core.c
> +++ b/net/ieee802154/6lowpan/core.c
> @@ -81,11 +81,21 @@ static int lowpan_stop(struct net_device *dev)
>  	return 0;
>  }
>  
> +static int lowpan_neigh_construct(struct neighbour *n)
> +{
> +	struct lowpan_802154_neigh *neigh = lowpan_802154_neigh(neighbour_priv(n));
> +
> +	/* default no short_addr is available for a neighbour */
> +	neigh->short_addr = cpu_to_le16(IEEE802154_ADDR_SHORT_UNSPEC);
> +	return 0;
> +}
> +
>  static const struct net_device_ops lowpan_netdev_ops = {
>  	.ndo_init		= lowpan_dev_init,
>  	.ndo_start_xmit		= lowpan_xmit,
>  	.ndo_open		= lowpan_open,
>  	.ndo_stop		= lowpan_stop,
> +	.ndo_neigh_construct    = lowpan_neigh_construct,
>  };
>  
>  static void lowpan_setup(struct net_device *ldev)
> @@ -150,6 +160,8 @@ static int lowpan_newlink(struct net *src_net, struct net_device *ldev,
>  				wdev->needed_headroom;
>  	ldev->needed_tailroom = wdev->needed_tailroom;
>  
> +	ldev->neigh_priv_len = sizeof(struct lowpan_802154_neigh);
> +
>  	ret = lowpan_register_netdevice(ldev, LOWPAN_LLTYPE_IEEE802154);
>  	if (ret < 0) {
>  		dev_put(wdev);
> 

-- 
Hideaki Yoshifuji <hideaki.yoshifuji-GmhWrQMWH5w7YuNMryXyOw@public.gmane.org>
Technical Division, MIRACLE LINUX CORPORATION

WARNING: multiple messages have this Message-ID (diff)
From: YOSHIFUJI Hideaki <hideaki.yoshifuji@miraclelinux.com>
To: Alexander Aring <aar@pengutronix.de>, linux-wpan@vger.kernel.org
Cc: hideaki.yoshifuji@miraclelinux.com, kernel@pengutronix.de,
	marcel@holtmann.org, jukka.rissanen@linux.intel.com,
	hannes@stressinduktion.org, stefan@osg.samsung.com,
	mcr@sandelman.ca, werner@almesberger.net,
	linux-bluetooth@vger.kernel.org, netdev@vger.kernel.org,
	"David S . Miller" <davem@davemloft.net>
Subject: Re: [PATCHv3 net-next 01/12] 6lowpan: add private neighbour data
Date: Wed, 15 Jun 2016 20:05:11 +0900	[thread overview]
Message-ID: <57613667.7040308@miraclelinux.com> (raw)
In-Reply-To: <20160614115239.17788-2-aar@pengutronix.de>



Alexander Aring wrote:
> This patch will introduce a 6lowpan neighbour private data. Like the
> interface private data we handle private data for generic 6lowpan and
> for link-layer specific 6lowpan.
> 
> The current first use case if to save the short address for a 802.15.4
> 6lowpan neighbour.
> 
> Cc: David S. Miller <davem@davemloft.net>
> Reviewed-by: Stefan Schmidt <stefan@osg.samsung.com>
> Signed-off-by: Alexander Aring <aar@pengutronix.de>

Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

> ---
>  include/linux/netdevice.h     |  3 +--
>  include/net/6lowpan.h         | 10 ++++++++++
>  net/ieee802154/6lowpan/core.c | 12 ++++++++++++
>  3 files changed, 23 insertions(+), 2 deletions(-)
> 
> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
> index d101e4d..36e43bd 100644
> --- a/include/linux/netdevice.h
> +++ b/include/linux/netdevice.h
> @@ -1483,8 +1483,7 @@ enum netdev_priv_flags {
>   * 	@perm_addr:		Permanent hw address
>   * 	@addr_assign_type:	Hw address assignment type
>   * 	@addr_len:		Hardware address length
> - * 	@neigh_priv_len;	Used in neigh_alloc(),
> - * 				initialized only in atm/clip.c
> + *	@neigh_priv_len:	Used in neigh_alloc()
>   * 	@dev_id:		Used to differentiate devices that share
>   * 				the same link layer address
>   * 	@dev_port:		Used to differentiate devices that share
> diff --git a/include/net/6lowpan.h b/include/net/6lowpan.h
> index da84cf9..2d9b9d3 100644
> --- a/include/net/6lowpan.h
> +++ b/include/net/6lowpan.h
> @@ -141,6 +141,16 @@ struct lowpan_dev {
>  	u8 priv[0] __aligned(sizeof(void *));
>  };
>  
> +struct lowpan_802154_neigh {
> +	__le16 short_addr;
> +};
> +
> +static inline
> +struct lowpan_802154_neigh *lowpan_802154_neigh(void *neigh_priv)
> +{
> +	return neigh_priv;
> +}
> +
>  static inline
>  struct lowpan_dev *lowpan_dev(const struct net_device *dev)
>  {
> diff --git a/net/ieee802154/6lowpan/core.c b/net/ieee802154/6lowpan/core.c
> index 4e2b308..8c004a0 100644
> --- a/net/ieee802154/6lowpan/core.c
> +++ b/net/ieee802154/6lowpan/core.c
> @@ -81,11 +81,21 @@ static int lowpan_stop(struct net_device *dev)
>  	return 0;
>  }
>  
> +static int lowpan_neigh_construct(struct neighbour *n)
> +{
> +	struct lowpan_802154_neigh *neigh = lowpan_802154_neigh(neighbour_priv(n));
> +
> +	/* default no short_addr is available for a neighbour */
> +	neigh->short_addr = cpu_to_le16(IEEE802154_ADDR_SHORT_UNSPEC);
> +	return 0;
> +}
> +
>  static const struct net_device_ops lowpan_netdev_ops = {
>  	.ndo_init		= lowpan_dev_init,
>  	.ndo_start_xmit		= lowpan_xmit,
>  	.ndo_open		= lowpan_open,
>  	.ndo_stop		= lowpan_stop,
> +	.ndo_neigh_construct    = lowpan_neigh_construct,
>  };
>  
>  static void lowpan_setup(struct net_device *ldev)
> @@ -150,6 +160,8 @@ static int lowpan_newlink(struct net *src_net, struct net_device *ldev,
>  				wdev->needed_headroom;
>  	ldev->needed_tailroom = wdev->needed_tailroom;
>  
> +	ldev->neigh_priv_len = sizeof(struct lowpan_802154_neigh);
> +
>  	ret = lowpan_register_netdevice(ldev, LOWPAN_LLTYPE_IEEE802154);
>  	if (ret < 0) {
>  		dev_put(wdev);
> 

-- 
Hideaki Yoshifuji <hideaki.yoshifuji@miraclelinux.com>
Technical Division, MIRACLE LINUX CORPORATION

  parent reply	other threads:[~2016-06-15 11:05 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-14 11:52 [PATCHv3 net-next 00/12] 6lowpan: introduce 6lowpan-nd Alexander Aring
2016-06-14 11:52 ` Alexander Aring
     [not found] ` <20160614115239.17788-1-aar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2016-06-14 11:52   ` [PATCHv3 net-next 01/12] 6lowpan: add private neighbour data Alexander Aring
2016-06-14 11:52     ` Alexander Aring
     [not found]     ` <20160614115239.17788-2-aar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2016-06-15 11:05       ` YOSHIFUJI Hideaki [this message]
2016-06-15 11:05         ` YOSHIFUJI Hideaki
2016-06-14 11:52   ` [PATCHv3 net-next 03/12] 6lowpan: remove ipv6 module request Alexander Aring
2016-06-14 11:52     ` Alexander Aring
2016-06-14 11:52   ` [PATCHv3 net-next 05/12] ndisc: add __ndisc_opt_addr_data function Alexander Aring
2016-06-14 11:52     ` Alexander Aring
     [not found]     ` <20160614115239.17788-6-aar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2016-06-15 11:07       ` YOSHIFUJI Hideaki
2016-06-15 11:07         ` YOSHIFUJI Hideaki
2016-06-15 15:11     ` Stefan Schmidt
2016-06-14 11:52   ` [PATCHv3 net-next 10/12] 6lowpan: introduce 6lowpan-nd Alexander Aring
2016-06-14 11:52     ` Alexander Aring
2016-06-15 11:12     ` YOSHIFUJI Hideaki
2016-06-14 11:52   ` [PATCHv3 net-next 11/12] 6lowpan: add support for getting short address Alexander Aring
2016-06-14 11:52     ` Alexander Aring
2016-06-15 11:03   ` [PATCHv3 net-next 00/12] 6lowpan: introduce 6lowpan-nd YOSHIFUJI Hideaki
2016-06-15 11:03     ` YOSHIFUJI Hideaki
2016-06-14 11:52 ` [PATCHv3 net-next 02/12] 6lowpan: add 802.15.4 short addr slaac Alexander Aring
2016-06-14 11:52 ` [PATCHv3 net-next 04/12] ndisc: add __ndisc_opt_addr_space function Alexander Aring
2016-06-15 11:07   ` YOSHIFUJI Hideaki
     [not found]   ` <20160614115239.17788-5-aar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2016-06-15 15:09     ` Stefan Schmidt
2016-06-15 15:09       ` Stefan Schmidt
2016-06-14 11:52 ` [PATCHv3 net-next 06/12] ndisc: add __ndisc_fill_addr_option function Alexander Aring
2016-06-15 11:08   ` YOSHIFUJI Hideaki
2016-06-15 15:13   ` Stefan Schmidt
2016-06-14 11:52 ` [PATCHv3 net-next 07/12] addrconf: put prefix address add in an own function Alexander Aring
     [not found]   ` <20160614115239.17788-8-aar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2016-06-15 11:09     ` YOSHIFUJI Hideaki
2016-06-15 11:09       ` YOSHIFUJI Hideaki
2016-06-14 11:52 ` [PATCHv3 net-next 08/12] ipv6: introduce neighbour discovery ops Alexander Aring
     [not found]   ` <20160614115239.17788-9-aar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2016-06-15 11:10     ` YOSHIFUJI Hideaki/吉藤英明
2016-06-15 11:10       ` YOSHIFUJI Hideaki/吉藤英明
2016-06-14 11:52 ` [PATCHv3 net-next 09/12] ipv6: export several functions Alexander Aring
2016-06-15 11:11   ` YOSHIFUJI Hideaki
2016-06-15 15:18   ` Stefan Schmidt
2016-06-14 11:52 ` [PATCHv3 net-next 12/12] 6lowpan: add support for 802.15.4 short addr handling Alexander Aring

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=57613667.7040308@miraclelinux.com \
    --to=hideaki.yoshifuji-gmhwrqmwh5w7yunmryxyow@public.gmane.org \
    --cc=aar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org \
    --cc=hannes-tFNcAqjVMyqKXQKiL6tip0B+6BGkLq7r@public.gmane.org \
    --cc=jukka.rissanen-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
    --cc=kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=linux-bluetooth-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-wpan-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=marcel-kz+m5ild9QBg9hUCZPvPmw@public.gmane.org \
    --cc=mcr-SWp7JaYWvAQV+D8aMU/kSg@public.gmane.org \
    --cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=stefan-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org \
    --cc=werner-SEdMjqphH88wryQfseakQg@public.gmane.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.