318 lines
10 KiB
Plaintext
318 lines
10 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
if NET_6LOWPAN
|
|
|
|
config NET_6LOWPAN_NREASSBUF
|
|
int "Number of preallocated reassembly buffers"
|
|
default 2
|
|
---help---
|
|
Large IPv6 packets will be fragmented by 6LoWPAN into multiple
|
|
frames and reconstitued into a reassembly buffer on the receiving
|
|
side. Each concurrent reassembly requires one buffer. Reassembly
|
|
buffers are large: The size of the 6LoWPAN MTU plus some overhead
|
|
for the reassembly state.
|
|
|
|
Some reassembly buffers may be preallocated; some may be allocated
|
|
dynamically from the stack. The former require more static memory
|
|
usage; the later require additional CPU cycles to perform the
|
|
allocation and may effect deterministic behavior. So this is a
|
|
trade-off between resources and performance. If the number of pre-
|
|
allocated reassembly buffers are exhausted, the reassembly will
|
|
continue with dynamically allocated reassembly buffers.
|
|
|
|
This behavior can be changed with CONFIG_NET_6LOWPAN_REASS_STATIC
|
|
|
|
config NET_6LOWPAN_REASS_STATIC
|
|
bool "Static reassembly buffers"
|
|
default n
|
|
---help---
|
|
By default, reassembly buffers may be allocated dynamically from the
|
|
stack when all of the statically allocation reassembly buffers are
|
|
in use. This will equire additional CPU cycles to perform the
|
|
allocation and may effect deterministic behavior. This option may
|
|
be selected to suppress all dynamica allocation of reassembly
|
|
buffers. In that case, only static reassembly buffers are available;
|
|
when those are exhausted, frames that require reassembly will be lost.
|
|
|
|
choice
|
|
prompt "6LoWPAN Compression"
|
|
default NET_6LOWPAN_COMPRESSION_HC06
|
|
|
|
config NET_6LOWPAN_COMPRESSION_IPv6
|
|
bool "IPv6 Dispatch"
|
|
---help---
|
|
Packets compression when only IPv6 dispatch is used. There is no
|
|
compression in this case, all fields are sent inline. We just add
|
|
the IPv6 dispatch byte before the packet.
|
|
|
|
config NET_6LOWPAN_COMPRESSION_HC1
|
|
bool "6LoWPAN HC1"
|
|
---help---
|
|
Compress IP/UDP header using HC1 and HC_UDP
|
|
|
|
config NET_6LOWPAN_COMPRESSION_HC06
|
|
bool "6LoWPAN HC06"
|
|
---help---
|
|
Compress IP/UDP header using HC06 compression
|
|
|
|
endchoice # 6LoWPAN Compression
|
|
|
|
config NET_6LOWPAN_COMPRESSION_THRESHOLD
|
|
int "Lower compression threshold"
|
|
default 63
|
|
depends on !NET_6LOWPAN_COMPRESSION_IPv6
|
|
---help---
|
|
CONFIG_NET_6LOWPAN_COMPRESSION_THRESHOLD sets a lower threshold for
|
|
when packets should not be compressed.
|
|
|
|
config NET_6LOWPAN_MINPORT
|
|
hex "Minimum port nubmer"
|
|
default 0xf0b0
|
|
depends on NET_6LOWPAN_COMPRESSION_HC1
|
|
---help---
|
|
HC1 compression of UDP headersis feasible only if both src and dest
|
|
ports are between CONFIG_NET_6LOWPAN_MINPORT and
|
|
CONFIG_NET_6LOWPAN_MINPORT + 15, inclusive.
|
|
|
|
All nodes must agree on the value of CONFIG_NET_6LOWPAN_MINPORT
|
|
|
|
if NET_6LOWPAN_COMPRESSION_HC06
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT
|
|
int "Maximum address contexts"
|
|
default 1
|
|
---help---
|
|
If we use IPHC compression, how many address contexts do we support?
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_0_0
|
|
hex "Address context 0 Prefix 0"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 0 for address context zero (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 0)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_0_1
|
|
hex "Address context 0 Prefix 1"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 1 for address context 0 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 0)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_0_2
|
|
hex "Address context 0 Prefix 2"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 2 for address context 0 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 0)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_0_3
|
|
hex "Address context 0 Prefix 3"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 3 for address context 0 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 0)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_0_4
|
|
hex "Address context 0 Prefix 4"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 4 for address context 0 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 0)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_0_5
|
|
hex "Address context 0 Prefix 5"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 5 for address context 0 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 0)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_0_6
|
|
hex "Address context 0 Prefix 6"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 6 for address context 0 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 0)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_0_7
|
|
hex "Address context 0 Prefix 6"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 7 for address context 0 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 0)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREINIT_1
|
|
bool "Pre-initialize address context 1"
|
|
default n
|
|
---help---
|
|
Preinitialize address context 1 for better header compression
|
|
(Saves up to 13 bytes per 6lowpan packet). Assumes
|
|
CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 1)
|
|
|
|
if NET_6LOWPAN_MAXADDRCONTEXT_PREINIT_1
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_1_0
|
|
hex "Address context 1 Prefix 0"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 0 for address context 1 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 1)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_1_1
|
|
hex "Address context 1 Prefix 1"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 1 for address context 1 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 1)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_1_2
|
|
hex "Address context 1 Prefix 2"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 2 for address context 1 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 1)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_1_3
|
|
hex "Address context 1 Prefix 3"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 3 for address context 1 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 1)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_1_4
|
|
hex "Address context 1 Prefix 4"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 4 for address context 1 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 1)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_1_5
|
|
hex "Address context 1 Prefix 5"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 5 for address context 1 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 1)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_1_6
|
|
hex "Address context 1 Prefix 6"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 6 for address context 1 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 1)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_1_7
|
|
hex "Address context 1 Prefix 7"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 7 for address context 1 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 1)
|
|
|
|
endif # NET_6LOWPAN_MAXADDRCONTEXT_PREINIT_1
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREINIT_2
|
|
bool "Pre-initialize address context 2"
|
|
default n
|
|
depends on NET_6LOWPAN_MAXADDRCONTEXT_PREINIT_1
|
|
---help---
|
|
Preinitialize any address contexts for better header compression
|
|
(Saves up to 13 bytes per 6lowpan packet). Assumes
|
|
CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 2)
|
|
|
|
if NET_6LOWPAN_MAXADDRCONTEXT_PREINIT_2
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_2_0
|
|
hex "Address context 2 Prefix 0"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 0 for address context 2 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 2)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_2_1
|
|
hex "Address context 2 Prefix 1"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 1 for address context 2 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 2)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_2_2
|
|
hex "Address context 2 Prefix 2"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 2 for address context 2 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 2)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_2_3
|
|
hex "Address context 2 Prefix 3"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 3 for address context 2 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 2)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_2_4
|
|
hex "Address context 2 Prefix 4"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 4 for address context 2 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 2)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_2_5
|
|
hex "Address context 2 Prefix 5"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 5 for address context 2 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 2)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_2_6
|
|
hex "Address context 2 Prefix 6"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 6 for address context 2 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 2)
|
|
|
|
config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_2_7
|
|
hex "Address context 2 Prefix 7"
|
|
default 0xaa
|
|
---help---
|
|
Prefix 7 for address context 2 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 2)
|
|
|
|
endif # NET_6LOWPAN_MAXADDRCONTEXT_PREINIT_2
|
|
endif # NET_6LOWPAN_COMPRESSION_HC06
|
|
|
|
config NET_6LOWPAN_EXTENDEDADDR
|
|
bool "Extended IEEE 802.15.4 address"
|
|
default n
|
|
---help---
|
|
By default, a 2-byte short address is used for the IEEE802.15.4 MAC
|
|
device's link layer address. If this option is selected, then an
|
|
8-byte extended address will be used.
|
|
|
|
All devices operating on a network have unique, 8-byte addresses,
|
|
referred to as extended addresses. A device will use either the
|
|
extended address for direct communication within the PAN or the
|
|
short 2-byte address that was allocated by the PAN coordinator when
|
|
the device associated.
|
|
|
|
config NET_6LOWPAN_MAXAGE
|
|
int "Packet reassembly timeout"
|
|
default 20
|
|
---help---
|
|
Timeout for packet reassembly at the 6lowpan layer in units of
|
|
seconds (should be < 60s)
|
|
|
|
config NET_6LOWPAN_MAX_MACTRANSMITS
|
|
int "Max MAC transmissions"
|
|
default 4
|
|
range 1 255
|
|
---help---
|
|
CONFIG_NET_6LOWPAN_MAX_MACTRANSMITS specifies how many times the MAC
|
|
layer should resend packets if no link-layer ACK was received. This
|
|
only makes sense with the csma_driver.
|
|
|
|
config NET_6LOWPAN_PKTSIZE
|
|
int "6LoWPAN packet buffer size"
|
|
default 1294
|
|
range 590 1518
|
|
---help---
|
|
Packet buffer size. This size includes the TCP/UDP payload plus the
|
|
size of TCP/UDP header, the IP header, and the Ethernet header.
|
|
This value is related to the MTU (Maximum Transmission Unit), except
|
|
that it includes the size of the link layer header; the payload is
|
|
the MSS (Maximum Segment Size). 6LoWPAN has no link layer header (at
|
|
least in the packet buffer which is only used for re-assembly). So
|
|
for 6LoWPAN the MTU is the same as the PKTSIZE.
|
|
|
|
NOTE that this option depends on fragmentation support. By
|
|
supporting fragmentation, we can handle quite large "logical" packet
|
|
sizes. Without fragmentation support, the MTU is equal to the frame
|
|
size and that has already been selected.
|
|
|
|
config NET_6LOWPAN_DUMPBUFFER
|
|
bool "Enable dumping of buffer data"
|
|
default n
|
|
depends on DEBUG_NET_INFO
|
|
---help---
|
|
Enable dumping of all packet and frame buffers coming into and out
|
|
of the 6LoWPAN logic. This will generate a large volume of data if
|
|
selected.
|
|
|
|
endif # NET_6LOWPAN
|