|
iPXE
|
IPv6 neighbour discovery protocol. More...
#include <stdlib.h>#include <stdio.h>#include <string.h>#include <errno.h>#include <byteswap.h>#include <ipxe/in.h>#include <ipxe/iobuf.h>#include <ipxe/tcpip.h>#include <ipxe/ipv6.h>#include <ipxe/icmpv6.h>#include <ipxe/neighbour.h>#include <ipxe/dhcpv6.h>#include <ipxe/timer.h>#include <ipxe/ndp.h>Go to the source code of this file.
Data Structures | |
| struct | ndp_option_handler |
| An NDP option handler. More... | |
| struct | ndp_prefix_settings |
| An NDP prefix settings block. More... | |
| struct | ndp_settings |
| An NDP settings block. More... | |
| struct | ndp_prefix_operation |
| An NDP per-prefix setting operation. More... | |
| struct | ipv6conf |
| An IPv6 configurator. More... | |
Macros | |
| #define | IPV6CONF_MIN_TIMEOUT ( TICKS_PER_SEC / 8 ) |
| Router discovery minimum timeout. | |
| #define | IPV6CONF_MAX_TIMEOUT ( TICKS_PER_SEC * 3 ) |
| Router discovery maximum timeout. | |
| #define | IPV6CONF_BLOCK_TIMEOUT ( TICKS_PER_SEC ) |
| Router discovery blocked link retry timeout. | |
| #define | IPV6CONF_MAX_DEFERRALS 180 |
| Router discovery maximum number of deferrals. | |
| #define | NDP_TAG(type, offset, len) |
| Construct NDP tag. | |
| #define | NDP_TAG_TYPE(tag) |
| Extract NDP tag type. | |
| #define | NDP_TAG_OFFSET(tag) |
| Extract NDP tag offset. | |
| #define | NDP_TAG_LEN(tag) |
| Extract NDP tag length. | |
| #define | NDP_TAG_INSTANCE(tag) |
| Extract NDP tag instance. | |
Functions | |
| FILE_LICENCE (GPL2_OR_LATER) | |
| FILE_SECBOOT (PERMITTED) | |
| static struct ipv6conf * | ipv6conf_demux (struct net_device *netdev) |
| Identify IPv6 configurator by network device. | |
| static int | ipv6conf_rx_router_advertisement (struct net_device *netdev, struct in6_addr *router, struct ndp_router_advertisement_header *radv, size_t len) |
| Handle router advertisement during IPv6 autoconfiguration. | |
| static int | ndp_tx_ll_addr (struct net_device *netdev, struct sockaddr_in6 *sin6_src, struct sockaddr_in6 *sin6_dest, const void *data, size_t len, unsigned int option_type) |
| Transmit NDP packet with link-layer address option. | |
| static int | ndp_tx_request (struct net_device *netdev, struct net_protocol *net_protocol __unused, const void *net_dest, const void *net_source) |
| Transmit NDP neighbour discovery request. | |
| static int | ndp_tx_router_solicitation (struct net_device *netdev) |
| Transmit NDP router solicitation. | |
| static int | ndp_rx_neighbour_solicitation_ll_source (struct net_device *netdev, struct sockaddr_in6 *sin6_src, union ndp_header *ndp, union ndp_option *option, size_t len) |
| Process NDP neighbour solicitation source link-layer address option. | |
| static int | ndp_rx_neighbour_advertisement_ll_target (struct net_device *netdev, struct sockaddr_in6 *sin6_src __unused, union ndp_header *ndp, union ndp_option *option, size_t len) |
| Process NDP neighbour advertisement target link-layer address option. | |
| static int | ndp_rx_router_advertisement_ll_source (struct net_device *netdev, struct sockaddr_in6 *sin6_src, union ndp_header *ndp __unused, union ndp_option *option, size_t len) |
| Process NDP router advertisement source link-layer address option. | |
| static int | ndp_rx_router_advertisement_prefix (struct net_device *netdev, struct sockaddr_in6 *sin6_src, union ndp_header *ndp, union ndp_option *option, size_t len) |
| Process NDP router advertisement prefix information option. | |
| static int | ndp_rx_option (struct net_device *netdev, struct sockaddr_in6 *sin6_src, union ndp_header *ndp, union ndp_option *option, size_t len) |
| Process received NDP option. | |
| static int | ndp_rx_options (struct net_device *netdev, struct sockaddr_in6 *sin6_src, union ndp_header *ndp, size_t offset, size_t len) |
| Process received NDP packet options. | |
| static int | ndp_rx_neighbour (struct io_buffer *iobuf, struct net_device *netdev, struct sockaddr_in6 *sin6_src, struct sockaddr_in6 *sin6_dest __unused) |
| Process received NDP neighbour solicitation or advertisement. | |
| static int | ndp_rx_router_advertisement (struct io_buffer *iobuf, struct net_device *netdev, struct sockaddr_in6 *sin6_src, struct sockaddr_in6 *sin6_dest __unused) |
| Process received NDP router advertisement. | |
| static int | ndp_applies (struct settings *settings __unused, const struct setting *setting) |
| Check applicability of NDP setting. | |
| static int | ndp_fetch (struct settings *settings, struct setting *setting, void *data, size_t len) |
| Fetch value of NDP setting. | |
| static int | ndp_prefix_applies (struct settings *settings __unused, const struct setting *setting) |
| Check applicability of NDP per-prefix setting. | |
| static int | ndp_prefix_fetch_ip6 (struct settings *settings, void *data, size_t len) |
| Fetch value of NDP IPv6 address setting. | |
| static int | ndp_prefix_fetch_len6 (struct settings *settings, void *data, size_t len) |
| Fetch value of NDP prefix length setting. | |
| static int | ndp_prefix_fetch_gateway6 (struct settings *settings, void *data, size_t len) |
| Fetch value of NDP router address setting. | |
| static int | ndp_prefix_fetch (struct settings *settings, struct setting *setting, void *data, size_t len) |
| Fetch value of NDP pre-prefix setting. | |
| static int | ndp_register_settings (struct net_device *netdev, struct in6_addr *router, unsigned int lifetime, union ndp_option *options, size_t len) |
| Register NDP settings. | |
| const struct setting ndp_dns6_setting | __setting (SETTING_IP6_EXTRA, dns6) |
| DNS server setting. | |
| const struct setting ndp_dnssl_setting | __setting (SETTING_IP_EXTRA, dnssl) |
| DNS search list setting. | |
| static | LIST_HEAD (ipv6confs) |
| List of IPv6 configurators. | |
| static void | ipv6conf_free (struct refcnt *refcnt) |
| Free IPv6 configurator. | |
| static void | ipv6conf_done (struct ipv6conf *ipv6conf, int rc) |
| Finish IPv6 autoconfiguration. | |
| static void | ipv6conf_expired (struct retry_timer *timer, int fail) |
| Handle IPv6 configurator timer expiry. | |
| int | start_ipv6conf (struct interface *job, struct net_device *netdev) |
| Start IPv6 autoconfiguration. | |
Variables | |
| struct neighbour_discovery | ndp_discovery |
| NDP neighbour discovery protocol. | |
| static struct ndp_option_handler | ndp_option_handlers [] |
| NDP option handlers. | |
| struct icmpv6_handler ndp_handlers[] | __icmpv6_handler |
| NDP ICMPv6 handlers. | |
| static const struct settings_scope | ndp_settings_scope |
| NDP settings scope. | |
| static struct settings_operations | ndp_settings_operations |
| NDP settings operations. | |
| static struct ndp_prefix_operation | ndp_prefix_operations [] |
| NDP per-prefix settings operations. | |
| static struct settings_operations | ndp_prefix_settings_operations |
| NDP per-prefix settings operations. | |
| static struct interface_operation | ipv6conf_job_op [] |
| IPv6 configurator job interface operations. | |
| static struct interface_descriptor | ipv6conf_job_desc |
| IPv6 configurator job interface descriptor. | |
| static struct interface_operation | ipv6conf_dhcp_op [] |
| IPv6 configurator DHCPv6 interface operations. | |
| static struct interface_descriptor | ipv6conf_dhcp_desc |
| IPv6 configurator DHCPv6 interface descriptor. | |
| struct net_device_configurator ipv6_configurator | __net_device_configurator |
| IPv6 network device configurator. | |
IPv6 neighbour discovery protocol.
Definition in file ndp.c.
| #define IPV6CONF_MIN_TIMEOUT ( TICKS_PER_SEC / 8 ) |
Router discovery minimum timeout.
Definition at line 45 of file ndp.c.
Referenced by start_ipv6conf().
| #define IPV6CONF_MAX_TIMEOUT ( TICKS_PER_SEC * 3 ) |
Router discovery maximum timeout.
Definition at line 48 of file ndp.c.
Referenced by start_ipv6conf().
| #define IPV6CONF_BLOCK_TIMEOUT ( TICKS_PER_SEC ) |
Router discovery blocked link retry timeout.
Definition at line 51 of file ndp.c.
Referenced by ipv6conf_expired().
| #define IPV6CONF_MAX_DEFERRALS 180 |
Router discovery maximum number of deferrals.
Definition at line 54 of file ndp.c.
Referenced by ipv6conf_expired().
Construct NDP tag.
| type | NDP option type |
| offset | Starting offset of data |
| len | Length of data (or 0 to use all remaining data) |
| tag | NDP tag |
Definition at line 633 of file ndp.c.
Referenced by __setting(), and __setting().
| #define NDP_TAG_TYPE | ( | tag | ) |
| #define NDP_TAG_OFFSET | ( | tag | ) |
Extract NDP tag offset.
| tag | NDP tag |
| offset | Starting offset of data |
Definition at line 650 of file ndp.c.
Referenced by ndp_fetch().
| #define NDP_TAG_LEN | ( | tag | ) |
Extract NDP tag length.
| tag | NDP tag |
| len | Length of data (or 0 to use all remaining data) |
Definition at line 658 of file ndp.c.
Referenced by ndp_fetch().
| #define NDP_TAG_INSTANCE | ( | tag | ) |
Extract NDP tag instance.
| tag | NDP tag |
| instance | Instance |
Definition at line 666 of file ndp.c.
Referenced by ndp_fetch().
| FILE_LICENCE | ( | GPL2_OR_LATER | ) |
| FILE_SECBOOT | ( | PERMITTED | ) |
|
static |
Identify IPv6 configurator by network device.
| netdev | Network device |
| ipv6 | IPv6 configurator, or NULL |
Definition at line 1119 of file ndp.c.
References ipv6conf::list, list_for_each_entry, ipv6conf::netdev, netdev, and NULL.
Referenced by ipv6conf_rx_router_advertisement().
|
static |
Handle router advertisement during IPv6 autoconfiguration.
| netdev | Network device |
| router | Router address |
| radv | Router advertisement |
| len | Length of router advertisement |
| rc | Return status code |
This function assumes that the router advertisement is well-formed, since it must have already passed through option processing.
Definition at line 1192 of file ndp.c.
References DBGC, ipv6conf::dhcp, ndp_router_advertisement_header::flags, ipv6conf_demux(), ipv6conf_done(), len, ndp_router_advertisement_header::lifetime, ndp_register_settings(), NDP_ROUTER_MANAGED, NDP_ROUTER_OTHER, netdev, ntohl, offsetof, ndp_router_advertisement_header::option, rc, start_dhcpv6(), stop_timer(), strerror(), ipv6conf::timer, and typeof().
Referenced by ndp_rx_router_advertisement().
|
static |
Transmit NDP packet with link-layer address option.
| netdev | Network device |
| sin6_src | Source socket address |
| sin6_dest | Destination socket address |
| data | NDP header |
| len | Size of NDP header |
| option_type | NDP option type |
| rc | Return status code |
Definition at line 74 of file ndp.c.
References alloc_iob(), ndp_option_header::blocks, icmp_header::chksum, data, io_buffer::data, DBGC, ENOMEM, ndp_ll_addr_option::header, ndp_header::icmp, iob_put, iob_reserve, len, ndp_ll_addr_option::ll_addr, ll_protocol::ll_addr_len, MAX_LL_NET_HEADER_LEN, memcpy(), NDP_OPTION_BLKSZ, netdev, rc, strerror(), tcpip_chksum(), tcpip_tx(), and ndp_option_header::type.
Referenced by ndp_rx_neighbour_solicitation_ll_source(), ndp_tx_request(), and ndp_tx_router_solicitation().
|
static |
Transmit NDP neighbour discovery request.
| netdev | Network device |
| net_protocol | Network-layer protocol |
| net_dest | Destination network-layer address |
| net_source | Source network-layer address |
| rc | Return status code |
Definition at line 127 of file ndp.c.
References __unused, AF_INET6, ndp_neighbour_header::icmp, ICMPV6_NEIGHBOUR_SOLICITATION, ipv6_solicited_node(), memcpy(), memset(), NDP_OPT_LL_SOURCE, ndp_tx_ll_addr(), netdev, rc, sockaddr_in6::sin6_addr, sockaddr_in6::sin6_family, sockaddr_in6::sin6_scope_id, ndp_neighbour_header::target, and icmp_header::type.
|
static |
Transmit NDP router solicitation.
| netdev | Network device |
| rc | Return status code |
Definition at line 173 of file ndp.c.
References AF_INET6, ndp_router_solicitation_header::icmp, ICMPV6_ROUTER_SOLICITATION, ipv6_all_routers(), memset(), NDP_OPT_LL_SOURCE, ndp_tx_ll_addr(), netdev, NULL, rc, sockaddr_in6::sin6_addr, sockaddr_in6::sin6_family, sockaddr_in6::sin6_scope_id, and icmp_header::type.
Referenced by ipv6conf_expired().
|
static |
Process NDP neighbour solicitation source link-layer address option.
| netdev | Network device |
| sin6_src | Source socket address |
| ndp | NDP packet |
| option | NDP option |
| len | NDP option length |
| rc | Return status code |
Definition at line 207 of file ndp.c.
References DBGC, EINVAL, ndp_neighbour_header::flags, ndp_neighbour_header::icmp, ICMPV6_NEIGHBOUR_ADVERTISEMENT, inet6_ntoa(), ipv6_has_addr(), len, ndp_ll_addr_option::ll_addr, ll_protocol::ll_addr_len, memset(), NDP_NEIGHBOUR_OVERRIDE, NDP_NEIGHBOUR_SOLICITED, NDP_OPT_LL_TARGET, ndp_tx_ll_addr(), ndp_header::neigh, neighbour_define(), netdev, ll_protocol::ntoa, NULL, offsetof, rc, sockaddr_in6::sin6_addr, strerror(), ndp_neighbour_header::target, icmp_header::type, and typeof().
|
static |
Process NDP neighbour advertisement target link-layer address option.
| netdev | Network device |
| sin6_src | Source socket address |
| ndp | NDP packet |
| option | NDP option |
| len | NDP option length |
| rc | Return status code |
Definition at line 268 of file ndp.c.
References __unused, DBGC, EINVAL, inet6_ntoa(), len, ndp_ll_addr_option::ll_addr, ll_protocol::ll_addr_len, ndp_header::neigh, neighbour_update(), netdev, ll_protocol::ntoa, offsetof, rc, strerror(), ndp_neighbour_header::target, and typeof().
|
static |
Process NDP router advertisement source link-layer address option.
| netdev | Network device |
| sin6_src | Source socket address |
| ndp | NDP packet |
| option | NDP option |
| len | NDP option length |
| rc | Return status code |
Definition at line 312 of file ndp.c.
References __unused, DBGC, EINVAL, inet6_ntoa(), len, ndp_ll_addr_option::ll_addr, ll_protocol::ll_addr_len, neighbour_define(), netdev, ll_protocol::ntoa, offsetof, rc, sockaddr_in6::sin6_addr, strerror(), and typeof().
|
static |
Process NDP router advertisement prefix information option.
| netdev | Network device |
| sin6_src | Source socket address |
| ndp | NDP packet |
| option | NDP option |
| len | NDP option length |
| rc | Return status code |
Definition at line 353 of file ndp.c.
References DBGC, EINVAL, ndp_prefix_information_option::flags, inet6_ntoa(), len, ndp_router_advertisement_header::lifetime, NDP_PREFIX_AUTONOMOUS, NDP_PREFIX_ON_LINK, netdev, ndp_prefix_information_option::prefix, ndp_prefix_information_option::prefix_len, ndp_header::radv, and sockaddr_in6::sin6_addr.
|
static |
Process received NDP option.
| netdev | Network device |
| sin6_src | Source socket address |
| ndp | NDP packet |
| option | NDP option |
| len | Option length |
| rc | Return status code |
Definition at line 432 of file ndp.c.
References ndp_header::icmp, ndp_option_handler::icmp_type, len, ndp_option_handlers, netdev, ndp_option_handler::option_type, ndp_option_handler::rx, and icmp_header::type.
Referenced by ndp_rx_options().
|
static |
Process received NDP packet options.
| netdev | Network device |
| sin6_src | Source socket address |
| ndp | NDP header |
| offset | Offset to NDP options |
| len | Length of NDP packet |
| rc | Return status code |
Definition at line 463 of file ndp.c.
References DBGC, DBGC_HDA, EINVAL, len, NDP_OPTION_BLKSZ, ndp_rx_option(), netdev, offset, and rc.
Referenced by ndp_rx_neighbour(), and ndp_rx_router_advertisement().
|
static |
Process received NDP neighbour solicitation or advertisement.
| iobuf | I/O buffer |
| netdev | Network device |
| sin6_src | Source socket address |
| sin6_dest | Destination socket address |
| rc | Return status code |
Definition at line 517 of file ndp.c.
References __unused, io_buffer::data, free_iob(), iob_len(), len, ndp_rx_options(), ndp_header::neigh, netdev, offsetof, rc, and typeof().
|
static |
Process received NDP router advertisement.
| iobuf | I/O buffer |
| netdev | Network device |
| sin6_src | Source socket address |
| sin6_dest | Destination socket address |
| rc | Return status code |
Definition at line 547 of file ndp.c.
References __unused, io_buffer::data, free_iob(), iob_len(), ipv6conf_rx_router_advertisement(), len, ndp_rx_options(), netdev, offsetof, ndp_header::radv, rc, sockaddr_in6::sin6_addr, and typeof().
Check applicability of NDP setting.
| settings | Settings block |
| setting | Setting to fetch |
| applies | Setting applies within this settings block |
Definition at line 675 of file ndp.c.
References __unused, ndp_settings_scope, and setting::scope.
|
static |
Fetch value of NDP setting.
| settings | Settings block |
| setting | Setting to fetch |
| data | Buffer to fill with setting data |
| len | Length of buffer |
| len | Length of setting data, or negative error |
Definition at line 690 of file ndp.c.
References container_of, data, DBGC, EINVAL, ENOENT, len, ndp_settings::len, memcpy(), NDP_OPTION_BLKSZ, NDP_TAG_INSTANCE, NDP_TAG_LEN, NDP_TAG_OFFSET, NDP_TAG_TYPE, netdev, offset, ndp_settings::options, settings::parent, setting::tag, and setting::type.
|
static |
Check applicability of NDP per-prefix setting.
| settings | Settings block |
| setting | Setting to fetch |
| applies | Setting applies within this settings block |
Definition at line 769 of file ndp.c.
References __unused, ipv6_settings_scope, and setting::scope.
Fetch value of NDP IPv6 address setting.
| settings | Settings block |
| data | Buffer to fill with setting data |
| len | Length of buffer |
| len | Length of setting data, or negative error |
Definition at line 783 of file ndp.c.
References container_of, data, DBGC, ENOENT, inet6_ntoa(), ipv6_eui64(), len, memcpy(), NDP_PREFIX_AUTONOMOUS, netdev, settings::parent, ndp_prefix_settings::prefix, prefix, rc, ndp_settings::settings, and strerror().
Fetch value of NDP prefix length setting.
| settings | Settings block |
| data | Buffer to fill with setting data |
| len | Length of buffer |
| len | Length of setting data, or negative error |
Definition at line 840 of file ndp.c.
References container_of, data, len, NDP_PREFIX_ON_LINK, ndp_prefix_settings::prefix, and prefix.
Fetch value of NDP router address setting.
| settings | Settings block |
| data | Buffer to fill with setting data |
| len | Length of buffer |
| len | Length of setting data, or negative error |
Definition at line 868 of file ndp.c.
References container_of, data, ENOENT, len, ndp_settings::lifetime, memcpy(), settings::parent, and ndp_settings::router.
|
static |
Fetch value of NDP pre-prefix setting.
| settings | Settings block |
| setting | Setting to fetch |
| data | Buffer to fill with setting data |
| len | Length of buffer |
| len | Length of setting data, or negative error |
Definition at line 916 of file ndp.c.
References data, ENOENT, len, ndp_prefix_operations, op, and setting_cmp().
|
static |
Register NDP settings.
| netdev | Network device |
| router | Router address |
| lifetime | Router lifetime |
| options | NDP options |
| len | Length of options |
| rc | Return status code |
Definition at line 949 of file ndp.c.
References assert, ENOMEM, IPV6_ORDER_PREFIX_ONLY, IPV6_ORDER_SLAAC, len, ndp_settings::len, lifetime, ndp_settings::lifetime, memcpy(), ndp_prefix_settings::name, NDP_OPT_PREFIX, NDP_OPTION_BLKSZ, NDP_PREFIX_AUTONOMOUS, ndp_prefix_settings_operations, NDP_SETTINGS_NAME, ndp_settings_operations, ndp_settings_scope, netdev, netdev_settings(), NULL, offset, ndp_settings::options, options, settings::order, settings::parent, ndp_prefix_settings::prefix, rc, ref_init, ref_put, ndp_settings::refcnt, register_settings(), ndp_settings::router, ndp_prefix_settings::settings, ndp_settings::settings, settings_init(), snprintf(), unregister_settings(), and zalloc().
Referenced by ipv6conf_rx_router_advertisement().
| const struct setting ndp_dns6_setting __setting | ( | SETTING_IP6_EXTRA | , |
| dns6 | ) |
DNS server setting.
References __setting, dns6, NDP_OPT_RDNSS, ndp_settings_scope, NDP_TAG, offsetof, and SETTING_IP6_EXTRA.
| const struct setting ndp_dnssl_setting __setting | ( | SETTING_IP_EXTRA | , |
| dnssl | ) |
DNS search list setting.
References __setting, NDP_OPT_DNSSL, ndp_settings_scope, NDP_TAG, offsetof, and SETTING_IP_EXTRA.
|
static |
List of IPv6 configurators.
|
static |
Free IPv6 configurator.
| refcnt | Reference count |
Definition at line 1105 of file ndp.c.
References container_of, free, ipv6conf::netdev, and netdev_put().
Referenced by start_ipv6conf().
|
static |
Finish IPv6 autoconfiguration.
| ipv6 | IPv6 configurator |
| rc | Reason for finishing |
Definition at line 1135 of file ndp.c.
References ipv6conf::dhcp, intf_shutdown(), ipv6conf::job, ipv6conf::list, list_del, rc, ref_put, ipv6conf::refcnt, stop_timer(), and ipv6conf::timer.
Referenced by ipv6conf_expired(), and ipv6conf_rx_router_advertisement().
|
static |
Handle IPv6 configurator timer expiry.
| timer | Retry timer |
| fail | Failure indicator |
Definition at line 1155 of file ndp.c.
References container_of, DBGC, ipv6conf::deferred, ETIMEDOUT, IPV6CONF_BLOCK_TIMEOUT, ipv6conf_done(), IPV6CONF_MAX_DEFERRALS, ndp_tx_router_solicitation(), ipv6conf::netdev, netdev, netdev_link_blocked(), start_timer(), start_timer_fixed(), and ipv6conf::timer.
Referenced by start_ipv6conf().
| int start_ipv6conf | ( | struct interface * | job, |
| struct net_device * | netdev ) |
Start IPv6 autoconfiguration.
| job | Job control interface |
| netdev | Network device |
| rc | Return status code |
Definition at line 1267 of file ndp.c.
References ipv6conf::dhcp, ENOMEM, intf_init(), intf_plug_plug(), ipv6conf_dhcp_desc, ipv6conf_expired(), ipv6conf_free(), ipv6conf_job_desc, IPV6CONF_MAX_TIMEOUT, IPV6CONF_MIN_TIMEOUT, ipv6conf::job, ipv6conf::list, list_add, ipv6conf::netdev, netdev, netdev_get(), ref_init, ipv6conf::refcnt, start_timer_nodelay(), ipv6conf::timer, and zalloc().
| struct neighbour_discovery ndp_discovery |
NDP neighbour discovery protocol.
Definition at line 162 of file ndp.c.
Referenced by ndp_tx().
|
static |
NDP option handlers.
Definition at line 399 of file ndp.c.
Referenced by ndp_rx_option().
| struct icmpv6_handler ndp_handlers [] __icmpv6_handler |
NDP ICMPv6 handlers.
Definition at line 575 of file ndp.c.
|
static |
NDP settings scope.
Definition at line 623 of file ndp.c.
Referenced by __setting(), __setting(), ndp_applies(), and ndp_register_settings().
|
static |
NDP settings operations.
Definition at line 757 of file ndp.c.
Referenced by ndp_register_settings().
|
static |
NDP per-prefix settings operations.
Definition at line 901 of file ndp.c.
Referenced by ndp_prefix_fetch().
|
static |
NDP per-prefix settings operations.
Definition at line 934 of file ndp.c.
Referenced by ndp_register_settings().
|
static |
IPv6 configurator job interface operations.
|
static |
IPv6 configurator job interface descriptor.
Definition at line 1248 of file ndp.c.
Referenced by start_ipv6conf().
|
static |
IPv6 configurator DHCPv6 interface operations.
|
static |
IPv6 configurator DHCPv6 interface descriptor.
Definition at line 1257 of file ndp.c.
Referenced by start_ipv6conf().
| struct net_device_configurator ipv6_configurator __net_device_configurator |
IPv6 network device configurator.