nuttx/net/sixlowpan/Kconfig
2017-03-28 10:47:25 -06:00

146 lines
4.2 KiB
Plaintext

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
menuconfig NET_6LOWPAN
bool "IEEE 802.15.4 6LoWPAN support"
default n
depends on EXPERIMENTAL && NET_IPv6
---help---
Enable support for IEEE 802.15.4 Low power Wireless Personal Area
Networking (6LoWPAN).
if NET_6LOWPAN
config NET_6LOWPAN_FRAG
bool "6loWPAN Fragmentation"
default y
---help---
CONFIG_NET_6LOWPAN_FRAG specifies if 6lowpan fragmentation should be
used or not. Fragmentation is on by default.
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
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 ze0ro (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_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)
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)
endif # NET_6LOWPAN_MAXADDRCONTEXT_PREINIT_0
endif # NET_6LOWPAN_COMPRESSION_HC06
config NET_SIXLOWPAN_MAXAGE
int "Packet reassembly timeout"
default 20
---help---
Timeout for packet reassembly at the 6lowpan layer (should be < 60s)
config NET_6LOWPAN_MTU
int "6LoWPAN packet buffer size (MTU)"
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 data link layer headers.
This value is normally referred to as the MTU (Maximum Transmission
Unit); the payload is the MSS (Maximum Segment Size).
IPv6 hosts are required to be able to handle an MSS of 1220 octets,
resulting in a minimum buffer size of of 1220+20+40+xx = xx. REVISIT!
config NET_6LOWPAN_TCP_RECVWNDO
int "6LoWPAN TCP receive window size"
default 1220
depends on NET_TCP
---help---
The size of the advertised receiver's window. Should be set low
(i.e., to the size of the MSS) if the application is slow to process
incoming data, or high (32768 bytes) if the application processes
data quickly. REVISIT!
endif # NET_6LOWPAN