mirror of
https://github.com/espressif/openthread.git
synced 2026-08-12 05:37:46 +00:00
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:
+9
-1
@@ -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;
|
||||
|
||||
+5
-1
@@ -45,6 +45,7 @@
|
||||
#include <cli/cli_server.hpp>
|
||||
#include <net/icmp6.hpp>
|
||||
#include <common/timer.hpp>
|
||||
#include <dhcp6/dhcp6_client.h>
|
||||
|
||||
namespace Thread {
|
||||
|
||||
@@ -234,7 +235,10 @@ private:
|
||||
uint32_t sInterval;
|
||||
Timer sPingTimer;
|
||||
|
||||
otNetifAddress mAutoAddresses[kMaxAutoAddresses];
|
||||
otNetifAddress mSlaacAddresses[OPENTHREAD_CONFIG_NUM_SLAAC_ADDRESSES];
|
||||
#if OPENTHREAD_ENABLE_DHCP6_CLIENT
|
||||
otNetifAddress mDhcpAddresses[OPENTHREAD_CONFIG_NUM_DHCP_PREFIXES];
|
||||
#endif // OPENTHREAD_ENABLE_DHCP6_CLIENT
|
||||
|
||||
otInstance *mInstance;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user