A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
lr-wpan-mac-header.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2011 The Boeing Company
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation;
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program; if not, write to the Free Software
15
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
*
17
* Author: kwong yin <kwong-sang.yin@boeing.com>
18
*/
19
20
/*
21
* the following classes implements the 802.15.4 Mac Header
22
* There are 4 types of 802.15.4 Mac Headers Frames, and they have these fields
23
*
24
* Headers Frames : Fields
25
* -------------------------------------------------------------------------------------------
26
* Beacon : Frame Control, Sequence Number, Address Fields+, Auxiliary Security
27
* Header++. Data : Frame Control, Sequence Number, Address Fields++, Auxiliary Security
28
* Header++. Acknowledgment : Frame Control, Sequence Number. Command : Frame Control,
29
* Sequence Number, Address Fields++, Auxiliary Security Header++.
30
*
31
* + - The Address fields in Beacon frame is made up of the Source PAN Id and address only and
32
* size is 4 or 8 octets whereas the other frames may contain the Destination PAN Id and address as
33
* well. (see specs).
34
* ++ - These fields are optional and of variable size
35
*/
36
37
#ifndef LR_WPAN_MAC_HEADER_H
38
#define LR_WPAN_MAC_HEADER_H
39
40
#include <ns3/header.h>
41
#include <ns3/mac16-address.h>
42
#include <ns3/mac64-address.h>
43
44
namespace
ns3
45
{
46
51
class
LrWpanMacHeader
:
public
Header
52
{
53
public
:
57
enum
LrWpanMacType
58
{
59
LRWPAN_MAC_BEACON
= 0,
60
LRWPAN_MAC_DATA
= 1,
61
LRWPAN_MAC_ACKNOWLEDGMENT
= 2,
62
LRWPAN_MAC_COMMAND
= 3,
63
LRWPAN_MAC_RESERVED
64
};
65
69
enum
AddrModeType
70
{
71
NOADDR
= 0,
72
RESADDR
= 1,
73
SHORTADDR
= 2,
74
EXTADDR
= 3
75
};
76
80
enum
KeyIdModeType
81
{
82
IMPLICIT
= 0,
83
NOKEYSOURCE
= 1,
84
SHORTKEYSOURCE
= 2,
85
LONGKEYSOURCE
= 3
86
};
87
88
LrWpanMacHeader
();
89
99
LrWpanMacHeader
(
LrWpanMacType
wpanMacType, uint8_t seqNum);
100
101
~LrWpanMacHeader
()
override
;
102
107
LrWpanMacType
GetType
()
const
;
112
uint16_t
GetFrameControl
()
const
;
117
bool
IsSecEnable
()
const
;
122
bool
IsFrmPend
()
const
;
127
bool
IsAckReq
()
const
;
132
bool
IsPanIdComp
()
const
;
137
uint8_t
GetFrmCtrlRes
()
const
;
142
uint8_t
GetDstAddrMode
()
const
;
147
uint8_t
GetFrameVer
()
const
;
152
uint8_t
GetSrcAddrMode
()
const
;
157
uint8_t
GetSeqNum
()
const
;
162
uint16_t
GetDstPanId
()
const
;
167
Mac16Address
GetShortDstAddr
()
const
;
172
Mac64Address
GetExtDstAddr
()
const
;
177
uint16_t
GetSrcPanId
()
const
;
182
Mac16Address
GetShortSrcAddr
()
const
;
187
Mac64Address
GetExtSrcAddr
()
const
;
192
uint8_t
GetSecControl
()
const
;
197
uint32_t
GetFrmCounter
()
const
;
198
203
uint8_t
GetSecLevel
()
const
;
208
uint8_t
GetKeyIdMode
()
const
;
213
uint8_t
GetSecCtrlReserved
()
const
;
218
uint32_t
GetKeyIdSrc32
()
const
;
223
uint64_t
GetKeyIdSrc64
()
const
;
228
uint8_t
GetKeyIdIndex
()
const
;
233
bool
IsBeacon
()
const
;
238
bool
IsData
()
const
;
243
bool
IsAcknowledgment
()
const
;
248
bool
IsCommand
()
const
;
253
void
SetType
(
LrWpanMacType
wpanMacType);
258
void
SetFrameControl
(uint16_t frameControl);
262
void
SetSecEnable
();
266
void
SetSecDisable
();
270
void
SetFrmPend
();
274
void
SetNoFrmPend
();
278
void
SetAckReq
();
282
void
SetNoAckReq
();
286
void
SetPanIdComp
();
290
void
SetNoPanIdComp
();
295
void
SetFrmCtrlRes
(uint8_t
res
);
300
void
SetDstAddrMode
(uint8_t addrMode);
305
void
SetFrameVer
(uint8_t ver);
310
void
SetSrcAddrMode
(uint8_t addrMode);
315
void
SetSeqNum
(uint8_t seqNum);
316
/* The Source/Destination Addressing fields are only set if SrcAddrMode/DstAddrMode are set */
322
void
SetSrcAddrFields
(uint16_t panId,
Mac16Address
addr);
328
void
SetSrcAddrFields
(uint16_t panId,
Mac64Address
addr);
334
void
SetDstAddrFields
(uint16_t panId,
Mac16Address
addr);
340
void
SetDstAddrFields
(uint16_t panId,
Mac64Address
addr);
341
342
/* Auxiliary Security Header is only set if Sec Enable (SecU) field is set to 1 */
347
void
SetSecControl
(uint8_t secLevel);
352
void
SetFrmCounter
(uint32_t frmCntr);
357
void
SetSecLevel
(uint8_t secLevel);
362
void
SetKeyIdMode
(uint8_t keyIdMode);
367
void
SetSecCtrlReserved
(uint8_t
res
);
368
/* Variable length will be dependent on Key Id Mode*/
373
void
SetKeyId
(uint8_t keyIndex);
379
void
SetKeyId
(uint32_t keySrc, uint8_t keyIndex);
385
void
SetKeyId
(uint64_t keySrc, uint8_t keyIndex);
390
static
TypeId
GetTypeId
();
391
TypeId
GetInstanceTypeId
()
const override
;
392
393
void
Print
(std::ostream& os)
const override
;
394
uint32_t
GetSerializedSize
()
const override
;
395
void
Serialize
(
Buffer::Iterator
start
)
const override
;
396
uint32_t
Deserialize
(
Buffer::Iterator
start
)
override
;
397
398
private
:
399
/* Frame Control 2 Octets */
400
/* Frame Control field - see 7.2.1.1 */
401
uint8_t
m_fctrlFrmType
;
403
uint8_t
m_fctrlSecU
;
405
uint8_t
m_fctrlFrmPending
;
406
uint8_t
m_fctrlAckReq
;
407
uint8_t
m_fctrlPanIdComp
;
409
uint8_t
m_fctrlReserved
;
410
uint8_t
m_fctrlDstAddrMode
;
412
uint8_t
m_fctrlFrmVer
;
413
uint8_t
m_fctrlSrcAddrMode
;
415
416
/* Sequence Number */
417
uint8_t
m_SeqNum
;
418
419
/* Addressing fields */
420
uint16_t
m_addrDstPanId
;
421
Mac16Address
m_addrShortDstAddr
;
422
Mac64Address
m_addrExtDstAddr
;
423
uint16_t
m_addrSrcPanId
;
424
Mac16Address
m_addrShortSrcAddr
;
425
Mac64Address
m_addrExtSrcAddr
;
426
427
/* Auxiliary Security Header - See 7.6.2 - 0, 5, 6, 10 or 14 Octets */
428
// uint8_t m_auxSecCtrl; // 1 Octet see below
429
uint32_t
m_auxFrmCntr
;
430
431
/* Security Control fields - See 7.6.2.2 */
432
uint8_t
m_secctrlSecLevel
;
433
uint8_t
m_secctrlKeyIdMode
;
435
// = 0 - Key is determined implicitly
436
// from originator and recipient
437
// = 1 - 1 Octet Key Index
438
// = 2 - 1 Octet Key Index and 4 oct Key src
439
// = 3 - 1 Octet Key Index and 8 oct Key src
440
441
uint8_t
m_secctrlReserved
;
442
443
union
{
444
uint32_t
m_auxKeyIdKeySrc32
;
445
uint64_t
m_auxKeyIdKeySrc64
;
446
};
447
448
uint8_t
m_auxKeyIdKeyIndex
;
449
450
};
// LrWpanMacHeader
451
452
};
// namespace ns3
453
454
#endif
/* LR_WPAN_MAC_HEADER_H */
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition:
buffer.h:100
ns3::Header
Protocol header serialization and deserialization.
Definition:
header.h:44
ns3::Header::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)=0
Deserialize the object from a buffer iterator.
ns3::LrWpanMacHeader
Represent the Mac Header with the Frame Control and Sequence Number fields.
Definition:
lr-wpan-mac-header.h:52
ns3::LrWpanMacHeader::m_secctrlSecLevel
uint8_t m_secctrlSecLevel
Auxiliary security header - Security Control field - Bit 0-2.
Definition:
lr-wpan-mac-header.h:432
ns3::LrWpanMacHeader::m_fctrlDstAddrMode
uint8_t m_fctrlDstAddrMode
Frame Control field Bit 10-11 = 0 - No DstAddr, 2 - ShtDstAddr, 3 - ExtDstAddr.
Definition:
lr-wpan-mac-header.h:410
ns3::LrWpanMacHeader::m_auxFrmCntr
uint32_t m_auxFrmCntr
Auxiliary security header - Frame Counter (4 Octets)
Definition:
lr-wpan-mac-header.h:429
ns3::LrWpanMacHeader::GetSecControl
uint8_t GetSecControl() const
Get the Auxiliary Security Header - Security Control Octet.
Definition:
lr-wpan-mac-header.cc:187
ns3::LrWpanMacHeader::GetShortSrcAddr
Mac16Address GetShortSrcAddr() const
Get the Source Short address.
Definition:
lr-wpan-mac-header.cc:175
ns3::LrWpanMacHeader::LrWpanMacType
LrWpanMacType
The possible MAC types, see IEEE 802.15.4-2006, Table 79.
Definition:
lr-wpan-mac-header.h:58
ns3::LrWpanMacHeader::LRWPAN_MAC_BEACON
@ LRWPAN_MAC_BEACON
LRWPAN_MAC_BEACON.
Definition:
lr-wpan-mac-header.h:59
ns3::LrWpanMacHeader::LRWPAN_MAC_COMMAND
@ LRWPAN_MAC_COMMAND
LRWPAN_MAC_COMMAND.
Definition:
lr-wpan-mac-header.h:62
ns3::LrWpanMacHeader::LRWPAN_MAC_DATA
@ LRWPAN_MAC_DATA
LRWPAN_MAC_DATA.
Definition:
lr-wpan-mac-header.h:60
ns3::LrWpanMacHeader::LRWPAN_MAC_ACKNOWLEDGMENT
@ LRWPAN_MAC_ACKNOWLEDGMENT
LRWPAN_MAC_ACKNOWLEDGMENT.
Definition:
lr-wpan-mac-header.h:61
ns3::LrWpanMacHeader::LRWPAN_MAC_RESERVED
@ LRWPAN_MAC_RESERVED
LRWPAN_MAC_RESERVED.
Definition:
lr-wpan-mac-header.h:63
ns3::LrWpanMacHeader::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition:
lr-wpan-mac-header.cc:443
ns3::LrWpanMacHeader::IsCommand
bool IsCommand() const
Returns true if the header is a command.
Definition:
lr-wpan-mac-header.cc:259
ns3::LrWpanMacHeader::m_fctrlReserved
uint8_t m_fctrlReserved
Frame Control field Bit 7-9.
Definition:
lr-wpan-mac-header.h:409
ns3::LrWpanMacHeader::m_SeqNum
uint8_t m_SeqNum
Sequence Number (1 Octet)
Definition:
lr-wpan-mac-header.h:417
ns3::LrWpanMacHeader::SetSecEnable
void SetSecEnable()
Set the Frame Control field "Security Enabled" bit to true.
Definition:
lr-wpan-mac-header.cc:285
ns3::LrWpanMacHeader::m_auxKeyIdKeySrc32
uint32_t m_auxKeyIdKeySrc32
Auxiliary security header - Key Source (4 Octets)
Definition:
lr-wpan-mac-header.h:444
ns3::LrWpanMacHeader::IsBeacon
bool IsBeacon() const
Returns true if the header is a beacon.
Definition:
lr-wpan-mac-header.cc:241
ns3::LrWpanMacHeader::SetKeyIdMode
void SetKeyIdMode(uint8_t keyIdMode)
Set the Security Control field "Key Identifier Mode" bits (2 bits)
Definition:
lr-wpan-mac-header.cc:411
ns3::LrWpanMacHeader::m_addrShortSrcAddr
Mac16Address m_addrShortSrcAddr
Src Short addr (0 or 2 Octets)
Definition:
lr-wpan-mac-header.h:424
ns3::LrWpanMacHeader::GetExtSrcAddr
Mac64Address GetExtSrcAddr() const
Get the Source Extended address.
Definition:
lr-wpan-mac-header.cc:181
ns3::LrWpanMacHeader::m_secctrlReserved
uint8_t m_secctrlReserved
Auxiliary security header - Security Control field - Bit 5-7.
Definition:
lr-wpan-mac-header.h:441
ns3::LrWpanMacHeader::SetType
void SetType(LrWpanMacType wpanMacType)
Set the Frame Control field "Frame Type" bits.
Definition:
lr-wpan-mac-header.cc:265
ns3::LrWpanMacHeader::SetFrmCtrlRes
void SetFrmCtrlRes(uint8_t res)
Set the Frame Control field "Reserved" bits.
Definition:
lr-wpan-mac-header.cc:333
ns3::LrWpanMacHeader::~LrWpanMacHeader
~LrWpanMacHeader() override
Definition:
lr-wpan-mac-header.cc:57
ns3::LrWpanMacHeader::SetNoPanIdComp
void SetNoPanIdComp()
Set the Frame Control field "PAN ID Compression" bit to false.
Definition:
lr-wpan-mac-header.cc:327
ns3::LrWpanMacHeader::GetKeyIdIndex
uint8_t GetKeyIdIndex() const
Get the Auxiliary Security Header - Key Identifier - Key Index.
Definition:
lr-wpan-mac-header.cc:235
ns3::LrWpanMacHeader::SetSeqNum
void SetSeqNum(uint8_t seqNum)
Set the Sequence number.
Definition:
lr-wpan-mac-header.cc:357
ns3::LrWpanMacHeader::GetSrcAddrMode
uint8_t GetSrcAddrMode() const
Get the Source Addressing Mode of Frame control field.
Definition:
lr-wpan-mac-header.cc:139
ns3::LrWpanMacHeader::IsPanIdComp
bool IsPanIdComp() const
Check if PAN ID Compression bit of Frame Control is enabled.
Definition:
lr-wpan-mac-header.cc:115
ns3::LrWpanMacHeader::SetPanIdComp
void SetPanIdComp()
Set the Frame Control field "PAN ID Compression" bit to true.
Definition:
lr-wpan-mac-header.cc:321
ns3::LrWpanMacHeader::SetSrcAddrMode
void SetSrcAddrMode(uint8_t addrMode)
Set the Source address mode.
Definition:
lr-wpan-mac-header.cc:351
ns3::LrWpanMacHeader::SetFrmPend
void SetFrmPend()
Set the Frame Control field "Frame Pending" bit to true.
Definition:
lr-wpan-mac-header.cc:297
ns3::LrWpanMacHeader::GetFrmCounter
uint32_t GetFrmCounter() const
Get the Auxiliary Security Header - Frame Counter Octets.
Definition:
lr-wpan-mac-header.cc:199
ns3::LrWpanMacHeader::GetFrmCtrlRes
uint8_t GetFrmCtrlRes() const
Get the Reserved bits of Frame control field.
Definition:
lr-wpan-mac-header.cc:121
ns3::LrWpanMacHeader::m_fctrlAckReq
uint8_t m_fctrlAckReq
Frame Control field Bit 5.
Definition:
lr-wpan-mac-header.h:406
ns3::LrWpanMacHeader::m_fctrlPanIdComp
uint8_t m_fctrlPanIdComp
Frame Control field Bit 6 = 0 - no compression, 1 - using only DstPanId for both Src and DstPanId.
Definition:
lr-wpan-mac-header.h:407
ns3::LrWpanMacHeader::GetDstAddrMode
uint8_t GetDstAddrMode() const
Get the Dest.
Definition:
lr-wpan-mac-header.cc:127
ns3::LrWpanMacHeader::SetNoFrmPend
void SetNoFrmPend()
Set the Frame Control field "Frame Pending" bit to false.
Definition:
lr-wpan-mac-header.cc:303
ns3::LrWpanMacHeader::SetSecDisable
void SetSecDisable()
Set the Frame Control field "Security Enabled" bit to false.
Definition:
lr-wpan-mac-header.cc:291
ns3::LrWpanMacHeader::GetFrameControl
uint16_t GetFrameControl() const
Get the Frame control field.
Definition:
lr-wpan-mac-header.cc:80
ns3::LrWpanMacHeader::SetSrcAddrFields
void SetSrcAddrFields(uint16_t panId, Mac16Address addr)
Set Source address fields.
Definition:
lr-wpan-mac-header.cc:363
ns3::LrWpanMacHeader::Print
void Print(std::ostream &os) const override
Definition:
lr-wpan-mac-header.cc:459
ns3::LrWpanMacHeader::GetKeyIdSrc64
uint64_t GetKeyIdSrc64() const
Get the Auxiliary Security Header - Key Identifier - Key Source (4 Octets)
Definition:
lr-wpan-mac-header.cc:229
ns3::LrWpanMacHeader::IsFrmPend
bool IsFrmPend() const
Check if Frame Pending bit of Frame Control is enabled.
Definition:
lr-wpan-mac-header.cc:103
ns3::LrWpanMacHeader::GetSerializedSize
uint32_t GetSerializedSize() const override
Definition:
lr-wpan-mac-header.cc:526
ns3::LrWpanMacHeader::IsAcknowledgment
bool IsAcknowledgment() const
Returns true if the header is an ack.
Definition:
lr-wpan-mac-header.cc:253
ns3::LrWpanMacHeader::IsData
bool IsData() const
Returns true if the header is a data.
Definition:
lr-wpan-mac-header.cc:247
ns3::LrWpanMacHeader::m_fctrlSrcAddrMode
uint8_t m_fctrlSrcAddrMode
Frame Control field Bit 14-15 = 0 - No SrcAddr, 2 - ShtSrcAddr, 3 - ExtSrcAddr.
Definition:
lr-wpan-mac-header.h:413
ns3::LrWpanMacHeader::m_fctrlFrmType
uint8_t m_fctrlFrmType
Frame Control field Bit 0-2 = 0 - Beacon, 1 - Data, 2 - Ack, 3 - Command.
Definition:
lr-wpan-mac-header.h:401
ns3::LrWpanMacHeader::GetKeyIdMode
uint8_t GetKeyIdMode() const
Get the Auxiliary Security Header - Security Control - Key Identifier Mode bits.
Definition:
lr-wpan-mac-header.cc:211
ns3::LrWpanMacHeader::GetKeyIdSrc32
uint32_t GetKeyIdSrc32() const
Get the Auxiliary Security Header - Key Identifier - Key Source (2 Octets)
Definition:
lr-wpan-mac-header.cc:223
ns3::LrWpanMacHeader::SetDstAddrFields
void SetDstAddrFields(uint16_t panId, Mac16Address addr)
Set Destination address fields.
Definition:
lr-wpan-mac-header.cc:377
ns3::LrWpanMacHeader::GetSeqNum
uint8_t GetSeqNum() const
Get the frame Sequence number.
Definition:
lr-wpan-mac-header.cc:145
ns3::LrWpanMacHeader::SetDstAddrMode
void SetDstAddrMode(uint8_t addrMode)
Set the Destination address mode.
Definition:
lr-wpan-mac-header.cc:339
ns3::LrWpanMacHeader::SetFrmCounter
void SetFrmCounter(uint32_t frmCntr)
Set the auxiliary security header "Frame Counter" octet.
Definition:
lr-wpan-mac-header.cc:399
ns3::LrWpanMacHeader::m_secctrlKeyIdMode
uint8_t m_secctrlKeyIdMode
Auxiliary security header - Security Control field - Bit 3-4 will indicate size of Key Id.
Definition:
lr-wpan-mac-header.h:433
ns3::LrWpanMacHeader::SetNoAckReq
void SetNoAckReq()
Set the Frame Control field "Ack. Request" bit to false.
Definition:
lr-wpan-mac-header.cc:315
ns3::LrWpanMacHeader::m_auxKeyIdKeySrc64
uint64_t m_auxKeyIdKeySrc64
Auxiliary security header - Key Source (8 Octets)
Definition:
lr-wpan-mac-header.h:445
ns3::LrWpanMacHeader::AddrModeType
AddrModeType
The addressing mode types, see IEEE 802.15.4-2006, Table 80.
Definition:
lr-wpan-mac-header.h:70
ns3::LrWpanMacHeader::RESADDR
@ RESADDR
Definition:
lr-wpan-mac-header.h:72
ns3::LrWpanMacHeader::NOADDR
@ NOADDR
Definition:
lr-wpan-mac-header.h:71
ns3::LrWpanMacHeader::SHORTADDR
@ SHORTADDR
Definition:
lr-wpan-mac-header.h:73
ns3::LrWpanMacHeader::EXTADDR
@ EXTADDR
Definition:
lr-wpan-mac-header.h:74
ns3::LrWpanMacHeader::GetExtDstAddr
Mac64Address GetExtDstAddr() const
Get the Destination Extended address.
Definition:
lr-wpan-mac-header.cc:163
ns3::LrWpanMacHeader::IsSecEnable
bool IsSecEnable() const
Check if Security Enabled bit of Frame Control is enabled.
Definition:
lr-wpan-mac-header.cc:97
ns3::LrWpanMacHeader::LrWpanMacHeader
LrWpanMacHeader()
Definition:
lr-wpan-mac-header.cc:30
ns3::LrWpanMacHeader::m_fctrlFrmPending
uint8_t m_fctrlFrmPending
Frame Control field Bit 4.
Definition:
lr-wpan-mac-header.h:405
ns3::LrWpanMacHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Definition:
lr-wpan-mac-header.cc:604
ns3::LrWpanMacHeader::SetFrameControl
void SetFrameControl(uint16_t frameControl)
Set the whole Frame Control field.
Definition:
lr-wpan-mac-header.cc:271
ns3::LrWpanMacHeader::SetSecCtrlReserved
void SetSecCtrlReserved(uint8_t res)
Set the Security Control field "Reserved" bits (3 bits)
Definition:
lr-wpan-mac-header.cc:417
ns3::LrWpanMacHeader::GetSecLevel
uint8_t GetSecLevel() const
Get the Auxiliary Security Header - Security Control - Security Level bits.
Definition:
lr-wpan-mac-header.cc:205
ns3::LrWpanMacHeader::GetInstanceTypeId
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition:
lr-wpan-mac-header.cc:453
ns3::LrWpanMacHeader::SetSecLevel
void SetSecLevel(uint8_t secLevel)
Set the Security Control field "Security Level" bits (3 bits)
Definition:
lr-wpan-mac-header.cc:405
ns3::LrWpanMacHeader::GetSecCtrlReserved
uint8_t GetSecCtrlReserved() const
Get the Auxiliary Security Header - Security Control - Reserved bits.
Definition:
lr-wpan-mac-header.cc:217
ns3::LrWpanMacHeader::GetType
LrWpanMacType GetType() const
Get the header type.
Definition:
lr-wpan-mac-header.cc:62
ns3::LrWpanMacHeader::GetDstPanId
uint16_t GetDstPanId() const
Get the Destination PAN ID.
Definition:
lr-wpan-mac-header.cc:151
ns3::LrWpanMacHeader::GetFrameVer
uint8_t GetFrameVer() const
Get the Frame Version of Frame control field.
Definition:
lr-wpan-mac-header.cc:133
ns3::LrWpanMacHeader::SetKeyId
void SetKeyId(uint8_t keyIndex)
Set the Key Index.
Definition:
lr-wpan-mac-header.cc:423
ns3::LrWpanMacHeader::m_addrExtSrcAddr
Mac64Address m_addrExtSrcAddr
Src Ext addr (0 or 8 Octets)
Definition:
lr-wpan-mac-header.h:425
ns3::LrWpanMacHeader::m_addrExtDstAddr
Mac64Address m_addrExtDstAddr
Dst Ext addr (0 or 8 Octets)
Definition:
lr-wpan-mac-header.h:422
ns3::LrWpanMacHeader::m_addrDstPanId
uint16_t m_addrDstPanId
Dst PAN id (0 or 2 Octets)
Definition:
lr-wpan-mac-header.h:420
ns3::LrWpanMacHeader::SetFrameVer
void SetFrameVer(uint8_t ver)
Set the Frame version.
Definition:
lr-wpan-mac-header.cc:345
ns3::LrWpanMacHeader::m_addrShortDstAddr
Mac16Address m_addrShortDstAddr
Dst Short addr (0 or 2 Octets)
Definition:
lr-wpan-mac-header.h:421
ns3::LrWpanMacHeader::GetSrcPanId
uint16_t GetSrcPanId() const
Get the Source PAN ID.
Definition:
lr-wpan-mac-header.cc:169
ns3::LrWpanMacHeader::m_addrSrcPanId
uint16_t m_addrSrcPanId
Src PAN id (0 or 2 Octets)
Definition:
lr-wpan-mac-header.h:423
ns3::LrWpanMacHeader::m_fctrlFrmVer
uint8_t m_fctrlFrmVer
Frame Control field Bit 12-13.
Definition:
lr-wpan-mac-header.h:412
ns3::LrWpanMacHeader::KeyIdModeType
KeyIdModeType
The addressing mode types, see IEEE 802.15.4-2006, Table 80.
Definition:
lr-wpan-mac-header.h:81
ns3::LrWpanMacHeader::IMPLICIT
@ IMPLICIT
Definition:
lr-wpan-mac-header.h:82
ns3::LrWpanMacHeader::SHORTKEYSOURCE
@ SHORTKEYSOURCE
Definition:
lr-wpan-mac-header.h:84
ns3::LrWpanMacHeader::NOKEYSOURCE
@ NOKEYSOURCE
Definition:
lr-wpan-mac-header.h:83
ns3::LrWpanMacHeader::LONGKEYSOURCE
@ LONGKEYSOURCE
Definition:
lr-wpan-mac-header.h:85
ns3::LrWpanMacHeader::m_auxKeyIdKeyIndex
uint8_t m_auxKeyIdKeyIndex
Auxiliary security header - Key Index (1 Octet)
Definition:
lr-wpan-mac-header.h:448
ns3::LrWpanMacHeader::IsAckReq
bool IsAckReq() const
Check if Ack.
Definition:
lr-wpan-mac-header.cc:109
ns3::LrWpanMacHeader::m_fctrlSecU
uint8_t m_fctrlSecU
Frame Control field Bit 3 = 0 - no AuxSecHdr , 1 - security enabled AuxSecHdr present.
Definition:
lr-wpan-mac-header.h:403
ns3::LrWpanMacHeader::SetSecControl
void SetSecControl(uint8_t secLevel)
Set the auxiliary security header "Security Control" octet.
Definition:
lr-wpan-mac-header.cc:391
ns3::LrWpanMacHeader::GetShortDstAddr
Mac16Address GetShortDstAddr() const
Get the Destination Short address.
Definition:
lr-wpan-mac-header.cc:157
ns3::LrWpanMacHeader::SetAckReq
void SetAckReq()
Set the Frame Control field "Ack. Request" bit to true.
Definition:
lr-wpan-mac-header.cc:309
ns3::Mac16Address
This class can contain 16 bit addresses.
Definition:
mac16-address.h:44
ns3::Mac64Address
an EUI-64 address
Definition:
mac64-address.h:46
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:59
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
two-ray-to-three-gpp-ch-calibration.start
start
Definition:
two-ray-to-three-gpp-ch-calibration.py:520
two-ray-to-three-gpp-ch-calibration.res
res
Definition:
two-ray-to-three-gpp-ch-calibration.py:549
src
lr-wpan
model
lr-wpan-mac-header.h
Generated on Sun Mar 3 2024 17:11:00 for ns-3 by
1.9.1