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 netif queue state. | |
#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. | |
#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 netif output 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) |