Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: TYBLE16_simple_data_logger TYBLE16_MP3_Air
6LowPAN output for IPv6. More...
Go to the source code of this file.
Functions | |
| static u8_t | lowpan6_write_iee802154_header (struct ieee_802154_hdr *hdr, const struct lowpan6_link_addr *src, const struct lowpan6_link_addr *dst) |
| Write the IEEE 802.15.4 header that encapsulates the 6LoWPAN frame. | |
| static err_t | lowpan6_parse_iee802154_header (struct pbuf *p, struct lowpan6_link_addr *src, struct lowpan6_link_addr *dest) |
| Parse the IEEE 802.15.4 header from a pbuf. | |
| u16_t | lowpan6_calc_crc (const void *buf, u16_t len) |
| Calculate the 16-bit CRC as required by IEEE 802.15.4. | |
| static void | dequeue_datagram (struct lowpan6_reass_helper *lrh, struct lowpan6_reass_helper *prev) |
| Removes a datagram from the reassembly queue. | |
| void | lowpan6_tmr (void) |
| Periodic timer for 6LowPAN functions: | |
| err_t | lowpan6_set_context (u8_t idx, const ip6_addr_t *context) |
| Set context. | |
| err_t | lowpan6_set_short_addr (u8_t addr_high, u8_t addr_low) |
| Set short address. | |
| err_t | lowpan6_output (struct netif *netif, struct pbuf *q, const ip6_addr_t *ip6addr) |
| Resolve and fill-in IEEE 802.15.4 address header for outgoing IPv6 packet. | |
| err_t | lowpan6_input (struct pbuf *p, struct netif *netif) |
| NETIF input function: don't free the input pbuf when returning != ERR_OK! | |
| err_t | lowpan6_set_pan_id (u16_t pan_id) |
| Set PAN ID. | |
| err_t | tcpip_6lowpan_input (struct pbuf *p, struct netif *inp) |
| Pass a received packet to tcpip_thread for input processing. | |
Variables | |
| static struct lowpan6_ieee802154_data | lowpan6_data |
| Currently, this state is global, since there's only one 6LoWPAN netif. | |
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.
Definition in file lwip_lowpan6.c.
Function Documentation
| static void dequeue_datagram | ( | struct lowpan6_reass_helper * | lrh, |
| struct lowpan6_reass_helper * | prev | ||
| ) | [static] |
Removes a datagram from the reassembly queue.
Definition at line 303 of file lwip_lowpan6.c.
| u16_t lowpan6_calc_crc | ( | const void * | buf, |
| u16_t | len | ||
| ) |
Calculate the 16-bit CRC as required by IEEE 802.15.4.
Definition at line 262 of file lwip_lowpan6.c.
| static err_t lowpan6_parse_iee802154_header | ( | struct pbuf * | p, |
| struct lowpan6_link_addr * | src, | ||
| struct lowpan6_link_addr * | dest | ||
| ) | [static] |
Parse the IEEE 802.15.4 header from a pbuf.
If successful, the header is hidden from the pbuf.
PAN IDs and seuqence number are not checked
- Parameters:
-
p input pbuf, p->payload pointing at the IEEE 802.15.4 header src pointer to source address filled from the header dest pointer to destination address filled from the header
- Returns:
- ERR_OK if successful
Definition at line 186 of file lwip_lowpan6.c.
| void lowpan6_tmr | ( | void | ) |
Periodic timer for 6LowPAN functions:
- Remove incomplete/old packets
Definition at line 320 of file lwip_lowpan6.c.
| static u8_t lowpan6_write_iee802154_header | ( | struct ieee_802154_hdr * | hdr, |
| const struct lowpan6_link_addr * | src, | ||
| const struct lowpan6_link_addr * | dst | ||
| ) | [static] |
Write the IEEE 802.15.4 header that encapsulates the 6LoWPAN frame.
Src and dst PAN IDs are filled with the ID set by lowpan6_set_pan_id.
Since the length is variable:
- Returns:
- the header length
Definition at line 130 of file lwip_lowpan6.c.
Variable Documentation
struct lowpan6_ieee802154_data lowpan6_data [static] |
Currently, this state is global, since there's only one 6LoWPAN netif.
Definition at line 107 of file lwip_lowpan6.c.
Generated on Tue Jul 12 2022 13:55:13 by
1.7.2