1# Bluetooth mesh configuration options 2 3# Copyright (c) 2017 Intel Corporation 4# SPDX-License-Identifier: Apache-2.0 5 6menuconfig BT_MESH 7 bool "Bluetooth mesh support" 8 select TINYCRYPT 9 select TINYCRYPT_AES 10 select TINYCRYPT_AES_CMAC 11 select BT_HOST_CCM 12 depends on BT_OBSERVER && BT_BROADCASTER 13 help 14 This option enables Bluetooth mesh support. The specific 15 features that are available may depend on other features 16 that have been enabled in the stack, such as GATT support. 17 18if BT_MESH 19 20# Virtual option enabled whenever Generic Provisioning layer is needed 21config BT_MESH_PROV 22 bool 23 24config BT_MESH_PROV_DEVICE 25 bool "Provisioning device role support" 26 depends on BT_MESH_PROV 27 default y 28 help 29 Enable this option to allow the device to be provisioned into a mesh network. 30 31config BT_MESH_PROV_OOB_PUBLIC_KEY 32 bool "OOB Public key support" 33 select TINYCRYPT_ECC_DH 34 depends on BT_MESH_PROV_DEVICE 35 help 36 Enable this option if public key is to be exchanged via Out of Band (OOB) technology. 37 38config BT_MESH_PB_ADV 39 bool "Provisioning support using the advertising bearer (PB-ADV)" 40 select BT_MESH_PROV 41 default y 42 help 43 Enable this option to allow the device to be provisioned over 44 the advertising bearer. 45 46config BT_MESH_UNPROV_BEACON_INT 47 int 48 prompt "The interval (in seconds) to send the unprovisioned beacon" if BT_MESH_PB_ADV 49 default 5 50 range 1 10 51 help 52 This option specifies the interval (in seconds) at which the 53 device sends unprovisioned beacon. 54 55config BT_MESH_PB_ADV_RETRANS_TIMEOUT 56 int "Timeout value of retransmit provisioning PDUs" 57 default 500 58 range 100 800 59 help 60 Timeout value of retransmit provisioning PDUs. 61 62config BT_MESH_PROVISIONER 63 bool "Provisioner support" 64 depends on BT_MESH_PROV 65 depends on BT_MESH_PB_ADV 66 help 67 Enable this option to have support for provisioning remote devices. 68 69config BT_MESH_CDB 70 bool "Mesh Configuration Database [EXPERIMENTAL]" 71 default y if BT_MESH_PROVISIONER 72 73if BT_MESH_CDB 74 75config BT_MESH_CDB_NODE_COUNT 76 int "Maximum number of nodes in the database" 77 default 8 78 range 1 4096 79 help 80 This option specifies how many nodes each network can at most 81 save in the configuration database. 82 83config BT_MESH_CDB_SUBNET_COUNT 84 int "Maximum number of subnets in the database" 85 default 1 86 range 1 4096 87 help 88 This option specifies how many subnets that can at most be 89 saved in the configuration database. 90 91config BT_MESH_CDB_APP_KEY_COUNT 92 int "Maximum number of application keys in the database" 93 default 1 94 range 1 4096 95 help 96 This option specifies how many application keys that can at most 97 be saved in the configuration database. 98 99endif # BT_MESH_CDB 100 101if BT_CONN 102 103# Virtual option enabled whenever any Proxy protocol is needed 104config BT_MESH_PROXY 105 bool 106 107config BT_MESH_GATT 108 bool 109 110config BT_MESH_GATT_SERVER 111 bool 112 select BT_MESH_GATT 113 select BT_GATT_DYNAMIC_DB 114 115config BT_MESH_PB_GATT 116 bool "Provisioning support using GATT (PB-GATT)" 117 select BT_MESH_GATT_SERVER 118 select BT_MESH_PROV 119 help 120 Enable this option to allow the device to be provisioned over 121 GATT. 122 123config BT_MESH_GATT_PROXY 124 bool "GATT Proxy Service support" 125 select BT_MESH_GATT_SERVER 126 select BT_MESH_PROXY 127 help 128 This option enables support for the Mesh GATT Proxy Service, 129 i.e. the ability to act as a proxy between a Mesh GATT Client 130 and a Mesh network. 131 132config BT_MESH_GATT_PROXY_ENABLED 133 bool "GATT Proxy enabled" 134 depends on BT_MESH_GATT_PROXY 135 default y 136 help 137 Controls whether the GATT Proxy feature is enabled by default. 138 Can be changed through runtime configuration. 139 140config BT_MESH_NODE_ID_TIMEOUT 141 int "Node Identity advertising timeout" 142 depends on BT_MESH_GATT_PROXY 143 range 1 60 144 default 60 145 help 146 This option determines for how long the local node advertises 147 using Node Identity. The given value is in seconds. The 148 specification limits this to 60 seconds, and implies that to 149 be the appropriate value as well, so just leaving this as the 150 default is the safest option. 151 152config BT_MESH_PROXY_USE_DEVICE_NAME 153 bool "Include Bluetooth device name in scan response" 154 depends on BT_MESH_GATT_PROXY 155 help 156 This option includes GAP device name in scan response when 157 the GATT Proxy feature is enabled. 158 159config BT_MESH_PROXY_FILTER_SIZE 160 int "Maximum number of filter entries per Proxy Client" 161 default 3 if BT_MESH_GATT_PROXY 162 default 1 163 range 1 32767 164 depends on BT_MESH_GATT_SERVER 165 help 166 This option specifies how many Proxy Filter entries the local 167 node supports. 168 169endif # BT_CONN 170 171config BT_MESH_ACCESS_LAYER_MSG 172 bool "Enable direct Bluetooth message access layer messages" 173 help 174 This option allows the applicaiton to directly access 175 Bluetooth access layer messages without the need to 176 instantiate Bluetooth mesh models. 177 178config BT_MESH_SELF_TEST 179 bool "Perform self-tests" 180 help 181 This option adds extra self-tests which are run every time 182 mesh networking is initialized. 183 184config BT_MESH_IV_UPDATE_TEST 185 bool "Test the IV Update Procedure" 186 help 187 This option removes the 96 hour limit of the IV Update 188 Procedure and lets the state be changed at any time. 189 190config BT_MESH_SUBNET_COUNT 191 int "Maximum number of mesh subnets per network" 192 default 1 193 range 1 4096 194 help 195 This option specifies how many subnets a Mesh network can 196 participate in at the same time. 197 198config BT_MESH_APP_KEY_COUNT 199 int "Maximum number of application keys per network" 200 default 1 201 range 1 4096 202 help 203 This option specifies how many application keys the device can 204 store per network. 205 206config BT_MESH_MODEL_KEY_COUNT 207 int "Maximum number of application keys per model" 208 default 1 209 range 1 4096 210 help 211 This option specifies how many application keys each model can 212 at most be bound to. 213 214config BT_MESH_MODEL_GROUP_COUNT 215 int "Maximum number of group address subscriptions per model" 216 default 1 217 range 1 4096 218 help 219 This option specifies how many group addresses each model can 220 at most be subscribed to. 221 222config BT_MESH_MODEL_VND_MSG_CID_FORCE 223 bool "Force vendor model to use the corresponding CID field message" 224 default y 225 help 226 This option forces vendor model to use messages for the 227 corresponding CID field. 228 229config BT_MESH_LABEL_COUNT 230 int "Maximum number of Label UUIDs used for Virtual Addresses" 231 default 1 232 range 0 4096 233 help 234 This option specifies how many Label UUIDs can be stored. 235 236config BT_MESH_CRPL 237 int "Maximum capacity of the replay protection list" 238 default 10 239 range 2 65535 240 help 241 This options specifies the maximum capacity of the replay 242 protection list. This option is similar to the network message 243 cache size, but has a different purpose. 244 245config BT_MESH_MSG_CACHE_SIZE 246 int "Network message cache size" 247 default 10 248 range 2 65535 249 help 250 Number of messages that are cached for the network. This helps 251 prevent unnecessary decryption operations and unnecessary 252 relays. This option is similar to the replay protection list, 253 but has a different purpose. 254 255config BT_MESH_ADV_BUF_COUNT 256 int "Number of advertising buffers" 257 default 6 258 range 1 256 259 help 260 Number of advertising buffers available. This should be chosen 261 based on what kind of features the local node should have. E.g. 262 a relay will perform better the more buffers it has. Another 263 thing to consider is outgoing segmented messages. There must 264 be at least three more advertising buffers than the maximum 265 supported outgoing segment count (BT_MESH_TX_SEG_MAX). 266 267choice BT_MESH_ADV 268 prompt "Advertiser mode" 269 default BT_MESH_ADV_EXT if BT_EXT_ADV 270 default BT_MESH_ADV_LEGACY 271 272config BT_MESH_ADV_LEGACY 273 bool "Legacy advertising" 274 help 275 Use legacy advertising commands for mesh sending. Legacy 276 advertising is significantly slower than the extended advertising, but 277 is supported by all controllers. 278 279config BT_MESH_ADV_EXT 280 bool "Extended advertising" 281 depends on BT_CTLR_ADV_EXT || !BT_CTLR 282 depends on BT_EXT_ADV 283 help 284 Use extended advertising commands for operating the advertiser. 285 Extended advertising is faster and uses less memory than legacy 286 advertising, but isn't supported by all controllers. 287 288endchoice 289 290config BT_MESH_ADV_STACK_SIZE 291 int "Mesh advertiser thread stack size" 292 depends on BT_MESH_ADV_LEGACY 293 default 1024 if BT_HOST_CRYPTO 294 default 768 295 help 296 Size of bt mesh adv thread stack. 297 298 NOTE: This is an advanced setting and should not be changed unless 299 absolutely necessary 300 301config BT_MESH_ADV_PRIO 302 int "Mesh advertiser thread priority" 303 depends on BT_MESH_ADV_LEGACY 304 default 7 305 help 306 Priority of bt mesh adv thread. 307 308 NOTE: This is an advanced setting and should not be changed unless 309 absolutely necessary 310 311config BT_MESH_IV_UPDATE_SEQ_LIMIT 312 hex "Sequence number limit to start iv update" 313 default 0x800000 314 range 0x000001 0xFFFFFE 315 help 316 This option specifies the sequence number value to start iv update. 317 318config BT_MESH_IVU_DIVIDER 319 int "Divider for IV Update state refresh timer" 320 default 4 321 range 2 96 322 help 323 When the IV Update state enters Normal operation or IV Update 324 in Progress, we need to keep track of how many hours has passed 325 in the state, since the specification requires us to remain in 326 the state at least for 96 hours (Update in Progress has an 327 additional upper limit of 144 hours). 328 329 In order to fulfill the above requirement, even if the node might 330 be powered off once in a while, we need to store persistently 331 how many hours the node has been in the state. This doesn't 332 necessarily need to happen every hour (thanks to the flexible 333 duration range). The exact cadence will depend a lot on the 334 ways that the node will be used and what kind of power source it 335 has. 336 337 Since there is no single optimal answer, this configuration 338 option allows specifying a divider, i.e. how many intervals 339 the 96 hour minimum gets split into. After each interval the 340 duration that the node has been in the current state gets 341 stored to flash. E.g. the default value of 4 means that the 342 state is saved every 24 hours (96 / 4). 343 344config BT_MESH_TX_SEG_MSG_COUNT 345 int "Maximum number of simultaneous outgoing segmented messages" 346 default 1 347 range 1 255 348 help 349 Maximum number of simultaneous outgoing multi-segment and/or 350 reliable messages. 351 352config BT_MESH_RX_SEG_MSG_COUNT 353 int "Maximum number of simultaneous incoming segmented messages" 354 default 1 355 range 1 255 356 help 357 Maximum number of simultaneous incoming multi-segment and/or 358 reliable messages. 359 360config BT_MESH_SEG_BUFS 361 int "Number of segment buffers available" 362 default 64 363 range BT_MESH_RX_SEG_MAX 16384 if BT_MESH_RX_SEG_MAX > \ 364 BT_MESH_TX_SEG_MAX 365 range BT_MESH_TX_SEG_MAX 16384 366 help 367 The incoming and outgoing segmented messages allocate their 368 segments from the same pool. Each segment is a 12 byte block, 369 and may only be used by one message at the time. 370 371 Outgoing messages will allocate their segments at the start of the 372 transmission, and release them one by one as soon as they have been 373 acknowledged by the receiver. Incoming messages allocate all their 374 segments at the start of the transaction, and won't release them until 375 the message is fully received. 376 377config BT_MESH_RX_SEG_MAX 378 int "Maximum number of segments in incoming messages" 379 default 3 380 range 2 32 381 help 382 Maximum number of segments supported for incoming messages. 383 This value should typically be fine-tuned based on what 384 models the local node supports, i.e. what's the largest 385 message payload that the node needs to be able to receive. 386 This value affects memory and call stack consumption, which 387 is why the default is lower than the maximum that the 388 specification would allow (32 segments). 389 390 The maximum incoming SDU size is 12 times this number (out of 391 which 4 or 8 bytes is used for the Transport Layer MIC). For 392 example, 5 segments means the maximum SDU size is 60 bytes, 393 which leaves 56 bytes for application layer data using a 394 4-byte MIC and 52 bytes using an 8-byte MIC. 395 396config BT_MESH_TX_SEG_MAX 397 int "Maximum number of segments in outgoing messages" 398 default 3 399 range 2 32 400 help 401 Maximum number of segments supported for outgoing messages. 402 This value should typically be fine-tuned based on what 403 models the local node supports, i.e. what's the largest 404 message payload that the node needs to be able to send. 405 This value affects memory consumption, which is why the 406 default is lower than the maximum that the specification 407 would allow (32 segments). 408 409 The maximum outgoing SDU size is 12 times this number (out of 410 which 4 or 8 bytes is used for the Transport Layer MIC). For 411 example, 5 segments means the maximum SDU size is 60 bytes, 412 which leaves 56 bytes for application layer data using a 413 4-byte MIC and 52 bytes using an 8-byte MIC. 414 415config BT_MESH_DEFAULT_TTL 416 int "Default TTL value" 417 default 7 418 range 0 128 419 help 420 Controls the default TTL value for outgoing messages. Can be changed 421 through runtime configuration. 422 423config BT_MESH_LOOPBACK_BUFS 424 int "Number of loopback buffers" 425 default 3 426 help 427 The number of buffers allocated for the network loopback mechanism. 428 Loopback is used when the device sends messages to itself. 429 430config BT_MESH_TX_SEG_RETRANS_COUNT 431 int "Transport message segment retransmit attempts" 432 default 4 433 range 1 8 434 help 435 Maximum number of transport message segment retransmit attempts 436 for outgoing segment message. 437 438config BT_MESH_TX_SEG_RETRANS_TIMEOUT_UNICAST 439 int "Transport message segment retransmit interval for unicast messages" 440 default 400 441 range 200 500 442 help 443 Maximum time of retransmit segment message to unicast address. 444 445config BT_MESH_TX_SEG_RETRANS_TIMEOUT_GROUP 446 int "Transport message segment retransmit interval for group messages" 447 default 50 448 range 20 200 449 help 450 Maximum time of retransmit segment message to group address. 451 452config BT_MESH_NETWORK_TRANSMIT_COUNT 453 int "Network Transmit Count" 454 default 2 455 range 0 7 456 help 457 Controls the initial number of retransmissions of original messages, 458 in addition to the first transmission. Can be changed through runtime 459 configuration. 460 461config BT_MESH_NETWORK_TRANSMIT_INTERVAL 462 int "Network Transmit Interval" 463 default 20 464 range 10 330 465 help 466 Controls the initial interval between retransmissions of original 467 messages, in milliseconds. Can be changed through runtime 468 configuration. 469 470menuconfig BT_MESH_RELAY 471 bool "Relay support" 472 help 473 Support for acting as a Mesh Relay Node. 474 475if BT_MESH_RELAY 476 477config BT_MESH_RELAY_ENABLED 478 bool "Relay enabled" 479 default y 480 help 481 Controls whether the Mesh Relay feature is enabled by default. Can be 482 changed through runtime configuration. 483 484config BT_MESH_RELAY_RETRANSMIT_COUNT 485 int "Relay Retransmit Count" 486 default 2 487 range 0 7 488 help 489 Controls the initial number of retransmissions of relayed messages, in 490 addition to the first transmission. Can be changed through runtime 491 configuration. 492 493config BT_MESH_RELAY_RETRANSMIT_INTERVAL 494 int "Relay Retransmit Interval" 495 default 20 496 range 10 330 497 help 498 Controls the initial interval between retransmissions of relayed 499 messages, in milliseconds. Can be changed through runtime 500 configuration. 501 502endif 503 504config BT_MESH_BEACON_ENABLED 505 bool "Secure network beacon enabled" 506 default y 507 help 508 Controls whether the Secure network beacon feature is enabled by 509 default. Can be changed through runtime configuration. 510 511config BT_MESH_LOW_POWER 512 bool "Support for Low Power features" 513 help 514 Enable this option to be able to act as a Low Power Node. 515 516if BT_MESH_LOW_POWER 517 518config BT_MESH_LPN_ESTABLISHMENT 519 bool "Perform Friendship establishment using low power" 520 default y 521 help 522 Perform the Friendship establishment using low power, with 523 the help of a reduced scan duty cycle. The downside of this 524 is that the node may miss out on messages intended for it 525 until it has successfully set up Friendship with a Friend 526 node. 527 528config BT_MESH_LPN_AUTO 529 bool "Automatically start looking for Friend nodes once provisioned" 530 default y 531 help 532 Automatically enable LPN functionality once provisioned and start 533 looking for Friend nodes. If this option is disabled LPN mode 534 needs to be manually enabled by calling bt_mesh_lpn_set(true). 535 536config BT_MESH_LPN_AUTO_TIMEOUT 537 int "Time from last received message before going to LPN mode" 538 default 15 539 range 0 3600 540 depends on BT_MESH_LPN_AUTO 541 help 542 Time in seconds from the last received message, that the node 543 will wait before starting to look for Friend nodes. 544 545config BT_MESH_LPN_RETRY_TIMEOUT 546 int "Retry timeout for Friend requests" 547 default 8 548 range 1 3600 549 help 550 Time in seconds between Friend Requests, if a previous Friend 551 Request did not receive any acceptable Friend Offers. 552 553config BT_MESH_LPN_RSSI_FACTOR 554 int "RSSIFactor, used in the Friend Offer Delay calculation" 555 range 0 3 556 default 0 557 help 558 The contribution of the RSSI measured by the Friend node used 559 in Friend Offer Delay calculations. 0 = 1, 1 = 1.5, 2 = 2, 3 = 2.5. 560 561config BT_MESH_LPN_RECV_WIN_FACTOR 562 int "ReceiveWindowFactor, used in the Friend Offer Delay calculation" 563 range 0 3 564 default 0 565 help 566 The contribution of the supported Receive Window used in 567 Friend Offer Delay calculations. 0 = 1, 1 = 1.5, 2 = 2, 3 = 2.5. 568 569config BT_MESH_LPN_MIN_QUEUE_SIZE 570 int "Minimum size of acceptable friend queue (MinQueueSizeLog)" 571 range 1 7 572 default 1 573 help 574 The MinQueueSizeLog field is defined as log_2(N), where N is 575 the minimum number of maximum size Lower Transport PDUs that 576 the Friend node can store in its Friend Queue. As an example, 577 MinQueueSizeLog value 1 gives N = 2, and value 7 gives N = 128. 578 579config BT_MESH_LPN_RECV_DELAY 580 int "Receive delay requested by the local node" 581 range 10 255 582 default 100 583 help 584 The ReceiveDelay is the time between the Low Power node 585 sending a request and listening for a response. This delay 586 allows the Friend node time to prepare the response. The value 587 is in units of milliseconds. 588 589config BT_MESH_LPN_POLL_TIMEOUT 590 int "The value of the PollTimeout timer" 591 range 10 244735 592 default 300 593 help 594 PollTimeout timer is used to measure time between two 595 consecutive requests sent by the Low Power node. If no 596 requests are received by the Friend node before the 597 PollTimeout timer expires, then the friendship is considered 598 terminated. The value is in units of 100 milliseconds, so e.g. 599 a value of 300 means 30 seconds. 600 601config BT_MESH_LPN_INIT_POLL_TIMEOUT 602 int "The starting value of the PollTimeout timer" 603 range 10 BT_MESH_LPN_POLL_TIMEOUT 604 default BT_MESH_LPN_POLL_TIMEOUT 605 help 606 The initial value of the PollTimeout timer when Friendship 607 gets established for the first time. After this the timeout 608 will gradually grow toward the actual PollTimeout, doubling 609 in value for each iteration. The value is in units of 100 610 milliseconds, so e.g. a value of 300 means 30 seconds. 611 612config BT_MESH_LPN_SCAN_LATENCY 613 int "Latency for enabling scanning" 614 range 0 50 615 default 10 616 help 617 Latency in milliseconds that it takes to enable scanning. This 618 is in practice how much time in advance before the Receive Window 619 that scanning is requested to be enabled. 620 621config BT_MESH_LPN_GROUPS 622 int "Number of groups the LPN can subscribe to" 623 range 0 16384 624 default 8 625 help 626 Maximum number of groups that the LPN can subscribe to. 627 628config BT_MESH_LPN_SUB_ALL_NODES_ADDR 629 bool "Automatically subscribe all nodes address" 630 help 631 Automatically subscribe all nodes address when friendship 632 established. 633 634endif # BT_MESH_LOW_POWER 635 636config BT_MESH_FRIEND 637 bool "Support for acting as a Friend Node" 638 help 639 Enable this option to be able to act as a Friend Node. 640 641if BT_MESH_FRIEND 642 643config BT_MESH_FRIEND_ENABLED 644 bool "Friend feature enabled" 645 default y 646 help 647 Controls whether the Friend feature is enabled by default. Can be 648 changed through runtime configuration. 649 650config BT_MESH_FRIEND_RECV_WIN 651 int "Friend Receive Window" 652 range 1 255 653 default 255 654 help 655 Receive Window in milliseconds supported by the Friend node. 656 657config BT_MESH_FRIEND_QUEUE_SIZE 658 int "Minimum number of buffers supported per Friend Queue" 659 range 2 65536 660 default 16 661 help 662 Minimum number of buffers available to be stored for each 663 local Friend Queue. 664 665config BT_MESH_FRIEND_SUB_LIST_SIZE 666 int "Friend Subscription List Size" 667 range 0 1023 668 default 3 669 help 670 Size of the Subscription List that can be supported by a 671 Friend node for a Low Power node. 672 673config BT_MESH_FRIEND_LPN_COUNT 674 int "Number of supported LPN nodes" 675 range 1 1000 676 default 2 677 help 678 Number of Low Power Nodes the Friend can have a Friendship 679 with simultaneously. 680 681config BT_MESH_FRIEND_SEG_RX 682 int "Number of incomplete segment lists per LPN" 683 range 1 1000 684 default 1 685 help 686 Number of incomplete segment lists that we track for each LPN 687 that we are Friends for. In other words, this determines how 688 many elements we can simultaneously be receiving segmented 689 messages from when the messages are going into the Friend queue. 690 691endif # BT_MESH_FRIEND 692 693config BT_MESH_CFG_CLI 694 bool "Support for Configuration Client Model" 695 help 696 Enable support for the configuration client model. 697 698config BT_MESH_HEALTH_CLI 699 bool "Support for Health Client Model" 700 help 701 Enable support for the health client model. 702 703config BT_MESH_SHELL 704 bool "Enable Bluetooth mesh shell" 705 select SHELL 706 depends on BT_MESH_CFG_CLI 707 depends on BT_MESH_HEALTH_CLI 708 help 709 Activate shell module that provides Bluetooth mesh commands to 710 the console. 711 712config BT_MESH_MODEL_EXTENSIONS 713 bool "Support for Model extensions" 714 help 715 Enable support for the model extension concept, allowing the Access 716 layer to know about mesh model relationships. 717 718if BT_SETTINGS 719 720config BT_MESH_STORE_TIMEOUT 721 int "Delay (in seconds) before storing anything persistently" 722 range 0 1000000 723 default 2 724 help 725 This value defines in seconds how soon any pending changes 726 are actually written into persistent storage (flash) after 727 a change occurs. 728 729config BT_MESH_SEQ_STORE_RATE 730 int "How often the sequence number gets updated in storage" 731 range 0 1000000 732 default 128 733 help 734 This value defines how often the local sequence number gets 735 updated in persistent storage (i.e. flash). E.g. a value of 100 736 means that the sequence number will be stored to flash on every 737 100th increment. If the node sends messages very frequently a 738 higher value makes more sense, whereas if the node sends 739 infrequently a value as low as 0 (update storage for every 740 increment) can make sense. When the stack gets initialized it 741 will add this number to the last stored one, so that it starts 742 off with a value that's guaranteed to be larger than the last 743 one used before power off. 744 745config BT_MESH_RPL_STORE_TIMEOUT 746 int "Minimum interval after which unsaved RPL entries are updated in storage" 747 range -1 1000000 748 default 5 749 help 750 This value defines in seconds how soon unsaved RPL entries 751 gets written to the persistent storage. Setting this value 752 to a large number may lead to security vulnerabilities if a node 753 gets powered off before the timer is fired. When flash is used 754 as the persistent storage setting this value to a low number 755 may wear out flash sooner or later. However, if the RPL gets 756 updated infrequently a value as low as 0 (write immediately) 757 may make sense. Setting this value to -1 will disable this timer. 758 In this case, a user is responsible to store pending RPL entries 759 using @ref bt_mesh_rpl_pending_store. In the mean time, when 760 IV Index is updated, the outdated RPL entries will still be 761 stored by @ref BT_MESH_STORE_TIMEOUT. Finding the right balance 762 between this timeout and calling @ref bt_mesh_rpl_pending_store 763 may reduce a risk of security vulnerability and flash wear out. 764 765endif # BT_SETTINGS 766 767config BT_MESH_DEBUG 768 bool "Enable debug logs" 769 depends on BT_DEBUG 770 help 771 Use this option to enable debug logs for the Bluetooth 772 Mesh functionality. 773 774if BT_MESH_DEBUG 775 776config BT_MESH_DEBUG_USE_ID_ADDR 777 bool "Use identity address for all advertising" 778 help 779 This option forces the usage of the local identity address for 780 all advertising. This can be a help for debugging (analyzing 781 traces), however it should never be enabled for a production 782 build as it compromises the privacy of the device. 783 784config BT_MESH_DEBUG_NET 785 bool "Network layer debug" 786 help 787 Use this option to enable Network layer debug logs for the 788 Bluetooth mesh functionality. 789 790config BT_MESH_DEBUG_RPL 791 bool "Replay protection list debug" 792 help 793 Use this option to enable Replay protection list debug logs 794 for the Bluetooth mesh functionality. 795 796config BT_MESH_DEBUG_TRANS 797 bool "Transport layer debug" 798 help 799 Use this option to enable Transport layer debug logs for the 800 Bluetooth mesh functionality. 801 802config BT_MESH_DEBUG_BEACON 803 bool "Beacon debug" 804 help 805 Use this option to enable Beacon-related debug logs for the 806 Bluetooth mesh functionality. 807 808config BT_MESH_DEBUG_CRYPTO 809 bool "Crypto debug" 810 help 811 Use this option to enable cryptographic debug logs for the 812 Bluetooth mesh functionality. 813 814config BT_MESH_DEBUG_KEYS 815 bool "Key management debug" 816 help 817 Use this option to enable key management debug logs for the 818 Bluetooth mesh functionality. 819 820config BT_MESH_DEBUG_PROV 821 bool "Provisioning debug" 822 help 823 Use this option to enable Provisioning debug logs for the 824 Bluetooth mesh functionality. 825 826config BT_MESH_DEBUG_PROVISIONER 827 bool "Provisioner debug" 828 help 829 Use this option to enable Provisioner debug logs for the 830 Bluetooth mesh functionality. 831 832config BT_MESH_DEBUG_ACCESS 833 bool "Access layer debug" 834 help 835 Use this option to enable Access layer and device composition 836 related debug logs for Bluetooth mesh. 837 838config BT_MESH_DEBUG_MODEL 839 bool "Foundation model debug" 840 help 841 Use this option to enable debug logs for the Foundation 842 Models. 843 844config BT_MESH_DEBUG_ADV 845 bool "Advertising debug" 846 help 847 Use this option to enable advertising debug logs for 848 the Bluetooth mesh functionality. 849 850config BT_MESH_DEBUG_LOW_POWER 851 bool "Low Power debug" 852 help 853 Use this option to enable Low Power debug logs for the 854 Bluetooth mesh functionality. 855 856config BT_MESH_DEBUG_FRIEND 857 bool "Friend debug" 858 help 859 Use this option to enable Friend debug logs for the 860 Bluetooth mesh functionality. 861 862config BT_MESH_DEBUG_PROXY 863 bool "Proxy debug" 864 depends on BT_MESH_GATT 865 help 866 Use this option to enable Proxy protocol debug logs. 867 868config BT_MESH_DEBUG_SETTINGS 869 bool "Persistent settings debug" 870 depends on BT_SETTINGS 871 help 872 Use this option to enable persistent settings debug logs. 873 874config BT_MESH_DEBUG_CDB 875 bool "Configuration database debug" 876 depends on BT_MESH_CDB 877 help 878 Use this option to enable configuration database debug logs. 879 880config BT_MESH_DEBUG_CFG 881 bool "Configuration debug" 882 help 883 Use this option to enable node configuration debug logs for the 884 Bluetooth mesh functionality. 885 886endif # BT_MESH_DEBUG 887 888endif # BT_MESH 889