解码IP包

概括

公共属性

ackMsgId
uint32_t
checksum
uint16_t
destAddr [NL_IP6_ADDR_LEN_IN_BYTES]
uint8_t
destNodeId
uint64_t
destPort
uint16_t
encryptionType
uint8_t
exchFlags
uint8_t
exchangeId
uint16_t
icmpv6Code
uint8_t
icmpv6Type
uint8_t
ipPktSize
uint16_t
ipProtoType
uint8_t
ipProtoVersion
uint8_t
keyId
uint8_t
messageId
uint32_t
msgHdrFlags
uint16_t
msgType
uint16_t
profileId
uint32_t
srcAddr [NL_IP6_ADDR_LEN_IN_BYTES]
uint8_t
srcNodeId
uint64_t
srcPort
uint16_t

公共职能

DoesPacketHaveWeaveMessage (void) const
bool
检查解码后的数据包是否包含 Weave 消息。
PacketHeaderDecode (const uint8_t *pkt, uint16_t pktLen)
解析和解码 IP、UDP/TCP 和 Weave 标头的字段。

公共属性

确认消息标识

uint32_t ackMsgId

校验和

uint16_t checksum

目标地址

uint8_t destAddr[NL_IP6_ADDR_LEN_IN_BYTES]

目标节点ID

uint64_t destNodeId

目的端口

uint16_t destPort

加密类型

uint8_t encryptionType

交换标志

uint8_t exchFlags

交换ID

uint16_t exchangeId

icmpv6代码

uint8_t icmpv6Code

icmpv6 类型

uint8_t icmpv6Type

包大小

uint16_t ipPktSize

ip原型

uint8_t ipProtoType

ipProto版本

uint8_t ipProtoVersion

密钥 ID

uint8_t keyId

消息标识

uint32_t messageId

msgHdrFlags

uint16_t msgHdrFlags

消息类型

uint16_t msgType

个人资料ID

uint32_t profileId

源地址

uint8_t srcAddr[NL_IP6_ADDR_LEN_IN_BYTES]

源节点ID

uint64_t srcNodeId

源端口

uint16_t srcPort

公共职能

是否PacketHaveWeaveMessage

bool DoesPacketHaveWeaveMessage(
  void
) const 

检查解码后的数据包是否包含 Weave 消息。

包头解码

WEAVE_ERROR PacketHeaderDecode(
  const uint8_t *pkt,
  uint16_t pktLen
)

解析和解码 IP、UDP/TCP 和 Weave 标头的字段。

细节
参数
[in] p
指向 IP 数据包的指针。
[in] pktLen
IP 数据包的长度。
退货
解析数据包时 INET_ERROR 或成功时 INET_NO_ERROR。