diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2019-06-30 03:57:47 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2019-06-30 04:45:56 +0900 |
commit | ca5ad760a5ab5d8e281ef675dd703db30620d5a6 (patch) | |
tree | e1da39ebaa08302eb309f631fdb4af19feddd295 /src/network/networkd-ipv4ll.c | |
parent | 539bcc831b67a047e4e19469eb4471fc4ea024b6 (diff) | |
download | systemd-ca5ad760a5ab5d8e281ef675dd703db30620d5a6.tar.gz |
network: move conf parsers and function prototypes
Diffstat (limited to 'src/network/networkd-ipv4ll.c')
-rw-r--r-- | src/network/networkd-ipv4ll.c | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/src/network/networkd-ipv4ll.c b/src/network/networkd-ipv4ll.c index 738d22cb5b..d76f02d563 100644 --- a/src/network/networkd-ipv4ll.c +++ b/src/network/networkd-ipv4ll.c @@ -5,8 +5,10 @@ #include "network-internal.h" #include "networkd-address.h" -#include "networkd-manager.h" +#include "networkd-ipv4ll.h" #include "networkd-link.h" +#include "networkd-manager.h" +#include "parse-util.h" static int ipv4ll_address_lost(Link *link) { _cleanup_(address_freep) Address *address = NULL; @@ -234,3 +236,45 @@ int ipv4ll_configure(Link *link) { return 0; } + +int config_parse_ipv4ll( + const char* unit, + const char *filename, + unsigned line, + const char *section, + unsigned section_line, + const char *lvalue, + int ltype, + const char *rvalue, + void *data, + void *userdata) { + + AddressFamilyBoolean *link_local = data; + int r; + + assert(filename); + assert(lvalue); + assert(rvalue); + assert(data); + + /* Note that this is mostly like + * config_parse_address_family_boolean(), except that it + * applies only to IPv4 */ + + r = parse_boolean(rvalue); + if (r < 0) { + log_syntax(unit, LOG_ERR, filename, line, r, + "Failed to parse %s=%s, ignoring assignment. " + "Note that the setting %s= is deprecated, please use LinkLocalAddressing= instead.", + lvalue, rvalue, lvalue); + return 0; + } + + SET_FLAG(*link_local, ADDRESS_FAMILY_IPV4, r); + + log_syntax(unit, LOG_WARNING, filename, line, 0, + "%s=%s is deprecated, please use LinkLocalAddressing=%s instead.", + lvalue, rvalue, address_family_boolean_to_string(*link_local)); + + return 0; +} |