[ICMPv6] Allow application to register ICMPv6 handler. (#1380)

This commit is contained in:
Łukasz Duda
2017-02-24 12:13:59 -08:00
committed by Jonathan Hui
parent fc45943f8c
commit 4f35cdb854
18 changed files with 323 additions and 214 deletions
+6 -2
View File
@@ -218,7 +218,8 @@ private:
void ProcessVersion(int argc, char *argv[]);
void ProcessWhitelist(int argc, char *argv[]);
static void s_HandleEchoResponse(void *aContext, Message &aMessage, const Ip6::MessageInfo &aMessageInfo);
static void s_HandleIcmpReceive(void *aContext, otMessage aMessage, const otMessageInfo *aMessageInfo,
const otIcmp6Header *aIcmpHeader);
static void s_HandlePingTimer(void *aContext);
static void s_HandleActiveScanResult(otActiveScanResult *aResult, void *aContext);
static void s_HandleNetifStateChanged(uint32_t aFlags, void *aContext);
@@ -229,7 +230,8 @@ private:
static void s_HandleDiagnosticGetResponse(otMessage aMessage, const otMessageInfo *aMessageInfo, void *aContext);
static void s_HandleJoinerCallback(ThreadError aError, void *aContext);
void HandleEchoResponse(Message &aMessage, const Ip6::MessageInfo &aMessageInfo);
void HandleIcmpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageInfo,
const Ip6::IcmpHeader &aIcmpHeader);
void HandlePingTimer();
void HandleActiveScanResult(otActiveScanResult *aResult);
void HandleNetifStateChanged(uint32_t aFlags);
@@ -242,6 +244,7 @@ private:
static const struct Command sCommands[];
Ip6::MessageInfo sMessageInfo;
Server *sServer;
uint16_t sLength;
uint16_t sCount;
@@ -253,6 +256,7 @@ private:
otDhcpAddress mDhcpAddresses[OPENTHREAD_CONFIG_NUM_DHCP_PREFIXES];
#endif // OPENTHREAD_ENABLE_DHCP6_CLIENT
otIcmp6Handler mIcmpHandler;
otInstance *mInstance;
};