]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/network/networkd-dhcp4.h
network/dhcp4: support IPv6 only mode (RFC 8925)
[thirdparty/systemd.git] / src / network / networkd-dhcp4.h
CommitLineData
db9ecf05 1/* SPDX-License-Identifier: LGPL-2.1-or-later */
ca5ad760
YW
2#pragma once
3
4#include "conf-parser.h"
5
6typedef struct Link Link;
ccffa166 7typedef struct Network Network;
ca5ad760
YW
8
9typedef enum DHCPClientIdentifier {
10 DHCP_CLIENT_ID_MAC,
11 DHCP_CLIENT_ID_DUID,
ca5ad760 12 _DHCP_CLIENT_ID_MAX,
2d93c20e 13 _DHCP_CLIENT_ID_INVALID = -EINVAL,
ca5ad760
YW
14} DHCPClientIdentifier;
15
ae7ea5a7 16void network_adjust_dhcp4(Network *network);
d947f7f9 17int dhcp4_update_mac(Link *link);
fc35a9f8
YW
18int dhcp4_update_ipv6_connectivity(Link *link);
19int dhcp4_start_full(Link *link, bool set_ipv6_connectivity);
20static inline int dhcp4_start(Link *link) {
21 return dhcp4_start_full(link, true);
22}
9155da08 23int dhcp4_lease_lost(Link *link);
e49bad01 24int dhcp4_check_ready(Link *link);
ca5ad760 25
ccffa166
YW
26int link_request_dhcp4_client(Link *link);
27
ca5ad760 28CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_client_identifier);
ca5ad760 29CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_max_attempts);
a75b2117 30CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_ip_service_type);
ea577968 31CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_socket_priority);
7b8d23a9 32CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_mud_url);
d6463307 33CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_fallback_lease_lifetime);
d419ef02 34CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_label);