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