| Files | |
| file | config.h | 
| Configuration macros for 6LoWPAN. | |
| Macros | |
| #define | GNRC_SIXLOWPAN_STACK_SIZE ((THREAD_STACKSIZE_DEFAULT) - 64) | 
| 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). | |
| #define | CONFIG_GNRC_SIXLOWPAN_FRAG_FB_SIZE (1U) | 
| Number of datagrams that can be fragmented simultaneously. | |
| #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_RBUF_DO_NOT_OVERRIDE | 
| Do not override oldest datagram when reassembly buffer is full. | |
| #define | CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_DEL_TIMER (0U) | 
| Deletion timer for reassembly buffer entries in microseconds. | |
| #define | CONFIG_GNRC_SIXLOWPAN_ND_AR_LTIME (15U) | 
| Registration lifetime in minutes for the address registration option. | |
| #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 | 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 | CONFIG_GNRC_SIXLOWPAN_SFR_MIN_FRAG_SIZE 96U | 
| Default minimum value for fragment size (MinFragmentSize) | |
| #define | CONFIG_GNRC_SIXLOWPAN_SFR_MAX_FRAG_SIZE 112U | 
| Default maximum value for fragment size (MaxFragmentSize) | |
| #define | CONFIG_GNRC_SIXLOWPAN_SFR_OPT_FRAG_SIZE CONFIG_GNRC_SIXLOWPAN_SFR_MAX_FRAG_SIZE | 
| Default value for fragment size that the sender should use to start with (OptFragmentSize) | |
| #define | CONFIG_GNRC_SIXLOWPAN_SFR_MIN_WIN_SIZE 1U | 
| Indicates whether the sender should react to Explicit Congestion Notification (UseECN) | |
| #define | CONFIG_GNRC_SIXLOWPAN_SFR_MAX_WIN_SIZE 16U | 
| Default maximum value of window size that the sender can use (MaxWindowSize) | |
| #define | CONFIG_GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE 16U | 
| Default value of window size that the sender should start with (OptWindowSize) | |
| #define | CONFIG_GNRC_SIXLOWPAN_SFR_INTER_FRAME_GAP_US 100U | 
| Default minimum amount of time between transmissions in microseconds (InterFrameGap) | |
| #define | CONFIG_GNRC_SIXLOWPAN_SFR_MIN_ARQ_TIMEOUT_MS 350U | 
| Minimum RFRAG-ACK timeout in msec before a node takes a next action (MinARQTimeOut) | |
| #define | CONFIG_GNRC_SIXLOWPAN_SFR_MAX_ARQ_TIMEOUT_MS 700U | 
| Maximum RFRAG-ACK timeout in msec before a node takes a next action (MaxARQTimeOut) | |
| #define | CONFIG_GNRC_SIXLOWPAN_SFR_OPT_ARQ_TIMEOUT_MS CONFIG_GNRC_SIXLOWPAN_SFR_MAX_ARQ_TIMEOUT_MS | 
| Default RFRAG-ACK timeout in msec before a node takes a next action (OptARQTimeOut) | |
| #define | CONFIG_GNRC_SIXLOWPAN_SFR_FRAG_RETRIES 2U | 
| The maximum number of retries for a particular fragment (MaxFragRetries) | |
| #define | CONFIG_GNRC_SIXLOWPAN_SFR_DG_RETRIES 0U | 
| The maximum number of retries from scratch for a particular datagram (MaxDatagramRetries) | |
| #define | CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_IN_NUM 1U | 
| The numerator for the factor for when to mark ECN on incoming netifqueue state. | |
| #define | CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_IN_DEN 2U | 
| The denominator for the factor for when to mark ECN on incoming netifqueue state. | |
| #define | CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_OUT_NUM 1U | 
| The numerator for the factor for when to mark ECN on the outgoing netif's output queue state. | |
| #define | CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_OUT_DEN 2U | 
| The denominator for the factor for when to mark ECN on the outgoing netifoutput queue state. | |
| #define | CONFIG_GNRC_SIXLOWPAN_SFR_ECN_FQUEUE_NUM 1U | 
| The numerator for the factor for when to mark ECN on frame queue state. | |
| #define | CONFIG_GNRC_SIXLOWPAN_SFR_ECN_FQUEUE_DEN 2U | 
| The denominator for the factor for when to mark ECN on frame queue state. | |
| #define | CONFIG_GNRC_SIXLOWPAN_SFR_MOCK_ARQ_TIMER 0U | 
| Deactivate automatic handling of ARQ timer. | |
| #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 CONFIG_GNRC_SIXLOWPAN_SFR_DG_RETRIES 0U | 
| #define CONFIG_GNRC_SIXLOWPAN_SFR_ECN_FQUEUE_DEN 2U | 
The denominator for the factor for when to mark ECN on frame queue state.
When gnrc_sixlowpan_frag_sfr_ecn_fqueue is compiled in, nodes will set the ECN bit of an RFRAG header when the frame queue for SFR is filled by CONFIG_GNRC_SIXLOWPAN_SFR_ECN_FQUEUE_NUM / CONFIG_GNRC_SIXLOWPAN_SFR_ECN_FQUEUE_DEN 
| #define CONFIG_GNRC_SIXLOWPAN_SFR_ECN_FQUEUE_NUM 1U | 
The numerator for the factor for when to mark ECN on frame queue state.
When gnrc_sixlowpan_frag_sfr_ecn_fqueue is compiled in, nodes will set the ECN bit of an RFRAG header when the frame queue for SFR is filled by CONFIG_GNRC_SIXLOWPAN_SFR_ECN_FQUEUE_NUM / CONFIG_GNRC_SIXLOWPAN_SFR_ECN_FQUEUE_DEN 
| #define CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_IN_DEN 2U | 
The denominator for the factor for when to mark ECN on incoming netif queue state. 
When gnrc_sixlowpan_frag_sfr_ecn_if_in is compiled in, nodes will set the ECN bit of an RFRAG header when the message queue of the incoming netif is filled by CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_IN_NUM / CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_IN_DEN 
| #define CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_IN_NUM 1U | 
The numerator for the factor for when to mark ECN on incoming netif queue state. 
When gnrc_sixlowpan_frag_sfr_ecn_if_in is compiled in, nodes will set the ECN bit of an RFRAG header when the message queue of the incoming netif is filled by CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_IN_NUM / CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_IN_DEN 
| #define CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_OUT_DEN 2U | 
The denominator for the factor for when to mark ECN on the outgoing netif output queue state. 
When gnrc_sixlowpan_frag_sfr_ecn_if_out is compiled in, nodes will set the ECN bit of an RFRAG header when the output queue of the outgoing netif is filled by CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_OUT_NUM / CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_OUT_DEN 
| #define CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_OUT_NUM 1U | 
The numerator for the factor for when to mark ECN on the outgoing netif's output queue state. 
When gnrc_sixlowpan_frag_sfr_ecn_if_out is compiled in, nodes will set the ECN bit of an RFRAG header when the output queue of the outgoing netif is filled by CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_OUT_NUM / CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_OUT_DEN 
| #define CONFIG_GNRC_SIXLOWPAN_SFR_FRAG_RETRIES 2U | 
| #define CONFIG_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 CONFIG_GNRC_SIXLOWPAN_SFR_MAX_ARQ_TIMEOUT_MS 700U | 
| #define CONFIG_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 CONFIG_GNRC_SIXLOWPAN_SFR_MAX_WIN_SIZE 16U | 
| #define CONFIG_GNRC_SIXLOWPAN_SFR_MIN_ARQ_TIMEOUT_MS 350U | 
| #define CONFIG_GNRC_SIXLOWPAN_SFR_MIN_FRAG_SIZE 96U | 
| #define CONFIG_GNRC_SIXLOWPAN_SFR_MIN_WIN_SIZE 1U | 
Indicates whether the sender should react to Explicit Congestion Notification (UseECN)
When the sender reacts to Explicit Congestion Notification (ECN) its window size will vary between CONFIG_GNRC_SIXLOWPAN_SFR_MIN_WIN_SIZE and CONFIG_GNRC_SIXLOWPAN_SFR_MAX_WIN_SIZE.
Default minimum value of window size that the sender can use (MinWindowSize)
| #define CONFIG_GNRC_SIXLOWPAN_SFR_MOCK_ARQ_TIMER 0U | 
Deactivate automatic handling of ARQ timer.
This requires an external source (e.g. a test application) to call gnrc_sixlowpan_frag_sfr_arq_timeout() for 6LoWPAN selective fragment recovery to still work properly.
| #define CONFIG_GNRC_SIXLOWPAN_SFR_OPT_ARQ_TIMEOUT_MS CONFIG_GNRC_SIXLOWPAN_SFR_MAX_ARQ_TIMEOUT_MS | 
Default RFRAG-ACK timeout in msec before a node takes a next action (OptARQTimeOut)
| #define CONFIG_GNRC_SIXLOWPAN_SFR_OPT_FRAG_SIZE CONFIG_GNRC_SIXLOWPAN_SFR_MAX_FRAG_SIZE | 
Default value for fragment size that the sender should use to start with (OptFragmentSize)
| #define CONFIG_GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE 16U | 
Default value of window size that the sender should start with (OptWindowSize)
| #define GNRC_SIXLOWPAN_MSG_QUEUE_SIZE (1 << CONFIG_GNRC_SIXLOWPAN_MSG_QUEUE_SIZE_EXP) | 
| #define GNRC_SIXLOWPAN_PRIO (THREAD_PRIORITY_MAIN - 4) | 
| #define GNRC_SIXLOWPAN_STACK_SIZE ((THREAD_STACKSIZE_DEFAULT) - 64) |