# # For a description of the syntax of this configuration file, # see the file kconfig-language.txt in the NuttX tools repository. # menu "Netlink Socket Support" config NET_NETLINK bool "Netlink socket support" default n depends on SCHED_WORKQUEUE select WQUEUE_NOTIFIER ---help--- Enable support for Netlink-like IPC sockets that will permit user- space applications to interact with network services. This logic is a WIP. Currently only fragmentary support is available, not enough to actually do anything of consequence. Only the following features are implemented at this time: NETLINK_ROUTE capability to read the ARP table. if NET_NETLINK config NETLINK_PREALLOC_CONNS int "Preallocated Netlink connections" default 4 ---help--- Number of Netlink connections (all tasks). This number of connections will be pre-allocated during system boot. If dynamic connections allocation is enabled, more connections may be allocated at a later time, as the system needs them. Else this will be the maximum number of connections available to the system at all times. Set to 0 to disable (and rely only on dynamic allocations). config NETLINK_ALLOC_CONNS int "Dynamic Netlink connections allocation" default 0 ---help--- Dynamic memory allocations for Netlink. When set to 0 all dynamic allocations are disabled. When set to 1 a new connection will be allocated every time, and it will be free'd when no longer needed. Setting this to 2 or more will allocate the connections in batches (with batch size equal to this config). When a connection is no longer needed, it will be returned to the free connections pool, and it will never be deallocated! config NETLINK_MAX_CONNS int "Maximum number of Netlink connections" default 0 depends on NETLINK_ALLOC_CONNS > 0 ---help--- If dynamic connections allocation is selected (NETLINK_ALLOC_CONNS > 0) this will limit the number of connections that can be allocated. This is useful in case the system is under very heavy load (or under attack), ensuring that the heap will not be exhausted. menu "Netlink Protocols" config NETLINK_ROUTE bool "Netlink Route protocol" default n ---help--- Support the NETLINK_ROUTE protocol option. if NETLINK_ROUTE config NETLINK_DISABLE_GETLINK bool "Disable RTM_GETLINK support" default n ---help--- RTM_GETLINK is used to enumerate network devices. config NETLINK_DISABLE_GETNEIGH bool "Disable RTM_GETNEIGH support" default n ---help--- RTM_GETNEIGH is used to retrieve Neighbor/ARP tables. config NETLINK_DISABLE_GETROUTE bool "Disable RTM_GETROUTE support" default n ---help--- RTM_GETROUTE is used to retrieve routing tables. config NETLINK_DISABLE_NEWADDR bool "Disable RTM_NEWADDR support" default n ---help--- RTM_NEWADDR is used to set netdev address. config NETLINK_DISABLE_DELADDR bool "Disable RTM_DELADDR support" default n ---help--- RTM_DELADDR is used to delete netdev address. config NETLINK_DISABLE_GETADDR bool "Disable RTM_GETADDR support" default n ---help--- RTM_GETADDR is used to get netdev address. config NETLINK_VALIDATE_POLICY bool "Enable netlink message policy verification" default n ---help--- VALIDATE_POLICY is used to make sure the parameters you pass in are valid. endif # NETLINK_ROUTE endmenu # Netlink Protocols endif # NET_NETLINK endmenu # Netlink Socket Support