Skip to content
Snippets Groups Projects
Unverified Commit 5ea5904d authored by Martine Lenders's avatar Martine Lenders Committed by GitHub
Browse files

Merge pull request #9648 from miri64/tests/fix/gnrc_sixlowpan-dummy

tests: gnrc_sixlowpan: replace default netif with dummy
parents 33389dd6 6c2510dc
No related branches found
No related tags found
No related merge requests found
# name of your application
include ../Makefile.tests_common
BOARD_INSUFFICIENT_MEMORY := airfy-beacon chronos maple-mini msb-430 msb-430h \
nrf51dongle nrf6310 nucleo-f031k6 nucleo-f042k6 \
nucleo-l031k6 nucleo-f030r8 nucleo-f070rb nucleo-f103rb \
nucleo-f303k8 nucleo-f334r8 nucleo-l053r8 \
spark-core stm32f0discovery telosb wsn430-v1_3b \
wsn430-v1_4 yunjia-nrf51822 z1
BOARD_INSUFFICIENT_MEMORY := chronos hifive1 msb-430 msb-430h nucleo-f030r8 \
nucleo-f031k6 nucleo-f042k6 nucleo-f070rb \
nucleo-f070rb nucleo-f072rb nucleo-f303k8 \
nucleo-f334r8 nucleo-l031k6 nucleo-l053r8 \
stm32f0discovery telosb wsn430-v1_3b wsn430-v1_4 z1
# Include packages that pull up and auto-init the link layer.
# NOTE: 6LoWPAN will be included if IEEE802.15.4 devices are present
USEMODULE += gnrc_netdev_default
USEMODULE += auto_init_gnrc_netif
# use IEEE 802.15.4 as link-layer protocol
USEMODULE += netdev_ieee802154
USEMODULE += netdev_test
# 6LoWPAN and its extensions
USEMODULE += gnrc_sixlowpan_default
# UDP
......
......@@ -29,12 +29,59 @@
#include "net/gnrc/netreg.h"
#include "net/gnrc/netapi.h"
#include "net/gnrc/netif.h"
#include "net/gnrc/netif/conf.h"
#include "net/gnrc/netif/ieee802154.h"
#include "net/gnrc/netif/hdr.h"
#include "net/gnrc/pktdump.h"
#include "net/netdev_test.h"
#include "xtimer.h"
#define IEEE802154_MAX_FRAG_SIZE (102)
static char _netif_stack[THREAD_STACKSIZE_SMALL];
static netdev_test_t _ieee802154_dev;
static int _get_netdev_device_type(netdev_t *netdev, void *value, size_t max_len)
{
assert(max_len == sizeof(uint16_t));
(void)netdev;
*((uint16_t *)value) = NETDEV_TYPE_IEEE802154;
return sizeof(uint16_t);
}
static int _get_netdev_max_packet_size(netdev_t *netdev, void *value,
size_t max_len)
{
assert(max_len == sizeof(uint16_t));
(void)netdev;
*((uint16_t *)value) = IEEE802154_MAX_FRAG_SIZE;
return sizeof(uint16_t);
}
static int _get_netdev_src_len(netdev_t *netdev, void *value, size_t max_len)
{
(void)netdev;
assert(max_len == sizeof(uint16_t));
*((uint16_t *)value) = sizeof(eui64_t);
return sizeof(uint16_t);
}
static void _init_interface(void)
{
gnrc_netif_t *netif = gnrc_netif_iter(NULL);
gnrc_netif_t *netif;
netdev_test_setup(&_ieee802154_dev, NULL);
netdev_test_set_get_cb(&_ieee802154_dev, NETOPT_DEVICE_TYPE,
_get_netdev_device_type);
netdev_test_set_get_cb(&_ieee802154_dev, NETOPT_MAX_PACKET_SIZE,
_get_netdev_max_packet_size);
netdev_test_set_get_cb(&_ieee802154_dev, NETOPT_SRC_LEN,
_get_netdev_src_len);
netif = gnrc_netif_ieee802154_create(
_netif_stack, THREAD_STACKSIZE_SMALL, GNRC_NETIF_PRIO,
"dummy_netif", (netdev_t *)&_ieee802154_dev);
ipv6_addr_t addr = IPV6_ADDR_UNSPECIFIED;
/* fd01::01 */
......@@ -42,6 +89,7 @@ static void _init_interface(void)
addr.u8[1] = 0x01;
addr.u8[15] = 0x01;
xtimer_usleep(500); /* wait for thread to start */
if (gnrc_netapi_set(netif->pid, NETOPT_IPV6_ADDR, 64U << 8U, &addr,
sizeof(addr)) < 0) {
printf("error: unable to add IPv6 address fd01::1/64 to interface %u\n",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment