| # Kconfig.rpl - RPL Options |
| |
| # |
| # Copyright (c) 2016 Intel Corporation. |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| # |
| |
| menuconfig NET_RPL |
| bool "Enable RPL (Ripple) support" |
| default n |
| select NET_IPV6 |
| select NET_IPV6_NBR_CACHE |
| select NET_ROUTE |
| help |
| See RFC 6550 and RFC 6551 for details. Enable this if required by |
| the network needs. |
| |
| if NET_RPL |
| |
| config NET_RPL_PREFIX |
| string "Network IPv6 prefix" |
| help |
| What is the DAG id (prefix) of the RPL network. This is only used |
| if you are creating a root node. You should specify here the full |
| IPv6 address as that is used as a root node address. |
| Example: 2001:db8::1/64 |
| |
| choice |
| prompt "Network type" |
| default NET_RPL_L2_ANY |
| default NET_RPL_L2_IEEE802154 if NET_L2_IEEE802154 |
| help |
| The type of the network that this RPL device is supporting. |
| Currently all the nodes in the network need to be the same type |
| like IEEE 802.15.4. |
| |
| config NET_RPL_L2_ANY |
| bool "Any network type" |
| |
| config NET_RPL_L2_IEEE802154 |
| bool "IEEE 802.15.4" |
| endchoice |
| |
| choice |
| prompt "Objective function" |
| default NET_RPL_MRHOF |
| help |
| The objective function to use. All RPL nodes in a DODAG |
| must use the same OF. |
| The default is MRHOF, see RFC 6719 for details. |
| Other alternative is OF0, see RFC 6552 for details. |
| |
| config NET_RPL_MRHOF |
| bool "Minimum Rank with Hysteresis, RFC 6719" |
| help |
| Choose this (MRHOF) if unsure. |
| |
| config NET_RPL_OF0 |
| bool "OF Zero, RFC 6552" |
| help |
| Objective function zero (OF0). |
| endchoice |
| |
| choice |
| prompt "Routing Metric" |
| default NET_RPL_MC_NONE |
| help |
| The routing metric to use. This must be a valid DAG Metric Container |
| Object Type. When MRH OF (RFC6719) is used with ETX, no metric |
| container must be used as the rank carries ETX directly. |
| |
| config NET_RPL_MC_NONE |
| bool "No routing metric" |
| |
| config NET_RPL_MC_ETX |
| bool "Estimated number of transmissions (ETX)" |
| |
| config NET_RPL_MC_ENERGY |
| bool "Energy based routing metric" |
| endchoice |
| |
| choice |
| prompt "Mode of operation (MOP)" |
| default NET_RPL_MOP2 |
| help |
| Mode of operation (MOP) level. |
| MOP0 : No Downward routes maintained by RPL |
| MOP1 : Non-Storing Mode of Operation |
| MOP2 : Storing Mode of Operation with no multicast support |
| MOP3 : Storing Mode of Operation with multicast support |
| See RFC 6550 ch. 6.3.1 figure 15 for details. |
| |
| config NET_RPL_MOP2 |
| bool "Storing Mode of Operation with no multicast support" |
| help |
| Choose this if unsure. |
| |
| config NET_RPL_MOP3 |
| bool "Storing Mode of Operation with multicast support" |
| select NET_ROUTE_MCAST |
| endchoice |
| |
| config NET_RPL_PROBING |
| bool "Enable RPL probing" |
| depends on NET_RPL |
| default n |
| help |
| When enabled, probes will be sent periodically to keep |
| parent link estimates up to date. |
| |
| config NET_RPL_MAX_INSTANCES |
| int "Maximum number of RPL instances" |
| depends on NET_RPL |
| default 1 |
| help |
| This determines how many RPL instances to allocate. |
| |
| config NET_RPL_MAX_DAG_PER_INSTANCE |
| int "Maximum number of DAGs within an instance" |
| depends on NET_RPL |
| default 2 |
| help |
| This determines how many DAG to allocate within one RPL instance. |
| |
| config NET_RPL_MAX_PARENTS |
| int "Maximum number of parents for one node" |
| default NET_IPV6_MAX_NEIGHBORS |
| help |
| This determines how many RPL parents each node can have. |
| |
| config NET_RPL_DAO_SPECIFY_DAG |
| bool "Specify DAG when sending a DAO message." |
| depends on NET_RPL |
| default y |
| help |
| This determines whether the DAG is embedded into DAO ICMPv6 message. |
| |
| config NET_RPL_DIO_INTERVAL_MIN |
| int "DIO interval." |
| depends on NET_RPL |
| default 12 |
| help |
| The DIO interval value n represents 2^n ms. |
| According to the specification, the default value is 3 which |
| means 8 milliseconds. That is far too low when using duty cycling |
| with wake-up intervals that are typically hundreds of milliseconds. |
| We thus set the default to 2^12 ms = 4.096 s. |
| |
| config NET_RPL_DIO_INTERVAL_DOUBLINGS |
| int "Maximum amount of timer doublings." |
| depends on NET_RPL |
| default 8 |
| help |
| The maximum interval by default will be 2^(12+8) ms = 1048.576 s. |
| RFC 6550 suggests a default value of 20, which would not be ok |
| when we start with a minimum interval of 2^12. |
| |
| config NET_RPL_DIO_REDUNDANCY |
| int "DIO redundancy." |
| depends on NET_RPL |
| default 10 |
| help |
| RFC 6550 suggests a default value of 10. It is unclear what the basis |
| of this suggestion is. Network operators might attain more efficient |
| operation by tuning this parameter for specific deployments. |
| See also RFC 6206. |
| |
| config NET_RPL_DEFAULT_LIFETIME_UNIT |
| int "Default route lifetime unit." |
| depends on NET_RPL |
| default 65535 |
| help |
| This is the granularity of time used in RPL lifetime values, in seconds. |
| |
| config NET_RPL_DEFAULT_LIFETIME |
| int "Default route lifetime." |
| depends on NET_RPL |
| default 255 |
| help |
| Default route lifetime as a multiple of the lifetime unit. |
| |
| config NET_RPL_MCAST_LIFETIME |
| int "Multicast route lifetime." |
| depends on NET_RPL_MOP3 |
| default 3 |
| help |
| Multicast route lifetime as a multiple of the lifetime unit. |
| |
| config NET_RPL_MIN_HOP_RANK_INC |
| int "Minimum hop rank increment" |
| depends on NET_RPL |
| default 256 |
| |
| config NET_RPL_INIT_LINK_METRIC |
| int "Initial link metric" |
| depends on NET_RPL |
| default 2 |
| help |
| Initial metric attributed to a link when the ETX is unknown. |
| |
| config NET_RPL_DAO_TIMER |
| int "DAO sending timer value" |
| depends on NET_RPL |
| default 4 |
| help |
| How many seconds to wait before sending DAO. |
| |
| config NET_RPL_DAO_ACK |
| bool "Node expecting DAO ACK" |
| depends on NET_RPL |
| default y |
| help |
| Node expecting DAO ACK for DAO message. Enable if interested |
| in status of DAO message. |
| |
| config NET_RPL_DAO_MAX_RETRANSMISSIONS |
| int "Max DAO retransmissions" |
| depends on NET_RPL && NET_RPL_DAO_ACK |
| default 4 |
| range 1 5 |
| help |
| If NET_RPL_DAO_ACK enabled then node expects DAO ACK message from |
| the parent. If DAO message is routed through different nodes, ACK |
| may be lost. So retry sending DAO message for max number of trials. |
| |
| config NET_RPL_PREFERENCE |
| int "DAG preference field default value" |
| depends on NET_RPL |
| default 0 |
| |
| config NET_RPL_GROUNDED |
| bool "DAG grounded default value" |
| depends on NET_RPL |
| default false |
| help |
| A grounded DODAG offers connectivity to hosts that are |
| required for satisfying the application-defined goal. A floating |
| DODAG is not expected to satisfy the goal; in most cases, it only |
| provides routes to nodes within the DODAG. |
| |
| config NET_RPL_DEFAULT_INSTANCE |
| hex "Default DAG instance id" |
| depends on NET_RPL |
| default 0x1e |
| help |
| This value decides which DAG instance we should participate in |
| by default. |
| |
| config NET_RPL_INSERT_HBH_OPTION |
| bool "Add RPL Hop-by-hop ext header to sent UDP packets" |
| depends on NET_RPL |
| default y |
| help |
| This option control the insertion of the RPL Hop-by-Hop extension |
| header into UDP packets originating from this node. |
| |
| config NET_RPL_DIS_SEND |
| bool "Send DIS periodically" |
| depends on NET_RPL |
| default y |
| help |
| Enable periodic DODAG Information Solicitation message sending. |
| |
| config NET_RPL_DIS_INTERVAL |
| int "Default DIS interval" |
| depends on NET_RPL_DIS_SEND |
| default 60 |
| help |
| This value decides how often DIS messages are sent. The |
| value is in seconds. |
| |
| config NET_STATISTICS_RPL |
| bool "Collect RPL statistics" |
| depends on NET_STATISTICS |
| default n |
| help |
| Keep track of RPL related statistics |
| |
| config NET_DEBUG_RPL |
| bool "Debug RPL" |
| default n |
| depends on NET_RPL && NET_LOG |
| help |
| Enables RPL output debug messages |
| |
| endif # NET_RPL |