nuttx/net/netlink/Kconfig
zhanghongyu fdc6dbf176 netlink: add RTM_NEWADDR, RTM_DELADDR and RTM_GETADDR
We have projects that need to sense ip address changes in time,
and set ip address or clear ip address through netlink
so the relevant implementation is added.
The usage and command structure are consistent with linux

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-04-22 01:35:18 +08:00

123 lines
3.3 KiB
Plaintext

#
# 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