0.01.00
ot::Mle Namespace Reference

This namespace includes definitions for the MLE protocol. More...

Classes

class  ActiveTimestampTlv
 This class implements Active Timestamp TLV generation and parsing. More...
 
class  Address16Tlv
 This class implements Source Address TLV generation and parsing. More...
 
class  AddressRegistrationEntry
 This class implements Source Address TLV generation and parsing. More...
 
class  AddressRegistrationTlv
 This class implements Source Address TLV generation and parsing. More...
 
class  ChallengeTlv
 This class implements Source Address TLV generation and parsing. More...
 
class  ChannelTlv
 This class implements Channel TLV generation and parsing. More...
 
class  ConnectivityTlv
 This class implements Source Address TLV generation and parsing. More...
 
class  DelayedResponseHeader
 This class implements functionality required for delaying MLE responses. More...
 
class  Header
 This class implements MLE Header generation and parsing. More...
 
class  LeaderDataTlv
 This class implements Source Address TLV generation and parsing. More...
 
class  LinkFrameCounterTlv
 This class implements Source Address TLV generation and parsing. More...
 
class  LinkMarginTlv
 This class implements Source Address TLV generation and parsing. More...
 
class  Mle
 This class implements MLE functionality required by the Thread EndDevices, Router, and Leader roles. More...
 
class  MleFrameCounterTlv
 This class implements Source Address TLV generation and parsing. More...
 
class  MleRouter
 This class implements MLE functionality required by the Thread Router and Leader roles. More...
 
class  ModeTlv
 This class implements Source Address TLV generation and parsing. More...
 
class  NetworkDataTlv
 This class implements Source Address TLV generation and parsing. More...
 
class  PanIdTlv
 This class implements PAN ID TLV generation and parsing. More...
 
class  PendingTimestampTlv
 This class implements Pending Timestamp TLV generation and parsing. More...
 
class  ResponseTlv
 This class implements Source Address TLV generation and parsing. More...
 
class  RouteTlv
 This class implements Source Address TLV generation and parsing. More...
 
class  ScanMaskTlv
 This class implements Source Address TLV generation and parsing. More...
 
class  SourceAddressTlv
 This class implements Source Address TLV generation and parsing. More...
 
class  StatusTlv
 This class implements Source Address TLV generation and parsing. More...
 
class  TimeoutTlv
 This class implements Source Address TLV generation and parsing. More...
 
class  Tlv
 This class implements MLE TLV generation and parsing. More...
 
class  TlvRequestTlv
 This class implements Source Address TLV generation and parsing. More...
 
class  VersionTlv
 This class implements Source Address TLV generation and parsing. More...
 

Typedefs

typedef uint8_t TlvRequestIterator
 Used to iterate through TlvRequestTlv.
 

Enumerations

enum  AttachMode {
  kAttachAny = 0,
  kAttachSame1 = 1,
  kAttachSame2 = 2,
  kAttachBetter = 3
}
 MLE Attach modes. More...
 
enum  AlocAllocation {
  kAloc16Leader = 0xfc00,
  kAloc16DhcpAgentStart = 0xfc01,
  kAloc16DhcpAgentEnd = 0xfc0f,
  kAloc16DhcpAgentMask = 0x000f,
  kAloc16ServiceStart = 0xfc10,
  kAloc16ServiceEnd = 0xfc2f,
  kAloc16CommissionerStart = 0xfc30,
  kAloc16CommissionerEnd = 0xfc37,
  kAloc16NeighborDiscoveryAgentStart = 0xfc40,
  kAloc16NeighborDiscoveryAgentEnd = 0xfc4e
}
 This enumeration represents the allocation of the ALOC Space. More...
 
enum  ServiceID {
  kServiceMinId = 0x00,
  kServiceMaxId = 0x0f
}
 Service IDs. More...
 
enum  {
  kMaxChildren = OPENTHREAD_CONFIG_MAX_CHILDREN,
  kMaxChildKeepAliveAttempts = 4,
  kFailedChildTransmissions = 4
}
 
enum  {
  kVersion = 2,
  kUdpPort = 19788,
  kParentRequestRouterTimeout = 750,
  kParentRequestChildTimeout = 1250,
  kParentResponseMaxDelayRouters = 500,
  kParentResponseMaxDelayAll = 1000,
  kUnicastRetransmissionDelay = 1000,
  kMaxResponseDelay = 1000,
  kMaxChildIdRequestTimeout = 5000,
  kMaxChildUpdateResponseTimeout = 2000,
  kMaxLinkRequestTimeout = 2000,
  kMinTimeout = (((kMaxChildKeepAliveAttempts + 1) * kUnicastRetransmissionDelay) / 1000)
}
 MLE Protocol Constants. More...
 
enum  {
  kMinChildId = 1,
  kMaxChildId = 511,
  kRouterIdOffset = 10,
  kRlocPrefixLength = 14
}
 
enum  {
  kAdvertiseIntervalMin = 1,
  kAdvertiseIntervalMax = 32,
  kFailedRouterTransmissions = 4,
  kRouterIdReuseDelay = 100,
  kRouterIdSequencePeriod = 10,
  kMaxNeighborAge = 100,
  kMaxRouteCost = 16,
  kMaxRouterId = 62,
  kInvalidRouterId = kMaxRouterId + 1,
  kMaxRouters = 32,
  kMinDowngradeNeighbors = 7,
  kNetworkIdTimeout = 120,
  kParentRouteToLeaderTimeout = 20,
  kRouterSelectionJitter = 120,
  kRouterDowngradeThreshold = 23,
  kRouterUpgradeThreshold = 16,
  kMaxLeaderToRouterTimeout = 90,
  kReedAdvertiseInterval = 570,
  kReedAdvertiseJitter = 60,
  kLeaderWeight = 64,
  kMleEndDeviceTimeout = OPENTHREAD_CONFIG_DEFAULT_CHILD_TIMEOUT
}
 Routing Protocol Constants. More...
 
