summaryrefslogtreecommitdiff
path: root/src/libsystemd-network/dhcp6-lease-internal.h
diff options
context:
space:
mode:
authorPatrik Flykt <patrik.flykt@linux.intel.com>2014-06-25 16:54:30 +0300
committerPatrik Flykt <patrik.flykt@linux.intel.com>2014-06-26 16:10:47 +0300
commited6ee21953dac9c78383da00bc4514ece6b75ab5 (patch)
tree9c2b6215d998e2ec5ab039182884b1530baae77e /src/libsystemd-network/dhcp6-lease-internal.h
parent3dc34fcc97b41f8b7b019027225b121dfbb9871d (diff)
sd-dhcp6-client: Implement Rapid Commit
Add a Rapid Commit option to Solicit messages and expect a Reply to be received instead of an Advertise. When receiving a DHCPv6 message from the server in state Solicit, continue testing whether the message is a Reply. Ease up the message type checking, it's not fatal if the message is of a wrong type. Add helper functions to set/get the rapid commit of a lease. See RFC 3315, sections 17., 17.1.2., 17.1.4. and 18.1.8.
Diffstat (limited to 'src/libsystemd-network/dhcp6-lease-internal.h')
-rw-r--r--src/libsystemd-network/dhcp6-lease-internal.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libsystemd-network/dhcp6-lease-internal.h b/src/libsystemd-network/dhcp6-lease-internal.h
index 62c16c5b6d..109e0f4f21 100644
--- a/src/libsystemd-network/dhcp6-lease-internal.h
+++ b/src/libsystemd-network/dhcp6-lease-internal.h
@@ -35,6 +35,7 @@ struct sd_dhcp6_lease {
uint8_t *serverid;
size_t serverid_len;
uint8_t preference;
+ bool rapid_commit;
DHCP6IA ia;
@@ -50,6 +51,9 @@ int dhcp6_lease_set_serverid(sd_dhcp6_lease *lease, const uint8_t *id,
int dhcp6_lease_get_serverid(sd_dhcp6_lease *lease, uint8_t **id, size_t *len);
int dhcp6_lease_set_preference(sd_dhcp6_lease *lease, uint8_t preference);
int dhcp6_lease_get_preference(sd_dhcp6_lease *lease, uint8_t *preference);
+int dhcp6_lease_set_rapid_commit(sd_dhcp6_lease *lease);
+int dhcp6_lease_get_rapid_commit(sd_dhcp6_lease *lease, bool *rapid_commit);
+
int dhcp6_lease_get_iaid(sd_dhcp6_lease *lease, be32_t *iaid);
int dhcp6_lease_new(sd_dhcp6_lease **ret);