DHCP: implement simple Server/Client (solicit/reply) (#884)

* DHCP implementation
- implementation Dhcp client/server (solicit/reply)
- two build options --enable-dhcp6-server  --enable-dhcp6-client (default disable)
- add Cert_5_3_09_AddressQuery for Dhcp Client/Server test in travis
This commit is contained in:
rongli
2016-11-01 12:38:56 +08:00
committed by Jonathan Hui
parent 196c28d022
commit 3001fc689c
36 changed files with 2844 additions and 33 deletions
+9 -1
View File
@@ -46,6 +46,7 @@
#include <openthread-diag.h>
#include <commissioning/commissioner.h>
#include <commissioning/joiner.h>
#include <dhcp6/dhcp6_client.h>
#include "cli.hpp"
#include "cli_dataset.hpp"
@@ -2469,8 +2470,15 @@ void Interpreter::HandleNetifStateChanged(uint32_t aFlags)
{
VerifyOrExit((aFlags & OT_THREAD_NETDATA_UPDATED) != 0, ;);
otSlaacUpdate(mInstance, mAutoAddresses, sizeof(mAutoAddresses) / sizeof(mAutoAddresses[0]), otCreateRandomIid,
otSlaacUpdate(mInstance, mSlaacAddresses, sizeof(mSlaacAddresses) / sizeof(mSlaacAddresses[0]), otCreateRandomIid,
NULL);
#if OPENTHREAD_ENABLE_DHCP6_SERVER
mInstance->mThreadNetif.GetDhcp6Server().UpdateService();
#endif // OPENTHREAD_ENABLE_DHCP6_SERVER
#if OPENTHREAD_ENABLE_DHCP6_CLIENT
otDhcp6ClientUpdate(mInstance, mDhcpAddresses, sizeof(mDhcpAddresses) / sizeof(mDhcpAddresses[0]), NULL);
#endif // OPENTHREAD_ENABLE_DHCP6_CLIENT
exit:
return;