nuttx/net/ieee802154/ieee802154_input.c

195 lines
6.7 KiB
C
Raw Normal View History

Squashed commit of the following: commit 2a3ab1652a2c95bcfc8be8380fc7cbdcb6472938 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Aug 19 08:44:31 2017 -0600 PF_IEEE802154: Finish some missing bind() logic. Add configs/sim configuration for testing. commit 59be4b846a6e3bfe82087a888e3fdac9c3c414e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:30:04 2017 -0600 PF_IEEE802154: More renaming to decouple 6LoPAN from radios in general. commit 69fabb1aea76e54381bdc13de28a3f1441fb42f4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:21:11 2017 -0600 PF_IEEE802154: Missed a few renamings. commit ff0af1bb25567720934cc1c2a721ccd92cc35f89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:46:58 2017 -0600 PF_IEEE802154: A few bugfixes commit 01c7c84afd00cf907d280d30cfaf0fb2cf90e02e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:01:31 2017 -0600 PF_IEEE802154: A few bugfixes commit dcef4056d1c1488c93151135f3b7106977faa903 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 16:31:05 2017 -0600 PF_IEEE802154: Bring in framework for sendto/recvfrom. Currently just a crude port of functions from net/pkt and do not provide the implemenation needed. commit 68c5b7b6dd3ab7eb2d0c19890abb38e6561b140e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:18:31 2017 -0600 Trivial fix to typo in comment commit fd0af534c089569ccdbd59f13b85453de0a653ad Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:07:20 2017 -0600 PF_IEEE802154: Add device lookup logic; Rename some things that used to be used only by 6LoWPAN but now must be shared with PF_IEEE802154 and need more generic naming. commit 4fc80a1659f1c699b050775cefc7f6b631b46114 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:49:54 2017 -0600 PF_IEEE802154: Add driver poll logic. commit d83f71992df8764faa93f9425f1a7602a758f730 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:28:59 2017 -0600 PF_IEEE802154: Add frame input function. commit 77561b8c4d5d7be1f8d8eb62cf1a07229afe2048 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 12:46:29 2017 -0600 PF_IEEE802154: Socket type should be SOCK_DGRAM. Hook in socket interface. commit c0f90350282e9905d7f26a1b30f04cc6d6794648 Merge: 8b518abfd0 169c55e546 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:36:32 2017 -0600 Merge remote-tracking branch 'origin/master' into pf_ieee802154 commit 8b518abfd07d492f5148f2c5fdf65604de9822da Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:35:39 2017 -0600 PF_IEEE802154: Add initialization and connection management logic. commit 98b62620b3cb420041d8ad14204f9410a8aace8c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 07:52:51 2017 -0600 PF_IEEE802154: Add basic build support and socket interface framework.
2017-08-19 16:48:52 +02:00
/****************************************************************************
* net/ieee802154/ieee802154_input.c
* Handle incoming IEEE 802.15.4 frame input
*
* Copyright (C) 2017 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/
/****************************************************************************
* Included Files
****************************************************************************/
#include <nuttx/config.h>
#include <string.h>
#include <assert.h>
Squashed commit of the following: commit 2a3ab1652a2c95bcfc8be8380fc7cbdcb6472938 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Aug 19 08:44:31 2017 -0600 PF_IEEE802154: Finish some missing bind() logic. Add configs/sim configuration for testing. commit 59be4b846a6e3bfe82087a888e3fdac9c3c414e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:30:04 2017 -0600 PF_IEEE802154: More renaming to decouple 6LoPAN from radios in general. commit 69fabb1aea76e54381bdc13de28a3f1441fb42f4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:21:11 2017 -0600 PF_IEEE802154: Missed a few renamings. commit ff0af1bb25567720934cc1c2a721ccd92cc35f89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:46:58 2017 -0600 PF_IEEE802154: A few bugfixes commit 01c7c84afd00cf907d280d30cfaf0fb2cf90e02e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:01:31 2017 -0600 PF_IEEE802154: A few bugfixes commit dcef4056d1c1488c93151135f3b7106977faa903 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 16:31:05 2017 -0600 PF_IEEE802154: Bring in framework for sendto/recvfrom. Currently just a crude port of functions from net/pkt and do not provide the implemenation needed. commit 68c5b7b6dd3ab7eb2d0c19890abb38e6561b140e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:18:31 2017 -0600 Trivial fix to typo in comment commit fd0af534c089569ccdbd59f13b85453de0a653ad Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:07:20 2017 -0600 PF_IEEE802154: Add device lookup logic; Rename some things that used to be used only by 6LoWPAN but now must be shared with PF_IEEE802154 and need more generic naming. commit 4fc80a1659f1c699b050775cefc7f6b631b46114 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:49:54 2017 -0600 PF_IEEE802154: Add driver poll logic. commit d83f71992df8764faa93f9425f1a7602a758f730 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:28:59 2017 -0600 PF_IEEE802154: Add frame input function. commit 77561b8c4d5d7be1f8d8eb62cf1a07229afe2048 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 12:46:29 2017 -0600 PF_IEEE802154: Socket type should be SOCK_DGRAM. Hook in socket interface. commit c0f90350282e9905d7f26a1b30f04cc6d6794648 Merge: 8b518abfd0 169c55e546 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:36:32 2017 -0600 Merge remote-tracking branch 'origin/master' into pf_ieee802154 commit 8b518abfd07d492f5148f2c5fdf65604de9822da Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:35:39 2017 -0600 PF_IEEE802154: Add initialization and connection management logic. commit 98b62620b3cb420041d8ad14204f9410a8aace8c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 07:52:51 2017 -0600 PF_IEEE802154: Add basic build support and socket interface framework.
2017-08-19 16:48:52 +02:00
#include <debug.h>
#include <nuttx/mm/iob.h>
#include <nuttx/net/sixlowpan.h>
#include <nuttx/net/ieee802154.h>
#include "devif/devif.h"
#include "ieee802154/ieee802154.h"
#ifdef CONFIG_NET_IEEE802154
/****************************************************************************
* Public Functions
****************************************************************************/
/****************************************************************************
* Name: ieee802154_input
*
* Description:
* Handle incoming IEEE 802.15.4 input
*
* This function is called when the radio device driver has received an
* frame from the network. The frame from the device driver must be
* provided in by the IOB frame argument of the function call:
*
* - The frame data is in the IOB io_data[] buffer,
* - The length of the frame is in the IOB io_len field, and
* - The offset past and radio MAC header is provided in the io_offset
* field.
*
* The frame argument may refer to a single frame (a list of length one)
* or may it be the head of a list of multiple frames.
*
* - The io_flink field points to the next frame in the list (if enable)
* - The last frame in the list will have io_flink == NULL.
*
* Parameters:
* radio The radio network driver interface.
* framelist - The head of an incoming list of frames. Normally this
* would be a single frame. A list may be provided if
* appropriate, however.
* meta - Meta data characterizing the received frane.
*
* If there are multilple frames in the list, this metadata
* must apply to all of the frames in the list.
*
* Return:
* OK The IEEE 802.15.4 has been processed and can be deleted
* ERROR Hold the IEEE 802.15.4 and try again later. There is a listening
* socket but no recv in place to catch the IEEE 802.15.4 yet.
* Useful when a packet arrives before a recv call is in place.
*
* Assumptions:
* Called from the network diver with the network locked.
*
****************************************************************************/
int ieee802154_input(FAR struct radio_driver_s *radio,
FAR struct iob_s *framelist,
FAR struct ieee802154_data_ind_s *meta)
Squashed commit of the following: commit 2a3ab1652a2c95bcfc8be8380fc7cbdcb6472938 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Aug 19 08:44:31 2017 -0600 PF_IEEE802154: Finish some missing bind() logic. Add configs/sim configuration for testing. commit 59be4b846a6e3bfe82087a888e3fdac9c3c414e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:30:04 2017 -0600 PF_IEEE802154: More renaming to decouple 6LoPAN from radios in general. commit 69fabb1aea76e54381bdc13de28a3f1441fb42f4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:21:11 2017 -0600 PF_IEEE802154: Missed a few renamings. commit ff0af1bb25567720934cc1c2a721ccd92cc35f89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:46:58 2017 -0600 PF_IEEE802154: A few bugfixes commit 01c7c84afd00cf907d280d30cfaf0fb2cf90e02e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:01:31 2017 -0600 PF_IEEE802154: A few bugfixes commit dcef4056d1c1488c93151135f3b7106977faa903 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 16:31:05 2017 -0600 PF_IEEE802154: Bring in framework for sendto/recvfrom. Currently just a crude port of functions from net/pkt and do not provide the implemenation needed. commit 68c5b7b6dd3ab7eb2d0c19890abb38e6561b140e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:18:31 2017 -0600 Trivial fix to typo in comment commit fd0af534c089569ccdbd59f13b85453de0a653ad Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:07:20 2017 -0600 PF_IEEE802154: Add device lookup logic; Rename some things that used to be used only by 6LoWPAN but now must be shared with PF_IEEE802154 and need more generic naming. commit 4fc80a1659f1c699b050775cefc7f6b631b46114 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:49:54 2017 -0600 PF_IEEE802154: Add driver poll logic. commit d83f71992df8764faa93f9425f1a7602a758f730 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:28:59 2017 -0600 PF_IEEE802154: Add frame input function. commit 77561b8c4d5d7be1f8d8eb62cf1a07229afe2048 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 12:46:29 2017 -0600 PF_IEEE802154: Socket type should be SOCK_DGRAM. Hook in socket interface. commit c0f90350282e9905d7f26a1b30f04cc6d6794648 Merge: 8b518abfd0 169c55e546 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:36:32 2017 -0600 Merge remote-tracking branch 'origin/master' into pf_ieee802154 commit 8b518abfd07d492f5148f2c5fdf65604de9822da Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:35:39 2017 -0600 PF_IEEE802154: Add initialization and connection management logic. commit 98b62620b3cb420041d8ad14204f9410a8aace8c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 07:52:51 2017 -0600 PF_IEEE802154: Add basic build support and socket interface framework.
2017-08-19 16:48:52 +02:00
{
FAR struct ieee802154_container_s *container;
Squashed commit of the following: commit 2a3ab1652a2c95bcfc8be8380fc7cbdcb6472938 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Aug 19 08:44:31 2017 -0600 PF_IEEE802154: Finish some missing bind() logic. Add configs/sim configuration for testing. commit 59be4b846a6e3bfe82087a888e3fdac9c3c414e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:30:04 2017 -0600 PF_IEEE802154: More renaming to decouple 6LoPAN from radios in general. commit 69fabb1aea76e54381bdc13de28a3f1441fb42f4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:21:11 2017 -0600 PF_IEEE802154: Missed a few renamings. commit ff0af1bb25567720934cc1c2a721ccd92cc35f89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:46:58 2017 -0600 PF_IEEE802154: A few bugfixes commit 01c7c84afd00cf907d280d30cfaf0fb2cf90e02e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:01:31 2017 -0600 PF_IEEE802154: A few bugfixes commit dcef4056d1c1488c93151135f3b7106977faa903 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 16:31:05 2017 -0600 PF_IEEE802154: Bring in framework for sendto/recvfrom. Currently just a crude port of functions from net/pkt and do not provide the implemenation needed. commit 68c5b7b6dd3ab7eb2d0c19890abb38e6561b140e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:18:31 2017 -0600 Trivial fix to typo in comment commit fd0af534c089569ccdbd59f13b85453de0a653ad Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:07:20 2017 -0600 PF_IEEE802154: Add device lookup logic; Rename some things that used to be used only by 6LoWPAN but now must be shared with PF_IEEE802154 and need more generic naming. commit 4fc80a1659f1c699b050775cefc7f6b631b46114 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:49:54 2017 -0600 PF_IEEE802154: Add driver poll logic. commit d83f71992df8764faa93f9425f1a7602a758f730 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:28:59 2017 -0600 PF_IEEE802154: Add frame input function. commit 77561b8c4d5d7be1f8d8eb62cf1a07229afe2048 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 12:46:29 2017 -0600 PF_IEEE802154: Socket type should be SOCK_DGRAM. Hook in socket interface. commit c0f90350282e9905d7f26a1b30f04cc6d6794648 Merge: 8b518abfd0 169c55e546 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:36:32 2017 -0600 Merge remote-tracking branch 'origin/master' into pf_ieee802154 commit 8b518abfd07d492f5148f2c5fdf65604de9822da Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:35:39 2017 -0600 PF_IEEE802154: Add initialization and connection management logic. commit 98b62620b3cb420041d8ad14204f9410a8aace8c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 07:52:51 2017 -0600 PF_IEEE802154: Add basic build support and socket interface framework.
2017-08-19 16:48:52 +02:00
FAR struct ieee802154_conn_s *conn;
int ret = OK;
/* Check if there is a connection that will accept this packet */
conn = ieee802154_conn_active(meta);
if (conn != NULL)
Squashed commit of the following: commit 2a3ab1652a2c95bcfc8be8380fc7cbdcb6472938 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Aug 19 08:44:31 2017 -0600 PF_IEEE802154: Finish some missing bind() logic. Add configs/sim configuration for testing. commit 59be4b846a6e3bfe82087a888e3fdac9c3c414e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:30:04 2017 -0600 PF_IEEE802154: More renaming to decouple 6LoPAN from radios in general. commit 69fabb1aea76e54381bdc13de28a3f1441fb42f4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:21:11 2017 -0600 PF_IEEE802154: Missed a few renamings. commit ff0af1bb25567720934cc1c2a721ccd92cc35f89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:46:58 2017 -0600 PF_IEEE802154: A few bugfixes commit 01c7c84afd00cf907d280d30cfaf0fb2cf90e02e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:01:31 2017 -0600 PF_IEEE802154: A few bugfixes commit dcef4056d1c1488c93151135f3b7106977faa903 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 16:31:05 2017 -0600 PF_IEEE802154: Bring in framework for sendto/recvfrom. Currently just a crude port of functions from net/pkt and do not provide the implemenation needed. commit 68c5b7b6dd3ab7eb2d0c19890abb38e6561b140e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:18:31 2017 -0600 Trivial fix to typo in comment commit fd0af534c089569ccdbd59f13b85453de0a653ad Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:07:20 2017 -0600 PF_IEEE802154: Add device lookup logic; Rename some things that used to be used only by 6LoWPAN but now must be shared with PF_IEEE802154 and need more generic naming. commit 4fc80a1659f1c699b050775cefc7f6b631b46114 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:49:54 2017 -0600 PF_IEEE802154: Add driver poll logic. commit d83f71992df8764faa93f9425f1a7602a758f730 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:28:59 2017 -0600 PF_IEEE802154: Add frame input function. commit 77561b8c4d5d7be1f8d8eb62cf1a07229afe2048 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 12:46:29 2017 -0600 PF_IEEE802154: Socket type should be SOCK_DGRAM. Hook in socket interface. commit c0f90350282e9905d7f26a1b30f04cc6d6794648 Merge: 8b518abfd0 169c55e546 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:36:32 2017 -0600 Merge remote-tracking branch 'origin/master' into pf_ieee802154 commit 8b518abfd07d492f5148f2c5fdf65604de9822da Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:35:39 2017 -0600 PF_IEEE802154: Add initialization and connection management logic. commit 98b62620b3cb420041d8ad14204f9410a8aace8c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 07:52:51 2017 -0600 PF_IEEE802154: Add basic build support and socket interface framework.
2017-08-19 16:48:52 +02:00
{
uint16_t flags;
/* Setup for the application callback (NOTE: These should not be
* used by PF_IEEE802154 sockets).
*/
radio->r_dev.d_appdata = radio->r_dev.d_buf;
radio->r_dev.d_len = 0;
radio->r_dev.d_sndlen = 0;
/* Allocate a container for the IOB */
container = ieee802154_container_allocate();
if (container == NULL)
{
nerr("ERROR: Failed to allocate a container\n");
return -ENOMEM;
}
/* Initialize the container */
memset(&container->ic_src, 0, sizeof(struct ieee802154_saddr_s));
DEBUGASSERT(meta->src.mode != IEEE802154_ADDRMODE_NONE);
container->ic_src.s_mode = meta->src.mode;
IEEE802154_PANIDCOPY(container->ic_src.s_panid, meta->src.panid);
if (meta->src.mode == IEEE802154_ADDRMODE_SHORT)
{
IEEE802154_SADDRCOPY(container->ic_src.s_saddr, meta->src.saddr);
}
else if (meta->src.mode == IEEE802154_ADDRMODE_EXTENDED)
{
IEEE802154_EADDRCOPY(container->ic_src.s_eaddr, meta->src.eaddr);
}
DEBUGASSERT(framelist != NULL);
container->ic_iob = framelist;
/* Add the container to the tail of the list of incoming frames */
container->ic_flink = NULL;
if (conn->rxtail == NULL)
{
conn->rxhead = container;
}
else
{
conn->rxtail->ic_flink = container;
}
conn->rxtail = container;
Squashed commit of the following: commit 2a3ab1652a2c95bcfc8be8380fc7cbdcb6472938 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Aug 19 08:44:31 2017 -0600 PF_IEEE802154: Finish some missing bind() logic. Add configs/sim configuration for testing. commit 59be4b846a6e3bfe82087a888e3fdac9c3c414e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:30:04 2017 -0600 PF_IEEE802154: More renaming to decouple 6LoPAN from radios in general. commit 69fabb1aea76e54381bdc13de28a3f1441fb42f4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:21:11 2017 -0600 PF_IEEE802154: Missed a few renamings. commit ff0af1bb25567720934cc1c2a721ccd92cc35f89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:46:58 2017 -0600 PF_IEEE802154: A few bugfixes commit 01c7c84afd00cf907d280d30cfaf0fb2cf90e02e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:01:31 2017 -0600 PF_IEEE802154: A few bugfixes commit dcef4056d1c1488c93151135f3b7106977faa903 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 16:31:05 2017 -0600 PF_IEEE802154: Bring in framework for sendto/recvfrom. Currently just a crude port of functions from net/pkt and do not provide the implemenation needed. commit 68c5b7b6dd3ab7eb2d0c19890abb38e6561b140e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:18:31 2017 -0600 Trivial fix to typo in comment commit fd0af534c089569ccdbd59f13b85453de0a653ad Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:07:20 2017 -0600 PF_IEEE802154: Add device lookup logic; Rename some things that used to be used only by 6LoWPAN but now must be shared with PF_IEEE802154 and need more generic naming. commit 4fc80a1659f1c699b050775cefc7f6b631b46114 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:49:54 2017 -0600 PF_IEEE802154: Add driver poll logic. commit d83f71992df8764faa93f9425f1a7602a758f730 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:28:59 2017 -0600 PF_IEEE802154: Add frame input function. commit 77561b8c4d5d7be1f8d8eb62cf1a07229afe2048 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 12:46:29 2017 -0600 PF_IEEE802154: Socket type should be SOCK_DGRAM. Hook in socket interface. commit c0f90350282e9905d7f26a1b30f04cc6d6794648 Merge: 8b518abfd0 169c55e546 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:36:32 2017 -0600 Merge remote-tracking branch 'origin/master' into pf_ieee802154 commit 8b518abfd07d492f5148f2c5fdf65604de9822da Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:35:39 2017 -0600 PF_IEEE802154: Add initialization and connection management logic. commit 98b62620b3cb420041d8ad14204f9410a8aace8c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 07:52:51 2017 -0600 PF_IEEE802154: Add basic build support and socket interface framework.
2017-08-19 16:48:52 +02:00
/* Perform the application callback */
flags = ieee802154_callback(radio, conn, IEEE802154_NEWDATA);
/* If the operation was successful, the IEEE802154_NEWDATA flag is
* removed and thus the frame can be deleted (OK will be returned).
Squashed commit of the following: commit 2a3ab1652a2c95bcfc8be8380fc7cbdcb6472938 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Aug 19 08:44:31 2017 -0600 PF_IEEE802154: Finish some missing bind() logic. Add configs/sim configuration for testing. commit 59be4b846a6e3bfe82087a888e3fdac9c3c414e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:30:04 2017 -0600 PF_IEEE802154: More renaming to decouple 6LoPAN from radios in general. commit 69fabb1aea76e54381bdc13de28a3f1441fb42f4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:21:11 2017 -0600 PF_IEEE802154: Missed a few renamings. commit ff0af1bb25567720934cc1c2a721ccd92cc35f89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:46:58 2017 -0600 PF_IEEE802154: A few bugfixes commit 01c7c84afd00cf907d280d30cfaf0fb2cf90e02e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:01:31 2017 -0600 PF_IEEE802154: A few bugfixes commit dcef4056d1c1488c93151135f3b7106977faa903 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 16:31:05 2017 -0600 PF_IEEE802154: Bring in framework for sendto/recvfrom. Currently just a crude port of functions from net/pkt and do not provide the implemenation needed. commit 68c5b7b6dd3ab7eb2d0c19890abb38e6561b140e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:18:31 2017 -0600 Trivial fix to typo in comment commit fd0af534c089569ccdbd59f13b85453de0a653ad Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:07:20 2017 -0600 PF_IEEE802154: Add device lookup logic; Rename some things that used to be used only by 6LoWPAN but now must be shared with PF_IEEE802154 and need more generic naming. commit 4fc80a1659f1c699b050775cefc7f6b631b46114 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:49:54 2017 -0600 PF_IEEE802154: Add driver poll logic. commit d83f71992df8764faa93f9425f1a7602a758f730 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:28:59 2017 -0600 PF_IEEE802154: Add frame input function. commit 77561b8c4d5d7be1f8d8eb62cf1a07229afe2048 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 12:46:29 2017 -0600 PF_IEEE802154: Socket type should be SOCK_DGRAM. Hook in socket interface. commit c0f90350282e9905d7f26a1b30f04cc6d6794648 Merge: 8b518abfd0 169c55e546 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:36:32 2017 -0600 Merge remote-tracking branch 'origin/master' into pf_ieee802154 commit 8b518abfd07d492f5148f2c5fdf65604de9822da Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:35:39 2017 -0600 PF_IEEE802154: Add initialization and connection management logic. commit 98b62620b3cb420041d8ad14204f9410a8aace8c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 07:52:51 2017 -0600 PF_IEEE802154: Add basic build support and socket interface framework.
2017-08-19 16:48:52 +02:00
*/
if ((flags & IEEE802154_NEWDATA) != 0)
Squashed commit of the following: commit 2a3ab1652a2c95bcfc8be8380fc7cbdcb6472938 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Aug 19 08:44:31 2017 -0600 PF_IEEE802154: Finish some missing bind() logic. Add configs/sim configuration for testing. commit 59be4b846a6e3bfe82087a888e3fdac9c3c414e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:30:04 2017 -0600 PF_IEEE802154: More renaming to decouple 6LoPAN from radios in general. commit 69fabb1aea76e54381bdc13de28a3f1441fb42f4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:21:11 2017 -0600 PF_IEEE802154: Missed a few renamings. commit ff0af1bb25567720934cc1c2a721ccd92cc35f89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:46:58 2017 -0600 PF_IEEE802154: A few bugfixes commit 01c7c84afd00cf907d280d30cfaf0fb2cf90e02e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:01:31 2017 -0600 PF_IEEE802154: A few bugfixes commit dcef4056d1c1488c93151135f3b7106977faa903 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 16:31:05 2017 -0600 PF_IEEE802154: Bring in framework for sendto/recvfrom. Currently just a crude port of functions from net/pkt and do not provide the implemenation needed. commit 68c5b7b6dd3ab7eb2d0c19890abb38e6561b140e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:18:31 2017 -0600 Trivial fix to typo in comment commit fd0af534c089569ccdbd59f13b85453de0a653ad Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:07:20 2017 -0600 PF_IEEE802154: Add device lookup logic; Rename some things that used to be used only by 6LoWPAN but now must be shared with PF_IEEE802154 and need more generic naming. commit 4fc80a1659f1c699b050775cefc7f6b631b46114 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:49:54 2017 -0600 PF_IEEE802154: Add driver poll logic. commit d83f71992df8764faa93f9425f1a7602a758f730 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:28:59 2017 -0600 PF_IEEE802154: Add frame input function. commit 77561b8c4d5d7be1f8d8eb62cf1a07229afe2048 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 12:46:29 2017 -0600 PF_IEEE802154: Socket type should be SOCK_DGRAM. Hook in socket interface. commit c0f90350282e9905d7f26a1b30f04cc6d6794648 Merge: 8b518abfd0 169c55e546 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:36:32 2017 -0600 Merge remote-tracking branch 'origin/master' into pf_ieee802154 commit 8b518abfd07d492f5148f2c5fdf65604de9822da Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:35:39 2017 -0600 PF_IEEE802154: Add initialization and connection management logic. commit 98b62620b3cb420041d8ad14204f9410a8aace8c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 07:52:51 2017 -0600 PF_IEEE802154: Add basic build support and socket interface framework.
2017-08-19 16:48:52 +02:00
{
/* No.. the frame was not processed now. Return ERROR so
Squashed commit of the following: commit 2a3ab1652a2c95bcfc8be8380fc7cbdcb6472938 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Aug 19 08:44:31 2017 -0600 PF_IEEE802154: Finish some missing bind() logic. Add configs/sim configuration for testing. commit 59be4b846a6e3bfe82087a888e3fdac9c3c414e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:30:04 2017 -0600 PF_IEEE802154: More renaming to decouple 6LoPAN from radios in general. commit 69fabb1aea76e54381bdc13de28a3f1441fb42f4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:21:11 2017 -0600 PF_IEEE802154: Missed a few renamings. commit ff0af1bb25567720934cc1c2a721ccd92cc35f89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:46:58 2017 -0600 PF_IEEE802154: A few bugfixes commit 01c7c84afd00cf907d280d30cfaf0fb2cf90e02e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:01:31 2017 -0600 PF_IEEE802154: A few bugfixes commit dcef4056d1c1488c93151135f3b7106977faa903 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 16:31:05 2017 -0600 PF_IEEE802154: Bring in framework for sendto/recvfrom. Currently just a crude port of functions from net/pkt and do not provide the implemenation needed. commit 68c5b7b6dd3ab7eb2d0c19890abb38e6561b140e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:18:31 2017 -0600 Trivial fix to typo in comment commit fd0af534c089569ccdbd59f13b85453de0a653ad Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:07:20 2017 -0600 PF_IEEE802154: Add device lookup logic; Rename some things that used to be used only by 6LoWPAN but now must be shared with PF_IEEE802154 and need more generic naming. commit 4fc80a1659f1c699b050775cefc7f6b631b46114 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:49:54 2017 -0600 PF_IEEE802154: Add driver poll logic. commit d83f71992df8764faa93f9425f1a7602a758f730 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:28:59 2017 -0600 PF_IEEE802154: Add frame input function. commit 77561b8c4d5d7be1f8d8eb62cf1a07229afe2048 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 12:46:29 2017 -0600 PF_IEEE802154: Socket type should be SOCK_DGRAM. Hook in socket interface. commit c0f90350282e9905d7f26a1b30f04cc6d6794648 Merge: 8b518abfd0 169c55e546 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:36:32 2017 -0600 Merge remote-tracking branch 'origin/master' into pf_ieee802154 commit 8b518abfd07d492f5148f2c5fdf65604de9822da Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:35:39 2017 -0600 PF_IEEE802154: Add initialization and connection management logic. commit 98b62620b3cb420041d8ad14204f9410a8aace8c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 07:52:51 2017 -0600 PF_IEEE802154: Add basic build support and socket interface framework.
2017-08-19 16:48:52 +02:00
* that the driver may retry again later. We still need to
* set d_len to zero so that the driver is aware that there
* is nothing to be sent.
*/
nwarn("WARNING: Frame not processed\n");
Squashed commit of the following: commit 2a3ab1652a2c95bcfc8be8380fc7cbdcb6472938 Author: Gregory Nutt <gnutt@nuttx.org> Date: Sat Aug 19 08:44:31 2017 -0600 PF_IEEE802154: Finish some missing bind() logic. Add configs/sim configuration for testing. commit 59be4b846a6e3bfe82087a888e3fdac9c3c414e5 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:30:04 2017 -0600 PF_IEEE802154: More renaming to decouple 6LoPAN from radios in general. commit 69fabb1aea76e54381bdc13de28a3f1441fb42f4 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 19:21:11 2017 -0600 PF_IEEE802154: Missed a few renamings. commit ff0af1bb25567720934cc1c2a721ccd92cc35f89 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:46:58 2017 -0600 PF_IEEE802154: A few bugfixes commit 01c7c84afd00cf907d280d30cfaf0fb2cf90e02e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 17:01:31 2017 -0600 PF_IEEE802154: A few bugfixes commit dcef4056d1c1488c93151135f3b7106977faa903 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 16:31:05 2017 -0600 PF_IEEE802154: Bring in framework for sendto/recvfrom. Currently just a crude port of functions from net/pkt and do not provide the implemenation needed. commit 68c5b7b6dd3ab7eb2d0c19890abb38e6561b140e Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:18:31 2017 -0600 Trivial fix to typo in comment commit fd0af534c089569ccdbd59f13b85453de0a653ad Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 15:07:20 2017 -0600 PF_IEEE802154: Add device lookup logic; Rename some things that used to be used only by 6LoWPAN but now must be shared with PF_IEEE802154 and need more generic naming. commit 4fc80a1659f1c699b050775cefc7f6b631b46114 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:49:54 2017 -0600 PF_IEEE802154: Add driver poll logic. commit d83f71992df8764faa93f9425f1a7602a758f730 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 13:28:59 2017 -0600 PF_IEEE802154: Add frame input function. commit 77561b8c4d5d7be1f8d8eb62cf1a07229afe2048 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 12:46:29 2017 -0600 PF_IEEE802154: Socket type should be SOCK_DGRAM. Hook in socket interface. commit c0f90350282e9905d7f26a1b30f04cc6d6794648 Merge: 8b518abfd0 169c55e546 Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:36:32 2017 -0600 Merge remote-tracking branch 'origin/master' into pf_ieee802154 commit 8b518abfd07d492f5148f2c5fdf65604de9822da Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 09:35:39 2017 -0600 PF_IEEE802154: Add initialization and connection management logic. commit 98b62620b3cb420041d8ad14204f9410a8aace8c Author: Gregory Nutt <gnutt@nuttx.org> Date: Fri Aug 18 07:52:51 2017 -0600 PF_IEEE802154: Add basic build support and socket interface framework.
2017-08-19 16:48:52 +02:00
ret = ERROR;
}
}
else
{
nerr("ERROR: No listener\n");
}
return ret;
}
#endif /* CONFIG_NET_IEEE802154 */