1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3 
4 #include <stdbool.h>
5 
6 #include "conf-parser.h"
7 
8 typedef struct Link Link;
9 
10 typedef enum IPv6PrivacyExtensions {
11         /* The values map to the kernel's /proc/sys/net/ipv6/conf/xxx/use_tempaddr values */
12         IPV6_PRIVACY_EXTENSIONS_NO,
13         IPV6_PRIVACY_EXTENSIONS_PREFER_PUBLIC,
14         IPV6_PRIVACY_EXTENSIONS_YES, /* aka prefer-temporary */
15         _IPV6_PRIVACY_EXTENSIONS_MAX,
16         _IPV6_PRIVACY_EXTENSIONS_INVALID = -EINVAL,
17 } IPv6PrivacyExtensions;
18 
19 int link_set_sysctl(Link *link);
20 int link_set_ipv6_mtu(Link *link);
21 
22 const char* ipv6_privacy_extensions_to_string(IPv6PrivacyExtensions i) _const_;
23 IPv6PrivacyExtensions ipv6_privacy_extensions_from_string(const char *s) _pure_;
24 
25 CONFIG_PARSER_PROTOTYPE(config_parse_ipv6_privacy_extensions);
26