Kconfig 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. #
  2. # For a description of the syntax of this configuration file,
  3. # see the file kconfig-language.txt in the NuttX tools repository.
  4. #
  5. if NET_6LOWPAN
  6. config NET_6LOWPAN_NREASSBUF
  7. int "Number of preallocated reassembly buffers"
  8. default 2
  9. ---help---
  10. Large IPv6 packets will be fragmented by 6LoWPAN into multiple
  11. frames and reconstitued into a reassembly buffer on the receiving
  12. side. Each concurrent reassembly requires one buffer. Reassembly
  13. buffers are large: The size of the 6LoWPAN MTU plus some overhead
  14. for the reassembly state.
  15. Some reassembly buffers may be preallocated; some may be allocated
  16. dynamically from the stack. The former require more static memory
  17. usage; the later require additional CPU cycles to perform the
  18. allocation and may effect deterministic behavior. So this is a
  19. trade-off between resources and performance. If the number of pre-
  20. allocated reassembly buffers are exhausted, the reassembly will
  21. continue with dynamically allocated reassembly buffers.
  22. This behavior can be changed with CONFIG_NET_6LOWPAN_REASS_STATIC
  23. config NET_6LOWPAN_REASS_STATIC
  24. bool "Static reassembly buffers"
  25. default n
  26. ---help---
  27. By default, reassembly buffers may be allocated dynamically from the
  28. stack when all of the statically allocation reassembly buffers are
  29. in use. This will require additional CPU cycles to perform the
  30. allocation and may effect deterministic behavior. This option may
  31. be selected to suppress all dynamica allocation of reassembly
  32. buffers. In that case, only static reassembly buffers are available;
  33. when those are exhausted, frames that require reassembly will be lost.
  34. choice
  35. prompt "6LoWPAN Compression"
  36. default NET_6LOWPAN_COMPRESSION_HC06
  37. config NET_6LOWPAN_COMPRESSION_IPv6
  38. bool "IPv6 Dispatch"
  39. ---help---
  40. Packets compression when only IPv6 dispatch is used. There is no
  41. compression in this case, all fields are sent inline. We just add
  42. the IPv6 dispatch byte before the packet.
  43. config NET_6LOWPAN_COMPRESSION_HC1
  44. bool "6LoWPAN HC1"
  45. ---help---
  46. Compress IP/UDP header using HC1 and HC_UDP
  47. config NET_6LOWPAN_COMPRESSION_HC06
  48. bool "6LoWPAN HC06"
  49. ---help---
  50. Compress IP/UDP header using HC06 compression
  51. endchoice # 6LoWPAN Compression
  52. config NET_6LOWPAN_COMPRESSION_THRESHOLD
  53. int "Lower compression threshold"
  54. default 63
  55. depends on !NET_6LOWPAN_COMPRESSION_IPv6
  56. ---help---
  57. CONFIG_NET_6LOWPAN_COMPRESSION_THRESHOLD sets a lower threshold for
  58. when packets should not be compressed.
  59. config NET_6LOWPAN_MINPORT
  60. hex "Minimum port number"
  61. default 0xf0b0
  62. depends on NET_6LOWPAN_COMPRESSION_HC1
  63. ---help---
  64. HC1 compression of UDP headersis feasible only if both src and dest
  65. ports are between CONFIG_NET_6LOWPAN_MINPORT and
  66. CONFIG_NET_6LOWPAN_MINPORT + 15, inclusive.
  67. All nodes must agree on the value of CONFIG_NET_6LOWPAN_MINPORT
  68. if NET_6LOWPAN_COMPRESSION_HC06
  69. config NET_6LOWPAN_MAXADDRCONTEXT
  70. int "Maximum address contexts"
  71. default 1
  72. ---help---
  73. If we use IPHC compression, how many address contexts do we support?
  74. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_0_0
  75. hex "Address context 0 Prefix 0"
  76. default 0xaa
  77. ---help---
  78. Prefix 0 for address context zero (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 0)
  79. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_0_1
  80. hex "Address context 0 Prefix 1"
  81. default 0xaa
  82. ---help---
  83. Prefix 1 for address context 0 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 0)
  84. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_0_2
  85. hex "Address context 0 Prefix 2"
  86. default 0xaa
  87. ---help---
  88. Prefix 2 for address context 0 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 0)
  89. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_0_3
  90. hex "Address context 0 Prefix 3"
  91. default 0xaa
  92. ---help---
  93. Prefix 3 for address context 0 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 0)
  94. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_0_4
  95. hex "Address context 0 Prefix 4"
  96. default 0xaa
  97. ---help---
  98. Prefix 4 for address context 0 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 0)
  99. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_0_5
  100. hex "Address context 0 Prefix 5"
  101. default 0xaa
  102. ---help---
  103. Prefix 5 for address context 0 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 0)
  104. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_0_6
  105. hex "Address context 0 Prefix 6"
  106. default 0xaa
  107. ---help---
  108. Prefix 6 for address context 0 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 0)
  109. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_0_7
  110. hex "Address context 0 Prefix 7"
  111. default 0xaa
  112. ---help---
  113. Prefix 7 for address context 0 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 0)
  114. config NET_6LOWPAN_MAXADDRCONTEXT_PREINIT_1
  115. bool "Pre-initialize address context 1"
  116. default n
  117. ---help---
  118. Preinitialize address context 1 for better header compression
  119. (Saves up to 13 bytes per 6lowpan packet). Assumes
  120. CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 1)
  121. if NET_6LOWPAN_MAXADDRCONTEXT_PREINIT_1
  122. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_1_0
  123. hex "Address context 1 Prefix 0"
  124. default 0xaa
  125. ---help---
  126. Prefix 0 for address context 1 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 1)
  127. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_1_1
  128. hex "Address context 1 Prefix 1"
  129. default 0xaa
  130. ---help---
  131. Prefix 1 for address context 1 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 1)
  132. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_1_2
  133. hex "Address context 1 Prefix 2"
  134. default 0xaa
  135. ---help---
  136. Prefix 2 for address context 1 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 1)
  137. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_1_3
  138. hex "Address context 1 Prefix 3"
  139. default 0xaa
  140. ---help---
  141. Prefix 3 for address context 1 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 1)
  142. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_1_4
  143. hex "Address context 1 Prefix 4"
  144. default 0xaa
  145. ---help---
  146. Prefix 4 for address context 1 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 1)
  147. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_1_5
  148. hex "Address context 1 Prefix 5"
  149. default 0xaa
  150. ---help---
  151. Prefix 5 for address context 1 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 1)
  152. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_1_6
  153. hex "Address context 1 Prefix 6"
  154. default 0xaa
  155. ---help---
  156. Prefix 6 for address context 1 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 1)
  157. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_1_7
  158. hex "Address context 1 Prefix 7"
  159. default 0xaa
  160. ---help---
  161. Prefix 7 for address context 1 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 1)
  162. endif # NET_6LOWPAN_MAXADDRCONTEXT_PREINIT_1
  163. config NET_6LOWPAN_MAXADDRCONTEXT_PREINIT_2
  164. bool "Pre-initialize address context 2"
  165. default n
  166. depends on NET_6LOWPAN_MAXADDRCONTEXT_PREINIT_1
  167. ---help---
  168. Preinitialize any address contexts for better header compression
  169. (Saves up to 13 bytes per 6lowpan packet). Assumes
  170. CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 2)
  171. if NET_6LOWPAN_MAXADDRCONTEXT_PREINIT_2
  172. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_2_0
  173. hex "Address context 2 Prefix 0"
  174. default 0xaa
  175. ---help---
  176. Prefix 0 for address context 2 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 2)
  177. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_2_1
  178. hex "Address context 2 Prefix 1"
  179. default 0xaa
  180. ---help---
  181. Prefix 1 for address context 2 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 2)
  182. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_2_2
  183. hex "Address context 2 Prefix 2"
  184. default 0xaa
  185. ---help---
  186. Prefix 2 for address context 2 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 2)
  187. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_2_3
  188. hex "Address context 2 Prefix 3"
  189. default 0xaa
  190. ---help---
  191. Prefix 3 for address context 2 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 2)
  192. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_2_4
  193. hex "Address context 2 Prefix 4"
  194. default 0xaa
  195. ---help---
  196. Prefix 4 for address context 2 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 2)
  197. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_2_5
  198. hex "Address context 2 Prefix 5"
  199. default 0xaa
  200. ---help---
  201. Prefix 5 for address context 2 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 2)
  202. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_2_6
  203. hex "Address context 2 Prefix 6"
  204. default 0xaa
  205. ---help---
  206. Prefix 6 for address context 2 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 2)
  207. config NET_6LOWPAN_MAXADDRCONTEXT_PREFIX_2_7
  208. hex "Address context 2 Prefix 7"
  209. default 0xaa
  210. ---help---
  211. Prefix 7 for address context 2 (assumes CONFIG_NET_6LOWPAN_MAXADDRCONTEXT >= 2)
  212. endif # NET_6LOWPAN_MAXADDRCONTEXT_PREINIT_2
  213. endif # NET_6LOWPAN_COMPRESSION_HC06
  214. config NET_6LOWPAN_EXTENDEDADDR
  215. bool "Extended IEEE 802.15.4 address"
  216. default n
  217. ---help---
  218. By default, a 2-byte short address is used for the IEEE802.15.4 MAC
  219. device's link layer address. If this option is selected, then an
  220. 8-byte extended address will be used.
  221. All devices operating on a network have unique, 8-byte addresses,
  222. referred to as extended addresses. A device will use either the
  223. extended address for direct communication within the PAN or the
  224. short 2-byte address that was allocated by the PAN coordinator when
  225. the device associated.
  226. config NET_6LOWPAN_MAXAGE
  227. int "Packet reassembly timeout"
  228. default 20
  229. ---help---
  230. Timeout for packet reassembly at the 6lowpan layer in units of
  231. seconds (should be < 60s)
  232. config NET_6LOWPAN_MAX_MACTRANSMITS
  233. int "Max MAC transmissions"
  234. default 4
  235. range 1 255
  236. ---help---
  237. CONFIG_NET_6LOWPAN_MAX_MACTRANSMITS specifies how many times the MAC
  238. layer should resend packets if no link-layer ACK was received. This
  239. only makes sense with the csma_driver.
  240. config NET_6LOWPAN_PKTSIZE
  241. int "6LoWPAN packet buffer size"
  242. default 1294
  243. range 590 1518
  244. ---help---
  245. Packet buffer size. This size includes the TCP/UDP payload plus the
  246. size of TCP/UDP header, the IP header, and the Ethernet header.
  247. This value is related to the MTU (Maximum Transmission Unit), except
  248. that it includes the size of the link layer header; the payload is
  249. the MSS (Maximum Segment Size). 6LoWPAN has no link layer header (at
  250. least in the packet buffer which is only used for re-assembly). So
  251. for 6LoWPAN the MTU is the same as the PKTSIZE.
  252. NOTE that this option depends on fragmentation support. By
  253. supporting fragmentation, we can handle quite large "logical" packet
  254. sizes. Without fragmentation support, the MTU is equal to the frame
  255. size and that has already been selected.
  256. config NET_6LOWPAN_DUMPBUFFER
  257. bool "Enable dumping of buffer data"
  258. default n
  259. depends on DEBUG_NET_INFO
  260. ---help---
  261. Enable dumping of all packet and frame buffers coming into and out
  262. of the 6LoWPAN logic. This will generate a large volume of data if
  263. selected.
  264. endif # NET_6LOWPAN