]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/network/networkd-dhcp4.h
Merge pull request #18007 from fw-strlen/ipv6_masq_and_dnat
[thirdparty/systemd.git] / src / network / networkd-dhcp4.h
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3
4 #include "conf-parser.h"
5
6 typedef struct Link Link;
7
8 typedef enum DHCPClientIdentifier {
9 DHCP_CLIENT_ID_MAC,
10 DHCP_CLIENT_ID_DUID,
11 /* The following option may not be good for RFC regarding DHCP (3315 and 4361).
12 * But some setups require this. E.g., Sky Broadband, the second largest provider in the UK
13 * requires the client id to be set to a custom string, reported at
14 * https://github.com/systemd/systemd/issues/7828 */
15 DHCP_CLIENT_ID_DUID_ONLY,
16 _DHCP_CLIENT_ID_MAX,
17 _DHCP_CLIENT_ID_INVALID = -EINVAL,
18 } DHCPClientIdentifier;
19
20 int dhcp4_configure(Link *link);
21 int dhcp4_update_mac(Link *link);
22
23 CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_client_identifier);
24 CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_acl_ip_address);
25 CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_max_attempts);
26 CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_ip_service_type);
27 CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_mud_url);
28 CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_fallback_lease_lifetime);