summaryrefslogtreecommitdiffstats
path: root/NetworkPkg/Dhcp6Dxe/Dhcp6Impl.h
diff options
context:
space:
mode:
authorsfu5 <sfu5@6f19259b-4bc3-4df7-8a09-765794883524>2013-01-08 08:28:11 +0000
committersfu5 <sfu5@6f19259b-4bc3-4df7-8a09-765794883524>2013-01-08 08:28:11 +0000
commit685e44a546ac3744d04cdce12d27d07f96831e7c (patch)
tree8ca0f58c88757b8e857fb782ec3f7a29d827714e /NetworkPkg/Dhcp6Dxe/Dhcp6Impl.h
parent6ed1ec5946efbfa78c14d21374525323d54d5462 (diff)
downloadedk2-685e44a546ac3744d04cdce12d27d07f96831e7c.tar.gz
edk2-685e44a546ac3744d04cdce12d27d07f96831e7c.tar.bz2
edk2-685e44a546ac3744d04cdce12d27d07f96831e7c.zip
Fix several RFC compliance issues in DHCP6 driver as below.
1. Client must ignore any Advertise message that includes a Status Code option containing the value NoAddrsAvail. 2. The elapsed-time should start from the current DHCP transaction. 3. Client should not change any information about addresses the client has recorded in the IA but not included in the IA from the server. 4. Client need to update to handle the error status code UnspecFail/UseMulticast/NotOnLink/NoBinding in the Reply message from server. 5. When the client receives a Reply message in response to a Renew/ Rebind message, the client examines each IA independently. For each IA in the original Renew/ Rebind message, the client sends a Renew/ Rebind if the IA is not in the Reply message. 6. Client should uses network byte order in IANA T1/T2 option 7. Client should discard any addresses for which the preferred lifetime is greater than the valid lifetime. Signed-off-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com> Reviewed-by: Ouyang Qian <qian.ouyang@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14039 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'NetworkPkg/Dhcp6Dxe/Dhcp6Impl.h')
-rw-r--r--NetworkPkg/Dhcp6Dxe/Dhcp6Impl.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/NetworkPkg/Dhcp6Dxe/Dhcp6Impl.h b/NetworkPkg/Dhcp6Dxe/Dhcp6Impl.h
index 71b16b1919..e3e7553163 100644
--- a/NetworkPkg/Dhcp6Dxe/Dhcp6Impl.h
+++ b/NetworkPkg/Dhcp6Dxe/Dhcp6Impl.h
@@ -249,6 +249,10 @@ struct _DHCP6_INSTANCE {
volatile EFI_STATUS UdpSts;
BOOLEAN InDestroy;
BOOLEAN MediaPresent;
+ //
+ // StartTime is used to calculate the 'elapsed-time' option. Refer to RFC3315,
+ // the elapsed-time is amount of time since the client began its current DHCP transaction.
+ //
UINT64 StartTime;
};