enum  {
  kParentPriorityHigh = 1,
  kParentPriorityMedium = 0,
  kParentPriorityLow = -1,
  kParentPriorityUnspecified = -2
}
 Parent Priority values. More...
 
enum  {
  kLinkQuality3LinkCost = 1,
  kLinkQuality2LinkCost = 2,
  kLinkQuality1LinkCost = 4,
  kLinkQuality0LinkCost = 16
}
 
enum  {
  kMplChildDataMessageTimerExpirations = 0,
  kMplRouterDataMessageTimerExpirations = 2
}
 Multicast Forwarding Constants. More...
 

Variables

OT_TOOL_PACKED_BEGIN class ot::Mle::Header OT_TOOL_PACKED_END
 

Detailed Description

This namespace includes definitions for the MLE protocol.

Enumeration Type Documentation

§ anonymous enum

anonymous enum
Enumerator
kMaxChildKeepAliveAttempts 

Maximum keep alive attempts before attempting to reattach to a new Parent.

kFailedChildTransmissions 

FAILED_CHILD_TRANSMISSIONS.

§ anonymous enum

anonymous enum

MLE Protocol Constants.

Enumerator
kVersion 

MLE Version.

kUdpPort 

MLE UDP Port.

kParentRequestRouterTimeout 

Router Request timeout.

kParentRequestChildTimeout 

End Device Request timeout.

kParentResponseMaxDelayRouters 

Maximum delay for response for Parent Request sent to routers only.

kParentResponseMaxDelayAll 

Maximum delay for response for Parent Request sent to all devices.

kUnicastRetransmissionDelay 

Base delay before retransmitting an MLE unicast.

kMaxResponseDelay 

Maximum delay before responding to a multicast request.

kMaxChildIdRequestTimeout 

Maximum delay for receiving a Child ID Request.

kMaxChildUpdateResponseTimeout 

Maximum delay for receiving a Child Update Response.

kMaxLinkRequestTimeout 

Maximum delay for receiving a Link Accept.

kMinTimeout 

Minimum timeout(s)

§ anonymous enum

anonymous enum
Enumerator
kMinChildId 

Minimum Child ID.

kMaxChildId 

Maximum Child ID.

kRouterIdOffset 

Bit offset of Router ID in RLOC16.

kRlocPrefixLength 

Prefix length of RLOC in bytes.

§ anonymous enum

anonymous enum

Routing Protocol Constants.

Enumerator
kAdvertiseIntervalMin 

ADVERTISEMENT_I_MIN (seconds)

kAdvertiseIntervalMax 

ADVERTISEMENT_I_MAX (seconds)

kFailedRouterTransmissions 

FAILED_ROUTER_TRANSMISSIONS.

kRouterIdReuseDelay 

ID_REUSE_DELAY (seconds)

kRouterIdSequencePeriod 

ID_SEQUENCE_PERIOD (seconds)

kMaxNeighborAge 

MAX_NEIGHBOR_AGE (seconds)

kMaxRouteCost 

MAX_ROUTE_COST.

kMaxRouterId 

MAX_ROUTER_ID.

kInvalidRouterId 

Value indicating incorrect Router Id.

kMaxRouters 

MAX_ROUTERS.

kMinDowngradeNeighbors 

MIN_DOWNGRADE_NEIGHBORS.

kNetworkIdTimeout 

NETWORK_ID_TIMEOUT (seconds)

kParentRouteToLeaderTimeout 

PARENT_ROUTE_TO_LEADER_TIMEOUT (seconds)

kRouterSelectionJitter 

ROUTER_SELECTION_JITTER (seconds)

kRouterDowngradeThreshold 

ROUTER_DOWNGRADE_THRESHOLD (routers)

kRouterUpgradeThreshold 

ROUTER_UPGRADE_THRESHOLD (routers)

kMaxLeaderToRouterTimeout 

INFINITE_COST_TIMEOUT (seconds)

kReedAdvertiseInterval 

REED_ADVERTISEMENT_INTERVAL (seconds)

kReedAdvertiseJitter 

REED_ADVERTISEMENT_JITTER (seconds)

kLeaderWeight 

Default leader weight for the Thread Network Partition.

kMleEndDeviceTimeout 

MLE_END_DEVICE_TIMEOUT (seconds)

§ anonymous enum

anonymous enum

Parent Priority values.

§ anonymous enum

anonymous enum
Enumerator
kLinkQuality3LinkCost 

Link Cost for Link Quality 3.

kLinkQuality2LinkCost 

Link Cost for Link Quality 2.

kLinkQuality1LinkCost 

Link Cost for Link Quality 1.

kLinkQuality0LinkCost 

Link Cost for Link Quality 0.

§ anonymous enum

anonymous enum

Multicast Forwarding Constants.

Enumerator
kMplChildDataMessageTimerExpirations 

Number of MPL retransmissions for Children.

kMplRouterDataMessageTimerExpirations 

Number of MPL retransmissions for Routers.