]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/network/networkd-dhcp4.h
sd-dhcpv4: introduce The Manufacturer Usage Description (MUD)
[thirdparty/systemd.git] / src / network / networkd-dhcp4.h
CommitLineData
ca5ad760
YW
1/* SPDX-License-Identifier: LGPL-2.1+ */
2#pragma once
3
4#include "conf-parser.h"
5
6typedef struct Link Link;
7
8typedef 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 = -1,
18} DHCPClientIdentifier;
19
20void dhcp4_release_old_lease(Link *link);
21int dhcp4_configure(Link *link);
22int dhcp4_set_client_identifier(Link *link);
23int dhcp4_set_promote_secondaries(Link *link);
24
25CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_client_identifier);
26CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_black_listed_ip_address);
27CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_max_attempts);
28CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_user_class);
5bc945be 29CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_request_options);
a75b2117 30CONFIG_PARSER_PROTOTYPE(config_parse_dhcp_ip_service_type);