nes-proj/os/net/mac/tsch/sixtop
2017-09-13 14:38:06 +09:00
..
README.md sixtop: 6top protocol implementation by CDAC 2017-09-13 14:38:06 +09:00
sixtop.c sixtop: 6top protocol implementation by CDAC 2017-09-13 14:38:06 +09:00
sixtop.h sixtop: 6top protocol implementation by CDAC 2017-09-13 14:38:06 +09:00

6TiSCH Operation Sublayer (6top)

Overview

6TiSCH Operation Sublayer (6top), a logical link layer in the 6TiSCH architecture, provides the abstraction of an IP link over a TSCH MAC layer (IEEE 802.15.4e). The functionality of 6top is to facilitate the dynamic cell negotiation with one-hop neighbors.

This is a Contiki implementation of 6top, which defines how to handle a 2-step 6top transaction on a basic RPL+TSCH network.

Developed by:

Features

This implementation includes:

  • 6top protocol(6P)
    • 6P Add
    • 6P Delete
  • 2-step 6top Transaction

The code has been tested on Zolertia Z1 (z1, tested in cooja only) platform.

Code structure

The 6top frame format is included in:

  • core/net/mac/frame802154-ie.[ch]: Modified to include Sixtop Information Elements

6top is implemented in:

  • core/net/mac/tsch/sixtop/sixtop.[ch]: 6top interface and 6top protocol(6P addition and deletion), handling of 6P Requests and Response

TSCH file modified:

  • core/net/mac/tsch/tsch.[ch]: Modified to include Sixtop module

Using 6top

A simple 6top+TSCH+RPL example is included under examples/ipv6/rpl-tsch-sixtop. Currently this application triggers the 6P transactions, later the 6top Scheduling Function (SF) may be implemented for the purpose.

To use 6top, make sure your platform supports TSCH and have sufficient memory.

To add 6top to your application, first include the Sixtop module in your Makefile with:

MODULES += core/net/mac/tsch/sixtop

Also enable the sixtop functionalities in your project-conf.h file with

#undef TSCH_CONF_WITH_SIXTOP

#define TSCH_CONF_WITH_SIXTOP 1

Additional documentation

  1. IETF 6TiSCH Working Group
  2. 6TiSCH 6top Protocol (6P)