Files | |
file | config.h |
Configuration macros for 6LoWPAN. | |
Macros | |
#define | GNRC_SIXLOWPAN_STACK_SIZE (THREAD_STACKSIZE_DEFAULT) |
Default stack size to use for the 6LoWPAN thread. | |
#define | GNRC_SIXLOWPAN_PRIO (THREAD_PRIORITY_MAIN - 4) |
Default priority for the 6LoWPAN thread. | |
#define | CONFIG_GNRC_SIXLOWPAN_MSG_QUEUE_SIZE_EXP (3U) |
Default message queue size to use for the 6LoWPAN thread (as exponent of 2^n). More... | |
#define | CONFIG_GNRC_SIXLOWPAN_FRAG_FB_SIZE (1U) |
Number of datagrams that can be fragmented simultaneously. More... | |
#define | CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_SIZE (4U) |
Size of the reassembly buffer. More... | |
#define | CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_TIMEOUT_US (3U * US_PER_SEC) |
Timeout for reassembly buffer entries in microseconds. More... | |
#define | CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_DO_NOT_OVERRIDE |
Do not override oldest datagram when reassembly buffer is full. More... | |
#define | CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_DEL_TIMER (0U) |
Deletion timer for reassembly buffer entries in microseconds. More... | |
#define | CONFIG_GNRC_SIXLOWPAN_ND_AR_LTIME (15U) |
Registration lifetime in minutes for the address registration option. More... | |
#define | CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_SIZE (16U) |
Size of the virtual reassembly buffer. More... | |
#define | CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_TIMEOUT_US (CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_TIMEOUT_US) |
Timeout for a VRB entry in microseconds. More... | |
#define | GNRC_SIXLOWPAN_MSG_QUEUE_SIZE (1 << CONFIG_GNRC_SIXLOWPAN_MSG_QUEUE_SIZE_EXP) |
Message queue size to use for the 6LoWPAN thread. | |
Selective fragment recovery configuration | |
| |
#define | GNRC_SIXLOWPAN_SFR_MIN_FRAG_SIZE (96U) |
Default minimum value for fragment size (MinFragmentSize) | |
#define | GNRC_SIXLOWPAN_SFR_MAX_FRAG_SIZE (112U) |
Default maximum value for fragment size (MaxFragmentSize) More... | |
#define | GNRC_SIXLOWPAN_SFR_OPT_FRAG_SIZE (GNRC_SIXLOWPAN_SFR_MAX_FRAG_SIZE) |
Default value for fragment size that the sender should use to start with (OptFragmentSize) | |
#define | GNRC_SIXLOWPAN_SFR_USE_ECN (0U) |
Indicates whether the sender should react to ECN (UseECN) More... | |
#define | GNRC_SIXLOWPAN_SFR_MIN_WIN_SIZE (1U) |
Default minimum value of window size that the sender can use (MinWindowSize) | |
#define | GNRC_SIXLOWPAN_SFR_MAX_WIN_SIZE (16U) |
Default maximum value of window size that the sender can use (MaxWindowSize) More... | |
#define | GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE (16U) |
Default value of window size that the sender should start with (OptWindowSize) | |
#define | GNRC_SIXLOWPAN_SFR_INTER_FRAME_GAP_US (100U) |
Default minimum amount of time between transmissions in microseconds (InterFrameGap) More... | |
#define | GNRC_SIXLOWPAN_SFR_MIN_ARQ_TIMEOUT_MS (350U) |
Default minimum amount of time in milliseconds a node should wait for an RFRAG Acknowledgment before it takes a next action (MinARQTimeOut) | |
#define | GNRC_SIXLOWPAN_SFR_MAX_ARQ_TIMEOUT_MS (700U) |
Default maximum amount of time in milliseconds a node should wait for an RFRAG Acknowledgment before it takes a next action (MaxARQTimeOut) | |
#define | GNRC_SIXLOWPAN_SFR_OPT_ARQ_TIMEOUT_MS (GNRC_SIXLOWPAN_SFR_MAX_ARQ_TIMEOUT_MS) |
Default starting point of the value of the amount of time in milliseconds that a sender should wait for an RFRAG Acknowledgment before it takes a next action (OptARQTimeOut) | |
#define | GNRC_SIXLOWPAN_SFR_FRAG_RETRIES (2U) |
The maximum number of retries for a particular fragment (MaxFragRetries) | |
#define | GNRC_SIXLOWPAN_SFR_DG_RETRIES (0U) |
The maximum number of retries from scratch for a particular datagram (MaxDatagramRetries) | |
#define CONFIG_GNRC_SIXLOWPAN_FRAG_FB_SIZE (1U) |
Number of datagrams that can be fragmented simultaneously.
This determines the number of gnrc_sixlowpan_frag_fb_t instances available.
#define CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_DEL_TIMER (0U) |
Deletion timer for reassembly buffer entries in microseconds.
Time to pass between completion of a datagram and the deletion of its reassembly buffer entry. If this value is 0, the entry is dropped immediately. Use this value to prevent re-creation of a reassembly buffer entry on late arriving link-layer duplicates.
#define CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_DO_NOT_OVERRIDE |
Do not override oldest datagram when reassembly buffer is full.
When not set, it will cause the reassembly buffer to override the oldest entry when a fragment for a new datagram is received. When set, only the oldest entry that is older than CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_TIMEOUT_US will be overwritten (they will still timeout normally if reassembly buffer is not full).
#define CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_SIZE (4U) |
Size of the reassembly buffer.
#define CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_TIMEOUT_US (3U * US_PER_SEC) |
Timeout for reassembly buffer entries in microseconds.
#define CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_SIZE (16U) |
Size of the virtual reassembly buffer.
#define CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_TIMEOUT_US (CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_TIMEOUT_US) |
Timeout for a VRB entry in microseconds.
#define CONFIG_GNRC_SIXLOWPAN_MSG_QUEUE_SIZE_EXP (3U) |
#define CONFIG_GNRC_SIXLOWPAN_ND_AR_LTIME (15U) |
Registration lifetime in minutes for the address registration option.
This value should be adapted to the devices power-lifecycle so that it is greater than the time the device spends sleeping.
#define GNRC_SIXLOWPAN_SFR_INTER_FRAME_GAP_US (100U) |
Default minimum amount of time between transmissions in microseconds (InterFrameGap)
All packets to a same destination, and in particular fragments, may be subject to receive while transmitting and hidden terminal collisions with the next or the previous transmission as the fragments progress along a same path. The InterFrameGap protects the propagation of to one transmission before the next one is triggered and creates a duty cycle that controls the ratio of air and memory in intermediate nodes that a particular datagram will use.
#define GNRC_SIXLOWPAN_SFR_MAX_FRAG_SIZE (112U) |
Default maximum value for fragment size (MaxFragmentSize)
It must be lower than the minimum MTU along the path. A large value augments the chances of buffer bloat and transmission loss. The value must be less than 512 if the unit is defined for the PHY layer is the octet.
#define GNRC_SIXLOWPAN_SFR_MAX_WIN_SIZE (16U) |
#define GNRC_SIXLOWPAN_SFR_USE_ECN (0U) |
Indicates whether the sender should react to ECN (UseECN)
When the sender reacts to ECN its window size will vary between GNRC_SIXLOWPAN_SFR_MIN_WIN_SIZE and GNRC_SIXLOWPAN_SFR_MAX_WIN_SIZE.