summaryrefslogtreecommitdiff
path: root/src/libsystemd-network/network-internal.c
diff options
context:
space:
mode:
authorTom Gundersen <teg@jklm.no>2016-03-10 14:38:42 +0100
committerTom Gundersen <teg@jklm.no>2016-03-10 14:38:42 +0100
commitead02a14ede96738250c3aac83adf9ecc1b7e2f1 (patch)
tree2c5a91b5102fe014299ef15f86f30ee3569fe260 /src/libsystemd-network/network-internal.c
parent79c96fd20457f208c752506030295b4cf64a2994 (diff)
parentc83321e6d40b294e73e2881e4a98172c4244323b (diff)
Merge pull request #2818 from vinaykul/master
DHCP DUID and IAID configurability
Diffstat (limited to 'src/libsystemd-network/network-internal.c')
-rw-r--r--src/libsystemd-network/network-internal.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/libsystemd-network/network-internal.c b/src/libsystemd-network/network-internal.c
index cb7252bbeb..7c21f42591 100644
--- a/src/libsystemd-network/network-internal.c
+++ b/src/libsystemd-network/network-internal.c
@@ -335,6 +335,34 @@ int config_parse_hwaddr(const char *unit,
return 0;
}
+int config_parse_iaid_value(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) {
+ uint32_t iaid_value;
+ int r;
+
+ assert(filename);
+ assert(lvalue);
+ assert(rvalue);
+ assert(data);
+
+ if ((r = safe_atou32(rvalue, &iaid_value)) < 0) {
+ log_syntax(unit, LOG_ERR, filename, line, 0, "Unable to read IAID: %s", rvalue);
+ return r;
+ }
+
+ *((be32_t *)data) = htobe32(iaid_value);
+
+ return 0;
+}
+
void serialize_in_addrs(FILE *f, const struct in_addr *addresses, size_t size) {
unsigned i;