Loading...
Searching...
No Matches
lowpan6.c File Reference
`#include "netif/lowpan6.h"`
`#include "lwip/ip.h"`
`#include "lwip/pbuf.h"`
`#include "lwip/ip_addr.h"`
`#include "lwip/netif.h"`
`#include "lwip/nd6.h"`
`#include "lwip/mem.h"`
`#include "lwip/udp.h"`
`#include "lwip/tcpip.h"`
`#include "lwip/snmp.h"`
`#include "netif/ieee802154.h"`
`#include <string.h>`

## Data Structures

struct | lowpan6_reass_helper
struct | lowpan6_ieee802154_data

## Functions

u16_t | lowpan6_calc_crc (const void *buf, u16_t len)
void | lowpan6_tmr (void)
err_t | lowpan6_set_context (u8_t idx, const ip6_addr_t *context)
err_t | lowpan6_set_short_addr (u8_t addr_high, u8_t addr_low)
err_t | lowpan6_output (struct netif *netif, struct pbuf *q, const ip6_addr_t *ip6addr)
err_t | lowpan6_input (struct pbuf *p, struct netif *netif)
err_t | lowpan6_set_pan_id (u16_t pan_id)
err_t | tcpip_6lowpan_input (struct pbuf *p, struct netif *inp)

## Detailed Description

6LowPAN output for IPv6. Uses ND tables for link-layer addressing. Fragments packets to 6LowPAN units.

This implementation aims to conform to IEEE 802.15.4(-2015), RFC 4944 and RFC 6282.

## Function Documentation

## lowpan6_calc_crc()

u16_t lowpan6_calc_crc | ( | const void * | buf,
|  | u16_t | len )

Calculate the 16-bit CRC as required by IEEE 802.15.4

## lowpan6_tmr()

void lowpan6_tmr | ( | void |  | ) |

Periodic timer for 6LowPAN functions:

- Remove incomplete/old packets