Kconfig 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  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_IPv6
  6. menu "ICMPv6 Networking Support"
  7. config NET_ICMPv6
  8. bool "Enable ICMPv6 networking"
  9. default n
  10. depends on NET
  11. ---help---
  12. Enable minimal ICMPv6 support. Includes built-in support
  13. for sending replies to received ECHO (ping) requests.
  14. config NET_ICMPv6_NO_STACK
  15. bool "Disable ICMPv6 stack"
  16. default n
  17. select NET_ICMPv6
  18. ---help---
  19. Build without ICMPv6 stack even if ICMPv6 networking support enabled.
  20. if NET_ICMPv6 && !NET_ICMPv6_NO_STACK
  21. config NET_ICMPv6_SOCKET
  22. bool "IPPROTO_ICMP6 socket support"
  23. default n
  24. ---help---
  25. Enable support for IPPROTO_ICMP6 sockets. These sockets are needed
  26. for application level support for sending ICMPv7 ECHO requests and
  27. receiving associated ICMPv6 ECHO replies.
  28. config NET_ICMPv6_NEIGHBOR
  29. bool "Solicit destination addresses"
  30. default n
  31. ---help---
  32. Enable logic to send ICMPv6 neighbor solicitation requests if
  33. the target IPv6 address mapping does not appear in the Neighbor
  34. table.
  35. if NET_ICMPv6_NEIGHBOR
  36. config ICMPv6_NEIGHBOR_MAXTRIES
  37. int "ICMPv6 neighbor solicitation retries"
  38. default 5
  39. ---help---
  40. Send the Neighbor solicitation this number of times before giving
  41. up and deciding that the target IP6 address is non reachable.
  42. config ICMPv6_NEIGHBOR_DELAYMSEC
  43. int "ICMPv6 neighbor re-solicit delay"
  44. default 20
  45. ---help---
  46. Wait this number of milliseconds after sending the Neighbor
  47. Solicitation before checking if the IPv6 address mapping is present
  48. in the Neighbor Table. This time should be related to the maximum
  49. round trip time on the network since it is basically the time from
  50. when an Neighbor Solicitation is sent until the Neighbor
  51. Advertisement is received.
  52. endif # NET_ICMPv6_NEIGHBOR
  53. config NET_ICMPv6_AUTOCONF
  54. bool "ICMPv6 auto-configuration"
  55. default n
  56. ---help---
  57. Enable ioctl() logic that implements ICMPv6 auto configuration.
  58. ICMPv6 auto configuration is an alternative to DHCPv6 for obtaining
  59. an IPv6 address from a router.
  60. if NET_ICMPv6_AUTOCONF
  61. config ICMPv6_AUTOCONF_MAXTRIES
  62. int "ICMPv6 router solicitation retries"
  63. default 5
  64. ---help---
  65. Send the Router solicitation this number of times before giving
  66. up and deciding that no router is going to provide an IP address.
  67. config ICMPv6_AUTOCONF_DELAYMSEC
  68. int "ICMPv6 router re-solicit delay"
  69. default 20
  70. ---help---
  71. Wait this number of milliseconds before re-sending the Router
  72. Solicitation. This time should be related to the maximum
  73. round trip time on the network since it is basically the time from
  74. when an Router Solicitation is sent until the Router
  75. Advertisement is received.
  76. endif # NET_ICMPv6_AUTOCONF
  77. config NET_ICMPv6_ROUTER
  78. bool "Router Advertisement"
  79. default n
  80. ---help---
  81. In a router-less environment, NuttX can be configured to provide a
  82. response to Router Solicitation messages and, hence, providing
  83. addressing to IPv6 nodes on the network.
  84. if NET_ICMPv6_ROUTER
  85. config NET_ICMPv6_ROUTER_MANUAL
  86. bool "Manual router prefix"
  87. default n
  88. ---help---
  89. Select this to set the advertised router prefix manually. Otherwise, it
  90. will be derived from the device IPv6 address and prefix length set in
  91. the netdev structure.
  92. if NET_ICMPv6_ROUTER_MANUAL
  93. config NET_ICMPv6_PREFLEN
  94. int "Prefix length"
  95. default 64
  96. range 0 128
  97. ---help---
  98. The length (in bits) of the IPv6 address prefix. This is the number
  99. of MS bits under the network mask. The default of 64 would
  100. correspond to a network mask of:
  101. 0xffff:0xffff:0xffff:0xffff:0x0000:0x0000:0x0000:0x0000.
  102. comment "Router Prefix"
  103. config NET_ICMPv6_PREFIX_1
  104. hex "[0]"
  105. default 0xfc00
  106. range 0x0 0xffff
  107. ---help---
  108. This the IPv6 address prefix that will be provided in the IPv6 Router
  109. Advertisement message. This is the first of the 8-values. The
  110. default for all eight values is fc00::0.
  111. config NET_ICMPv6_PREFIX_2
  112. hex "[1]"
  113. default 0x0000
  114. range 0x0 0xffff
  115. ---help---
  116. This the IPv6 address prefix that will be provided in the IPv6 Router
  117. Advertisement message. This is the second of the 8-values. The
  118. default for all eight values is fc00::0.
  119. config NET_ICMPv6_PREFIX_3
  120. hex "[2]"
  121. default 0x0000
  122. range 0x0 0xffff
  123. ---help---
  124. This the IPv6 address prefix that will be provided in the IPv6 Router
  125. Advertisement message. This is the third of the 8-values. The
  126. default for all eight values is fc00::0.
  127. config NET_ICMPv6_PREFIX_4
  128. hex "[3]"
  129. default 0x0000
  130. range 0x0 0xffff
  131. ---help---
  132. This the IPv6 address prefix that will be provided in the IPv6 Router
  133. Advertisement message. This is the fourth of the 8-values. The
  134. default for all eight values is fc00::0.
  135. config NET_ICMPv6_PREFIX_5
  136. hex "[4]"
  137. default 0x0000
  138. range 0x0 0xffff
  139. ---help---
  140. This the IPv6 address prefix that will be provided in the IPv6 Router
  141. Advertisement message. This is the fifth of the 8-values. The
  142. default for all eight values is fc00::0.
  143. config NET_ICMPv6_PREFIX_6
  144. hex "[5]"
  145. default 0x0000
  146. range 0x0 0xffff
  147. ---help---
  148. This the IPv6 address prefix that will be provided in the IPv6 Router
  149. Advertisement message. This is the sixth of the 8-values. The
  150. default for all eight values is fc00::0.
  151. config NET_ICMPv6_PREFIX_7
  152. hex "[6]"
  153. default 0x0000
  154. range 0x0 0xffff
  155. ---help---
  156. This the IPv6 address prefix that will be provided in the IPv6 Router
  157. Advertisement message. This is the seventh of the 8-values. The
  158. default for all eight values is fc00::0.
  159. config NET_ICMPv6_PREFIX_8
  160. hex "[7]"
  161. default 0x0000
  162. range 0x0 0xffff
  163. ---help---
  164. This the IPv6 address prefix that will be provided in the IPv6 Router
  165. Advertisement message. This is the last of the 8-values. The
  166. default for all eight values is fc00::0.
  167. endif # NET_ICMPv6_ROUTER_MANUAL
  168. endif # NET_ICMPv6_ROUTER
  169. if NET_ICMPv6_SOCKET
  170. config NET_ICMPv6_NCONNS
  171. int "Max ICMPv6 packet sockets"
  172. default 4
  173. depends on MM_IOB
  174. endif # NET_ICMPv6_SOCKET
  175. endif # NET_ICMPv6 && !NET_ICMPv6_NO_STACK
  176. endmenu # ICMPv6 Networking Support
  177. endif # NET_IPv6